Exemplo n.º 1
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);
        }
Exemplo n.º 2
0
        public static void Fmov_Ftoi(AILEmitterCtx Context)
        {
            AOpCodeSimdCvt Op = (AOpCodeSimdCvt)Context.CurrOp;

            Context.EmitLdvecsi(Op.Rn);
            Context.EmitStintzr(Op.Rd);
        }
Exemplo n.º 3
0
        public static void Scvtf_S(AILEmitterCtx Context)
        {
            AOpCodeSimd Op = (AOpCodeSimd)Context.CurrOp;

            Context.EmitLdvecsi(Op.Rn);

            EmitFloatCast(Context, Op.Size);

            Context.EmitStvecsf(Op.Rd);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
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);
        }