Home | History | Annotate | Download | only in priv

Lines Matching refs:dst

271 static X86Instr* mk_iMOVsd_RR ( HReg src, HReg dst )
274 vassert(hregClass(dst) == HRcInt32);
275 return X86Instr_Alu32R(Xalu_MOV, X86RMI_Reg(src), dst);
281 static X86Instr* mk_vMOVsd_RR ( HReg src, HReg dst )
284 vassert(hregClass(dst) == HRcVec128);
285 return X86Instr_SseReRg(Xsse_MOV, src, dst);
672 HReg dst = newVRegV(env);
673 /* Set dst to zero. If dst contains a NaN then all hell might
675 addInstr(env, X86Instr_SseReRg(Xsse_XOR, dst, dst));
677 addInstr(env, X86Instr_Sse32Fx4(Xsse_CMPEQF, dst, dst));
679 addInstr(env, X86Instr_SseReRg(Xsse_XOR, src, dst));
681 return dst;
749 HReg dst = newVRegI(env);
758 X86RMI_Mem(amode), dst) );
759 return dst;
762 addInstr(env, X86Instr_LoadEX(2,False,amode,dst));
763 return dst;
766 addInstr(env, X86Instr_LoadEX(1,False,amode,dst));
767 return dst;
779 HReg dst = newVRegI(env);
792 addInstr(env, mk_iMOVsd_RR(hregX86_EAX(), dst));
793 addInstr(env, X86Instr_Alu32R(Xalu_AND, X86RMI_Imm(0x4700), dst));
794 return dst;
807 HReg dst = newVRegI(env);
809 addInstr(env, mk_iMOVsd_RR(reg,dst));
810 addInstr(env, X86Instr_Unary32(Xun_NEG,dst));
811 return dst;
834 HReg dst = newVRegI(env);
837 addInstr(env, mk_iMOVsd_RR(reg,dst));
838 addInstr(env, X86Instr_Alu32R(aluOp, rmi, dst));
839 return dst;
871 HReg dst = newVRegI(env);
875 addInstr(env, mk_iMOVsd_RR(regL,dst));
881 Xalu_AND, X86RMI_Imm(0xFF), dst));
885 Xalu_AND, X86RMI_Imm(0xFFFF), dst));
888 addInstr(env, X86Instr_Sh32(Xsh_SHL, 24, dst));
889 addInstr(env, X86Instr_Sh32(Xsh_SAR, 24, dst));
892 addInstr(env, X86Instr_Sh32(Xsh_SHL, 16, dst));
893 addInstr(env, X86Instr_Sh32(Xsh_SAR, 16, dst));
908 addInstr(env, X86Instr_Sh32( shOp, nshift, dst ));
913 addInstr(env, X86Instr_Sh32(shOp, 0/* %cl */, dst));
915 return dst;
922 HReg dst = newVRegI(env);
924 addInstr(env, mk_iMOVsd_RR(src1,dst));
925 addInstr(env, X86Instr_Alu32R(Xalu_CMP, X86RMI_Reg(src2), dst));
926 addInstr(env, X86Instr_CMov32(Xcc_B, X86RM_Reg(src2), dst));
927 return dst;
982 HReg dst = newVRegI(env);
983 addInstr(env, X86Instr_FpCmp(fL,fR,dst));
986 addInstr(env, X86Instr_Sh32(Xsh_SHR, 8, dst));
987 return dst;
994 HReg dst = newVRegI(env);
1016 /* movzwl 0(%esp), %dst */
1017 addInstr(env, X86Instr_LoadEX(2,False,zero_esp,dst));
1019 /* movl 0(%esp), %dst */
1022 Xalu_MOV, X86RMI_Mem(zero_esp), dst));
1030 return dst;
1046 HReg dst = newVRegI(env);
1048 addInstr(env, mk_iMOVsd_RR(src,dst) );
1050 X86RMI_Imm(1), dst));
1051 return dst;
1062 HReg dst = newVRegI(env);
1064 addInstr(env, X86Instr_LoadEX(1,False,amode,dst));
1065 return dst;
1076 HReg dst = newVRegI(env);
1078 addInstr(env, X86Instr_LoadEX(1,True,amode,dst));
1079 return dst;
1090 HReg dst = newVRegI(env);
1092 addInstr(env, X86Instr_LoadEX(2,False,amode,dst));
1093 return dst;
1100 HReg dst;
1103 dst = newVRegI(env);
1106 addInstr(env, X86Instr_LoadEX(1,False,amode,dst));
1107 return dst;
1114 HReg dst;
1117 dst = newVRegI(env);
1120 addInstr(env, X86Instr_LoadEX(2,False,amode,dst));
1121 return dst;
1129 HReg dst = newVRegI(env);
1132 addInstr(env, mk_iMOVsd_RR(src,dst) );
1134 X86RMI_Imm(mask), dst));
1135 return dst;
1140 HReg dst = newVRegI(env);
1143 addInstr(env, mk_iMOVsd_RR(src,dst) );
1144 addInstr(env, X86Instr_Sh32(Xsh_SHL, amt, dst));
1145 addInstr(env, X86Instr_Sh32(Xsh_SAR, amt, dst));
1146 return dst;
1151 HReg dst = newVRegI(env);
1153 addInstr(env, mk_iMOVsd_RR(src,dst) );
1154 addInstr(env, X86Instr_Unary32(Xun_NOT,dst));
1155 return dst;
1169 HReg dst = newVRegI(env);
1172 addInstr(env, mk_iMOVsd_RR(src,dst) );
1173 addInstr(env, X86Instr_Sh32(Xsh_SHR, shift, dst));
1174 return dst;
1178 HReg dst = newVRegI(env);
1180 addInstr(env, X86Instr_Set32(cond,dst));
1181 return dst;
1187 HReg dst = newVRegI(env);
1189 addInstr(env, X86Instr_Set32(cond,dst));
1190 addInstr(env, X86Instr_Sh32(Xsh_SHL, 31, dst));
1191 addInstr(env, X86Instr_Sh32(Xsh_SAR, 31, dst));
1192 return dst;
1196 HReg dst = newVRegI(env);
1198 addInstr(env, X86Instr_Bsfr32(True,src,dst));
1199 return dst;
1206 HReg dst = newVRegI(env);
1210 X86RMI_Imm(31), dst));
1212 X86RMI_Reg(tmp), dst));
1213 return dst;
1217 HReg dst = newVRegI(env);
1219 addInstr(env, mk_iMOVsd_RR(src,dst));
1220 addInstr(env, X86Instr_Unary32(Xun_NEG,dst));
1222 X86RMI_Reg(src), dst));
1223 addInstr(env, X86Instr_Sh32(Xsh_SAR, 31, dst));
1224 return dst;
1229 HReg dst = newVRegI(env);
1231 addInstr(env, mk_iMOVsd_RR(src, dst));
1232 addInstr(env, X86Instr_Unary32(Xun_NEG, dst));
1233 addInstr(env, X86Instr_Alu32R(Xalu_OR, X86RMI_Reg(src), dst));
1234 return dst;
1238 HReg dst = newVRegI(env);
1243 addInstr(env, X86Instr_Alu32R( Xalu_MOV, X86RMI_Mem(esp0), dst ));
1245 return dst;
1254 HReg dst = newVRegI(env);
1263 /* movl 0(%esp), %dst */
1265 X86Instr_Alu32R(Xalu_MOV, X86RMI_Mem(zero_esp), dst));
1268 return dst;
1286 HReg dst = newVRegI(env);
1291 dst));
1292 return dst;
1295 HReg dst = newVRegI(env);
1300 dst));
1301 return dst;
1311 HReg dst = newVRegI(env);
1313 addInstr(env, X86Instr_LoadEX( 1, False, am, dst ));
1314 return dst;
1317 addInstr(env, X86Instr_Alu32R(Xalu_MOV, X86RMI_Mem(am), dst));
1318 return dst;
1325 HReg dst = newVRegI(env);
1336 addInstr(env, mk_iMOVsd_RR(hregX86_EAX(), dst));
1337 return dst;
1356 HReg dst = newVRegI(env);
1357 addInstr(env, mk_iMOVsd_RR(rX,dst));
1360 addInstr(env, X86Instr_CMov32(Xcc_Z,r0,dst));
1361 return dst;
2762 HReg dst = newVRegF(env);
2765 addInstr(env, X86Instr_Fp64to32(src,dst));
2767 return dst;
2782 HReg dst = newVRegF(env);
2787 True/*load*/, 4, dst,
2790 return dst;
2795 HReg dst = newVRegF(env);
2803 /* grndint %rf, %dst */
2804 addInstr(env, X86Instr_FpUnary(Xfp_ROUND, rf, dst));
2809 return dst;
2949 HReg dst = newVRegF(env);
2957 /* grndint %rf, %dst */
2958 addInstr(env, X86Instr_FpUnary(Xfp_ROUND, rf, dst));
2963 return dst;
2967 HReg dst = newVRegF(env);
2977 True/*load*/, 8, dst,
2984 return dst;
3030 HReg dst = newVRegF(env);
3035 True/*load*/, 4, dst,
3038 return dst;
3043 HReg dst = newVRegF(env);
3051 True/*load*/, 8, dst,
3054 return dst;
3073 HReg dst = newVRegF(env);
3074 addInstr(env, X86Instr_FpUnary(Xfp_MOV,rX,dst));
3076 addInstr(env, X86Instr_FpCMov(Xcc_Z,r0,dst));
3077 return dst;
3133 HReg dst = newVRegV(env);
3136 dst,
3140 return dst;
3144 HReg dst = newVRegV(env);
3146 addInstr(env, X86Instr_SseLdSt( True/*load*/, dst, am ));
3147 return dst;
3151 HReg dst = newVRegV(env);
3153 addInstr(env, X86Instr_SseConst(e->Iex.Const.con->Ico.V128, dst));
3154 return dst;
3167 HReg dst = newVRegV(env);
3168 addInstr(env, X86Instr_SseLdzLO(8, dst, am));
3169 return dst;
3198 HReg dst = newVRegV(env);
3203 addInstr(env, X86Instr_SseShuf(0xB1, tmp, dst));
3204 addInstr(env, X86Instr_SseReRg(Xsse_OR, tmp, dst));
3205 return dst;
3220 HReg dst = newVRegV(env);
3231 addInstr(env, X86Instr_SseLdSt(True/*load*/, dst, esp0));
3233 return dst;
3242 HReg dst = newVRegV(env);
3254 addInstr(env, mk_vMOVsd_RR(arg, dst));
3256 addInstr(env, X86Instr_SseReRg(cmpOp, vec0, dst));
3258 addInstr(env, X86Instr_SseReRg(Xsse_XOR, vec1, dst));
3259 return dst;
3268 HReg dst = newVRegV(env);
3269 addInstr(env, X86Instr_Sse32Fx4(op, arg, dst));
3270 return dst;
3279 HReg dst = newVRegV(env);
3281 addInstr(env, X86Instr_Sse64Fx2(op, arg, dst));
3282 return dst;
3297 HReg dst = newVRegV(env);
3298 addInstr(env, mk_vMOVsd_RR(arg, dst));
3299 addInstr(env, X86Instr_Sse32FLo(op, arg, dst));
3300 return dst;
3315 HReg dst = newVRegV(env);
3317 addInstr(env, mk_vMOVsd_RR(arg, dst));
3318 addInstr(env, X86Instr_Sse64FLo(op, arg, dst));
3319 return dst;
3323 HReg dst = newVRegV(env);
3327 addInstr(env, X86Instr_SseLdzLO(4, dst, esp0));
3329 return dst;
3334 HReg dst = newVRegV(env);
3339 addInstr(env, X86Instr_SseLdzLO(8, dst, esp0));
3341 return dst;
3353 HReg dst = newVRegV(env);
3360 addInstr(env, X86Instr_SseLdSt(True/*load*/, dst, esp0));
3362 return dst;
3366 HReg dst = newVRegV(env);
3376 addInstr(env, X86Instr_SseLdSt(True/*load*/, dst, esp0));
3378 return dst;
3387 HReg dst = newVRegV(env);
3399 addInstr(env, X86Instr_SseLdSt(True/*load*/, dst, esp0));
3401 return dst;
3418 HReg dst = newVRegV(env);
3419 addInstr(env, mk_vMOVsd_RR(argL, dst));
3420 addInstr(env, X86Instr_Sse32Fx4(op, argR, dst));
3421 return dst;
3438 HReg dst = newVRegV(env);
3440 addInstr(env, mk_vMOVsd_RR(argL, dst));
3441 addInstr(env, X86Instr_Sse64Fx2(op, argR, dst));
3442 return dst;
3458 HReg dst = newVRegV(env);
3459 addInstr(env, mk_vMOVsd_RR(argL, dst));
3460 addInstr(env, X86Instr_Sse32FLo(op, argR, dst));
3461 return dst;
3477 HReg dst = newVRegV(env);
3479 addInstr(env, mk_vMOVsd_RR(argL, dst));
3480 addInstr(env, X86Instr_Sse64FLo(op, argR, dst));
3481 return dst;
3546 HReg dst = newVRegV(env);
3550 addInstr(env, mk_vMOVsd_RR(arg2, dst));
3551 addInstr(env, X86Instr_SseReRg(op, arg1, dst));
3553 addInstr(env, mk_vMOVsd_RR(arg1, dst));
3554 addInstr(env, X86Instr_SseReRg(op, arg2, dst));
3556 return dst;
3572 HReg dst = newVRegV(env);
3579 addInstr(env, mk_vMOVsd_RR(greg, dst));
3580 addInstr(env, X86Instr_SseReRg(op, ereg, dst));
3582 return dst;
3594 HReg dst = newVRegV(env);
3595 addInstr(env, mk_vMOVsd_RR(rX,dst));
3597 addInstr(env, X86Instr_SseCMov(Xcc_Z,r0,dst));
3598 return dst;
3785 HReg dst = lookupIRTemp(env, tmp);
3791 addInstr(env, X86Instr_Alu32R(Xalu_MOV, X86RMI_Reg(src), dst));
3793 addInstr(env, X86Instr_Lea32(am,dst));
3800 HReg dst = lookupIRTemp(env, tmp);
3801 addInstr(env, X86Instr_Alu32R(Xalu_MOV,rmi,dst));
3814 HReg dst = lookupIRTemp(env, tmp);
3815 addInstr(env, X86Instr_Set32(cond, dst));
3819 HReg dst = lookupIRTemp(env, tmp);
3821 addInstr(env, X86Instr_FpUnary(Xfp_MOV,src,dst));
3825 HReg dst = lookupIRTemp(env, tmp);
3827 addInstr(env, X86Instr_FpUnary(Xfp_MOV,src,dst));
3831 HReg dst = lookupIRTemp(env, tmp);
3833 addInstr(env, mk_vMOVsd_RR(src,dst));
3871 HReg dst = lookupIRTemp(env, d->tmp);
3872 addInstr(env, mk_iMOVsd_RR(hregX86_EAX(),dst) );
3963 X86RI* dst;
3965 if (stmt->Ist.Exit.dst->tag != Ico_U32)
3966 vpanic("isel_x86: Ist_Exit: dst is not a 32-bit value");
3967 dst = iselIntExpr_RI(env, IRExpr_Const(stmt->Ist.Exit.dst));
3969 addInstr(env, X86Instr_Goto(stmt->Ist.Exit.jk, cc, dst));