コード例 #1
0
        public static void Fmov_Itof(AILEmitterCtx Context)
        {
            AOpCodeSimdCvt Op = (AOpCodeSimdCvt)Context.CurrOp;

            Context.EmitLdintzr(Op.Rn);
            Context.EmitStvecsi(Op.Rd);
        }
コード例 #2
0
        public static void Sub_S(AILEmitterCtx Context)
        {
            AOpCodeSimdReg Op = (AOpCodeSimdReg)Context.CurrOp;

            Context.EmitLdvecsi(Op.Rn);
            Context.EmitLdvecsi(Op.Rm);

            Context.Emit(OpCodes.Sub);

            Context.EmitStvecsi(Op.Rd);
        }
コード例 #3
0
        public static void Sshr_S(AILEmitterCtx Context)
        {
            AOpCodeSimdShImm Op = (AOpCodeSimdShImm)Context.CurrOp;

            Context.EmitLdvecsi(Op.Rn);
            Context.EmitLdc_I4((8 << (Op.Size + 1)) - Op.Imm);

            Context.Emit(OpCodes.Shr);

            Context.EmitStvecsi(Op.Rd);
        }
コード例 #4
0
        public static void Shl_S(AILEmitterCtx Context)
        {
            AOpCodeSimdShImm Op = (AOpCodeSimdShImm)Context.CurrOp;

            Context.EmitLdvecsi(Op.Rn);
            Context.EmitLdc_I4(Op.Imm - (8 << Op.Size));

            Context.Emit(OpCodes.Shl);

            Context.EmitStvecsi(Op.Rd);
        }