Home | History | Annotate | Download | only in priv

Lines Matching refs:Iex

109           && e->Iex.Const.con->tag == Ico_U8
110 && e->Iex.Const.con->Ico.U8 == 0;
116 && e->Iex.Const.con->tag == Ico_U32
117 && e->Iex.Const.con->Ico.U32 == 0;
123 // && e->Iex.Const.con->tag == Ico_U64
124 // && e->Iex.Const.con->Ico.U64 == 0ULL;
646 && guard->Iex.Const.con->tag == Ico_U1
647 && guard->Iex.Const.con->Ico.U1 == True) {
862 return lookupIRTemp(env, e->Iex.RdTmp.tmp);
868 X86AMode* amode = iselIntExpr_AMode ( env, e->Iex.Load.addr );
871 if (e->Iex.Load.end != Iend_LE)
892 IRTriop *triop = e->Iex.Triop.details;
904 e->Iex.Binop.op==Iop_PRemC3210F64
925 if (e->Iex.Binop.op == Iop_Sub32 && isZeroU32(e->Iex.Binop.arg1)) {
927 HReg reg = iselIntExpr_R(env, e->Iex.Binop.arg2);
934 switch (e->Iex.Binop.op) {
954 HReg reg = iselIntExpr_R(env, e->Iex.Binop.arg1);
955 X86RMI* rmi = iselIntExpr_RMI(env, e->Iex.Binop.arg2);
979 switch (e->Iex.Binop.op) {
993 HReg regL = iselIntExpr_R(env, e->Iex.Binop.arg1);
997 switch (e->Iex.Binop.op) {
1019 if (e->Iex.Binop.arg2->tag == Iex_Const) {
1022 vassert(e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U8);
1023 nshift = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
1030 HReg regR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1039 if (e->Iex.Binop.op == Iop_Max32U) {
1040 HReg src1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
1042 HReg src2 = iselIntExpr_R(env, e->Iex.Binop.arg2);
1049 if (e->Iex.Binop.op == Iop_8HLto16) {
1052 HReg hi8s = iselIntExpr_R(env, e->Iex.Binop.arg1);
1053 HReg lo8s = iselIntExpr_R(env, e->Iex.Binop.arg2);
1062 if (e->Iex.Binop.op == Iop_16HLto32) {
1065 HReg hi16s = iselIntExpr_R(env, e->Iex.Binop.arg1);
1066 HReg lo16s = iselIntExpr_R(env, e->Iex.Binop.arg2);
1075 if (e->Iex.Binop.op == Iop_MullS16 || e->Iex.Binop.op == Iop_MullS8
1076 || e->Iex.Binop.op == Iop_MullU16 || e->Iex.Binop.op == Iop_MullU8) {
1079 HReg a16s = iselIntExpr_R(env, e->Iex.Binop.arg1);
1080 HReg b16s = iselIntExpr_R(env, e->Iex.Binop.arg2);
1081 Int shift = (e->Iex.Binop.op == Iop_MullS8
1082 || e->Iex.Binop.op == Iop_MullU8)
1084 X86ShiftOp shr_op = (e->Iex.Binop.op == Iop_MullS8
1085 || e->Iex.Binop.op == Iop_MullS16)
1098 if (e->Iex.Binop.op == Iop_CmpF64) {
1099 HReg fL = iselDblExpr(env, e->Iex.Binop.arg1);
1100 HReg fR = iselDblExpr(env, e->Iex.Binop.arg2);
1109 if (e->Iex.Binop.op == Iop_F64toI32S
1110 || e->Iex.Binop.op == Iop_F64toI16S) {
1111 Int sz = e->Iex.Binop.op == Iop_F64toI16S ? 2 : 4;
1112 HReg rf = iselDblExpr(env, e->Iex.Binop.arg2);
1128 set_FPU_rounding_mode( env, e->Iex.Binop.arg1 );
1159 if (e->Iex.Unop.op == Iop_1Uto8) {
1175 if (e->Iex.Unop.op == Iop_8Uto32) {
1189 if (e->Iex.Unop.op == Iop_8Sto32) {
1203 if (e->Iex.Unop.op == Iop_16Uto32) {
1217 if (e->Iex.Unop.op == Iop_8Uto32) {
1218 if (e->Iex.Unop.arg->tag == Iex_Get) {
1221 vassert(e->Iex.Unop.arg->Iex.Get.ty == Ity_I8);
1223 amode = X86AMode_IR(e->Iex.Unop.arg->Iex.Get.offset,
1231 if (e->Iex.Unop.op == Iop_16Uto32) {
1232 if (e->Iex.Unop.arg->tag == Iex_Get) {
1235 vassert(e->Iex.Unop.arg->Iex.Get.ty == Ity_I16);
1237 amode = X86AMode_IR(e->Iex.Unop.arg->Iex.Get.offset,
1244 switch (e->Iex.Unop.op) {
1249 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1250 UInt mask = e->Iex.Unop.op==Iop_16Uto32 ? 0xFFFF : 0xFF;
1260 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1261 UInt amt = e->Iex.Unop.op==Iop_16Sto32 ? 16 : 24;
1271 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1278 iselInt64Expr(&rHi,&rLo, env, e->Iex.Unop.arg);
1283 iselInt64Expr(&rHi,&rLo, env, e->Iex.Unop.arg);
1289 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1290 Int shift = e->Iex.Unop.op == Iop_16HIto8 ? 8 : 16;
1298 X86CondCode cond = iselCondCode(env, e->Iex.Unop.arg);
1307 X86CondCode cond = iselCondCode(env, e->Iex.Unop.arg);
1316 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1326 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1337 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1349 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1358 HReg vec = iselVecExpr(env, e->Iex.Unop.arg);
1372 HReg rf = iselFltExpr(env, e->Iex.Unop.arg);
1394 return iselIntExpr_R(env, e->Iex.Unop.arg);
1404 iselInt64Expr(&xHi, &xLo, env, e->Iex.Unop.arg);
1426 X86RMI_Mem(X86AMode_IR(e->Iex.Get.offset,
1436 X86AMode_IR(e->Iex.Get.offset,hregX86_EBP()),
1446 env, e->Iex.GetI.descr,
1447 e->Iex.GetI.ix, e->Iex.GetI.bias );
1463 vassert(ty == e->Iex.CCall.retty);
1468 if (e->Iex.CCall.retty != Ity_I32)
1475 e->Iex.CCall.cee, e->Iex.CCall.retty, e->Iex.CCall.args );
1496 && typeOfIRExpr(env->type_env,e->Iex.ITE.cond) == Ity_I1) {
1497 HReg r1 = iselIntExpr_R(env, e->Iex.ITE.iftrue);
1498 X86RM* r0 = iselIntExpr_RM(env, e->Iex.ITE.iffalse);
1501 X86CondCode cc = iselCondCode(env, e->Iex.ITE.cond);
1564 && e->Iex.Binop.op == Iop_Add32
1565 && e->Iex.Binop.arg2->tag == Iex_Const
1566 && e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U32
1567 && e->Iex.Binop.arg1->tag == Iex_Binop
1568 && e->Iex.Binop.arg1->Iex.Binop.op == Iop_Add32
1569 && e->Iex.Binop.arg1->Iex.Binop.arg2->tag == Iex_Binop
1570 && e->Iex.Binop.arg1->Iex.Binop.arg2->Iex.Binop.op == Iop_Shl32
1571 && e->Iex.Binop.arg1
1572 ->Iex.Binop.arg2->Iex.Binop.arg2->tag == Iex_Const
1573 && e->Iex.Binop.arg1
1574 ->Iex.Binop.arg2->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U8) {
1575 UInt shift = e->Iex.Binop.arg1
1576 ->Iex.Binop.arg2->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
1577 UInt imm32 = e->Iex.Binop.arg2->Iex.Const.con->Ico.U32;
1579 HReg r1 = iselIntExpr_R(env, e->Iex.Binop.arg1->Iex.Binop.arg1);
1580 HReg r2 = iselIntExpr_R(env, e->Iex.Binop.arg1
1581 ->Iex.Binop.arg2->Iex.Binop.arg1 );
1588 && e->Iex.Binop.op == Iop_Add32
1589 && e->Iex.Binop.arg2->tag == Iex_Binop
1590 && e->Iex.Binop.arg2->Iex.Binop.op == Iop_Shl32
1591 && e->Iex.Binop.arg2->Iex.Binop.arg2->tag == Iex_Const
1592 && e->Iex.Binop.arg2->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U8) {
1593 UInt shift = e->Iex.Binop.arg2->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
1595 HReg r1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
1596 HReg r2 = iselIntExpr_R(env, e->Iex.Binop.arg2->Iex.Binop.arg1 );
1603 && e->Iex.Binop.op == Iop_Add32
1604 && e->Iex.Binop.arg2->tag == Iex_Const
1605 && e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U32) {
1606 HReg r1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
1607 return X86AMode_IR(e->Iex.Binop.arg2->Iex.Const.con->Ico.U32, r1);
1652 switch (e->Iex.Const.con->tag) {
1653 case Ico_U32: u = e->Iex.Const.con->Ico.U32; break;
1654 case Ico_U16: u = 0xFFFF & (e->Iex.Const.con->Ico.U16); break;
1655 case Ico_U8: u = 0xFF & (e->Iex.Const.con->Ico.U8); break;
1663 return X86RMI_Mem(X86AMode_IR(e->Iex.Get.offset,
1669 && e->Iex.Load.end == Iend_LE) {
1670 X86AMode* am = iselIntExpr_AMode(env, e->Iex.Load.addr);
1712 switch (e->Iex.Const.con->tag) {
1713 case Ico_U32: u = e->Iex.Const.con->Ico.U32; break;
1714 case Ico_U16: u = 0xFFFF & (e->Iex.Const.con->Ico.U16); break;
1715 case Ico_U8: u = 0xFF & (e->Iex.Const.con->Ico.U8); break;
1759 return X86RM_Mem(X86AMode_IR(e->Iex.Get.offset,
1795 HReg r32 = lookupIRTemp(env, e->Iex.RdTmp.tmp);
1804 vassert(e->Iex.Const.con->tag == Ico_U1);
1805 vassert(e->Iex.Const.con->Ico.U1 == True
1806 || e->Iex.Const.con->Ico.U1 == False);
1810 return e->Iex.Const.con->Ico.U1 ? Xcc_Z : Xcc_NZ;
1814 if (e->tag == Iex_Unop && e->Iex.Unop.op == Iop_Not1) {
1816 return 1 ^ iselCondCode(env, e->Iex.Unop.arg);
1822 && e->Iex.Unop.op == Iop_32to1) {
1823 X86RM* rm = iselIntExpr_RM(env, e->Iex.Unop.arg);
1832 && e->Iex.Unop.op == Iop_CmpNEZ8) {
1833 X86RM* rm = iselIntExpr_RM(env, e->Iex.Unop.arg);
1842 && e->Iex.Unop.op == Iop_CmpNEZ16) {
1843 X86RM* rm = iselIntExpr_RM(env, e->Iex.Unop.arg);
1882 && e->Iex.Unop.op == Iop_CmpNEZ32
1883 && e->Iex.Unop.arg->tag == Iex_Get) {
1884 X86AMode* am = X86AMode_IR(e->Iex.Unop.arg->Iex.Get.offset,
1892 && e->Iex.Unop.op == Iop_CmpNEZ32) {
1893 HReg r1 = iselIntExpr_R(env, e->Iex.Unop.arg);
1921 && e->Iex.Unop.op == Iop_CmpNEZ64) {
1924 iselInt64Expr( &hi, &lo, env, e->Iex.Unop.arg );
1934 && (e->Iex.Binop.op == Iop_CmpEQ8
1935 || e->Iex.Binop.op == Iop_CmpNE8
1936 || e->Iex.Binop.op == Iop_CasCmpEQ8
1937 || e->Iex.Binop.op == Iop_CasCmpNE8)) {
1938 if (isZeroU8(e->Iex.Binop.arg2)) {
1939 HReg r1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
1941 switch (e->Iex.Binop.op) {
1947 HReg r1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
1948 X86RMI* rmi2 = iselIntExpr_RMI(env, e->Iex.Binop.arg2);
1953 switch (e->Iex.Binop.op) {
1963 && (e->Iex.Binop.op == Iop_CmpEQ16
1964 || e->Iex.Binop.op == Iop_CmpNE16
1965 || e->Iex.Binop.op == Iop_CasCmpEQ16
1966 || e->Iex.Binop.op == Iop_CasCmpNE16
1967 || e->Iex.Binop.op == Iop_ExpCmpNE16)) {
1968 HReg r1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
1969 X86RMI* rmi2 = iselIntExpr_RMI(env, e->Iex.Binop.arg2);
1974 switch (e->Iex.Binop.op) {
1987 && e->Iex.Binop.op == Iop_CmpNE32
1988 && e->Iex.Binop.arg1->tag == Iex_CCall
1989 && e->Iex.Binop.arg2->tag == Iex_Const) {
1990 IRExpr* cal = e->Iex.Binop.arg1;
1991 IRExpr* con = e->Iex.Binop.arg2;
1993 vassert(cal->Iex.CCall.retty == Ity_I32); /* else ill-typed IR */
1994 vassert(con->Iex.Const.con->tag == Ico_U32);
1999 cal->Iex.CCall.cee,
2000 cal->Iex.CCall.retty, cal->Iex.CCall.args );
2006 X86RMI_Imm(con->Iex.Const.con->Ico.U32),
2013 && (e->Iex.Binop.op == Iop_CmpEQ32
2014 || e->Iex.Binop.op == Iop_CmpNE32
2015 || e->Iex.Binop.op == Iop_CmpLT32S
2016 || e->Iex.Binop.op == Iop_CmpLT32U
2017 || e->Iex.Binop.op == Iop_CmpLE32S
2018 || e->Iex.Binop.op == Iop_CmpLE32U
2019 || e->Iex.Binop.op == Iop_CasCmpEQ32
2020 || e->Iex.Binop.op == Iop_CasCmpNE32
2021 || e->Iex.Binop.op == Iop_ExpCmpNE32)) {
2022 HReg r1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
2023 X86RMI* rmi2 = iselIntExpr_RMI(env, e->Iex.Binop.arg2);
2025 switch (e->Iex.Binop.op) {
2039 && (e->Iex.Binop.op == Iop_CmpNE64
2040 || e->Iex.Binop.op == Iop_CmpEQ64)) {
2044 iselInt64Expr( &hi1, &lo1, env, e->Iex.Binop.arg1 );
2045 iselInt64Expr( &hi2, &lo2, env, e->Iex.Binop.arg2 );
2051 switch (e->Iex.Binop.op) {
2094 ULong w64 = e->Iex.Const.con->Ico.U64;
2099 vassert(e->Iex.Const.con->tag == Ico_U64);
2116 lookupIRTemp64( rHi, rLo, env, e->Iex.RdTmp.tmp);
2121 if (e->tag == Iex_Load && e->Iex.Load.end == Iend_LE) {
2124 vassert(e->Iex.Load.ty == Ity_I64);
2127 am0 = iselIntExpr_AMode(env, e->Iex.Load.addr);
2138 X86AMode* am = X86AMode_IR(e->Iex.Get.offset, hregX86_EBP());
2152 = genGuestArrayOffset( env, e->Iex.GetI.descr,
2153 e->Iex.GetI.ix, e->Iex.GetI.bias );
2169 iselInt64Expr(&e0Hi, &e0Lo, env, e->Iex.ITE.iffalse);
2170 iselInt64Expr(&e1Hi, &e1Lo, env, e->Iex.ITE.iftrue);
2173 X86CondCode cc = iselCondCode(env, e->Iex.ITE.cond);
2185 switch (e->Iex.Binop.op) {
2194 Bool syned = toBool(e->Iex.Binop.op == Iop_MullS32);
2195 X86RM* rmLeft = iselIntExpr_RM(env, e->Iex.Binop.arg1);
2196 HReg rRight = iselIntExpr_R(env, e->Iex.Binop.arg2);
2215 Bool syned = toBool(e->Iex.Binop.op == Iop_DivModS64to32);
2216 X86RM* rmRight = iselIntExpr_RM(env, e->Iex.Binop.arg2);
2217 iselInt64Expr(&sHi,&sLo, env, e->Iex.Binop.arg1);
2235 X86AluOp op = e->Iex.Binop.op==Iop_Or64 ? Xalu_OR
2236 : e->Iex.Binop.op==Iop_And64 ? Xalu_AND
2238 iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1);
2239 iselInt64Expr(&yHi, &yLo, env, e->Iex.Binop.arg2);
2251 if (e->Iex.Binop.arg2->tag == Iex_Const) {
2253 ULong w64 = e->Iex.Binop.arg2->Iex.Const.con->Ico.U64;
2259 vassert(e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U64);
2260 iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1);
2274 iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1);
2277 iselInt64Expr(&yHi, &yLo, env, e->Iex.Binop.arg2);
2278 if (e->Iex.Binop.op==Iop_Add64) {
2292 *rHi = iselIntExpr_R(env, e->Iex.Binop.arg1);
2293 *rLo = iselIntExpr_R(env, e->Iex.Binop.arg2);
2321 rAmt = iselIntExpr_R(env, e->Iex.Binop.arg2);
2322 iselInt64Expr(&sHi,&sLo, env, e->Iex.Binop.arg1);
2363 rAmt = iselIntExpr_R(env, e->Iex.Binop.arg2);
2364 iselInt64Expr(&sHi,&sLo, env, e->Iex.Binop.arg1);
2386 HReg rf = iselDblExpr(env, e->Iex.Binop.arg2);
2407 set_FPU_rounding_mode( env, e->Iex.Binop.arg1 );
2538 iselInt64Expr(&yHi, &yLo, env, e->Iex.Binop.arg2);
2541 iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1);
2579 X86RMI* y = iselIntExpr_RMI(env, e->Iex.Binop.arg2);
2581 iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1);
2602 switch (e->Iex.Unop.op) {
2608 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
2621 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
2633 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
2646 Int off = e->Iex.Unop.op==Iop_V128HIto64 ? 8 : 0;
2649 HReg vec = iselVecExpr(env, e->Iex.Unop.arg);
2669 X86CondCode cond = iselCondCode(env, e->Iex.Unop.arg);
2684 iselInt64Expr(&sHi, &sLo, env, e->Iex.Unop.arg);
2700 iselInt64Expr(&yHi, &yLo, env, e->Iex.Unop.arg);
2759 iselInt64Expr(&srcHi, &srcLo, env, e->Iex.Unop.arg);
2780 HReg rf = iselDblExpr(env, e->Iex.Unop.arg);
2820 iselInt64Expr(&xHi, &xLo, env, e->Iex.Unop.arg);
2848 e->Iex.CCall.cee,
2849 e->Iex.CCall.retty, e->Iex.CCall.args );
2892 return lookupIRTemp(env, e->Iex.RdTmp.tmp);
2895 if (e->tag == Iex_Load && e->Iex.Load.end == Iend_LE) {
2898 vassert(e->Iex.Load.ty == Ity_F32);
2899 am = iselIntExpr_AMode(env, e->Iex.Load.addr);
2905 && e->Iex.Binop.op == Iop_F64toF32) {
2910 HReg src = iselDblExpr(env, e->Iex.Binop.arg2);
2911 set_FPU_rounding_mode( env, e->Iex.Binop.arg1 );
2918 X86AMode* am = X86AMode_IR( e->Iex.Get.offset,
2926 && e->Iex.Unop.op == Iop_ReinterpI32asF32) {
2930 X86RMI* rmi = iselIntExpr_RMI(env, e->Iex.Unop.arg);
2940 if (e->tag == Iex_Binop && e->Iex.Binop.op == Iop_RoundF32toInt) {
2941 HReg rf = iselFltExpr(env, e->Iex.Binop.arg2);
2948 set_FPU_rounding_mode( env, e->Iex.Binop.arg1 );
3010 return lookupIRTemp(env, e->Iex.RdTmp.tmp);
3021 if (e->Iex.Const.con->tag == Ico_F64) {
3022 u.f64 = e->Iex.Const.con->Ico.F64;
3024 else if (e->Iex.Const.con->tag == Ico_F64i) {
3025 u.u64 = e->Iex.Const.con->Ico.F64i;
3038 if (e->tag == Iex_Load && e->Iex.Load.end == Iend_LE) {
3041 vassert(e->Iex.Load.ty == Ity_F64);
3042 am = iselIntExpr_AMode(env, e->Iex.Load.addr);
3048 X86AMode* am = X86AMode_IR( e->Iex.Get.offset,
3058 env, e->Iex.GetI.descr,
3059 e->Iex.GetI.ix, e->Iex.GetI.bias );
3067 IRTriop *triop = e->Iex.Triop.details;
3095 if (e->tag == Iex_Binop && e->Iex.Binop.op == Iop_RoundF64toInt) {
3096 HReg rf = iselDblExpr(env, e->Iex.Binop.arg2);
3103 set_FPU_rounding_mode( env, e->Iex.Binop.arg1 );
3114 if (e->tag == Iex_Binop && e->Iex.Binop.op == Iop_I64StoF64) {
3117 iselInt64Expr( &rHi, &rLo, env, e->Iex.Binop.arg2);
3122 set_FPU_rounding_mode( env, e->Iex.Binop.arg1 );
3137 switch (e->Iex.Binop.op) {
3147 HReg src = iselDblExpr(env, e->Iex.Binop.arg2);
3165 switch (e->Iex.Unop.op) {
3172 HReg src = iselDblExpr(env, e->Iex.Unop.arg);
3181 switch (e->Iex.Unop.op) {
3184 HReg ri = iselIntExpr_R(env, e->Iex.Unop.arg);
3198 iselInt64Expr( &rHi, &rLo, env, e->Iex.Unop.arg);
3211 HReg res = iselFltExpr(env, e->Iex.Unop.arg);
3222 && typeOfIRExpr(env->type_env,e->Iex.ITE.cond) == Ity_I1) {
3223 HReg r1 = iselDblExpr(env, e->Iex.ITE.iftrue);
3224 HReg r0 = iselDblExpr(env, e->Iex.ITE.iffalse);
3227 X86CondCode cc = iselCondCode(env, e->Iex.ITE.cond);
3283 return lookupIRTemp(env, e->Iex.RdTmp.tmp);
3291 X86AMode_IR(e->Iex.Get.offset, hregX86_EBP())
3297 if (e->tag == Iex_Load && e->Iex.Load.end == Iend_LE) {
3299 X86AMode* am = iselIntExpr_AMode(env, e->Iex.Load.addr);
3306 vassert(e->Iex.Const.con->tag == Ico_V128);
3307 addInstr(env, X86Instr_SseConst(e->Iex.Const.con->Ico.V128, dst));
3327 switch (e->Iex.Unop.op) {
3330 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3350 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3373 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3398 = e->Iex.Unop.op==Iop_CmpNEZ16x8 ? Xsse_CMPEQ16
3406 arg = iselVecExpr(env, e->Iex.Unop.arg);
3421 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3432 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3450 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3468 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3479 X86RMI* rmi = iselIntExpr_RMI(env, e->Iex.Unop.arg);
3490 iselInt64Expr(&rHi, &rLo, env, e->Iex.Unop.arg);
3500 } /* switch (e->Iex.Unop.op) */
3504 switch (e->Iex.Binop.op) {
3508 HReg srcV = iselVecExpr(env, e->Iex.Binop.arg1);
3509 HReg srcI = iselIntExpr_R(env, e->Iex.Binop.arg2);
3521 HReg srcV = iselVecExpr(env, e->Iex.Binop.arg1);
3525 iselInt64Expr(&srcIhi, &srcIlo, env, e->Iex.Binop.arg2);
3545 iselInt64Expr(&r1, &r0, env, e->Iex.Binop.arg2);
3549 iselInt64Expr(&r3, &r2, env, e->Iex.Binop.arg1);
3566 HReg argL = iselVecExpr(env, e->Iex.Binop.arg1);
3567 HReg argR = iselVecExpr(env, e->Iex.Binop.arg2);
3582 HReg argL = iselVecExpr(env, e->Iex.Binop.arg1);
3583 HReg argR = iselVecExpr(env, e->Iex.Binop.arg2);
3602 HReg argL = iselVecExpr(env, e->Iex.Binop.arg1);
3603 HReg argR = iselVecExpr(env, e->Iex.Binop.arg2);
3621 HReg argL = iselVecExpr(env, e->Iex.Binop.arg1);
3622 HReg argR = iselVecExpr(env, e->Iex.Binop.arg2);
3690 HReg arg1 = iselVecExpr(env, e->Iex.Binop.arg1);
3691 HReg arg2 = iselVecExpr(env, e->Iex.Binop.arg2);
3714 HReg greg = iselVecExpr(env, e->Iex.Binop.arg1);
3715 X86RMI* rmi = iselIntExpr_RMI(env, e->Iex.Binop.arg2);
3742 HReg argL = iselVecExpr(env, e->Iex.Binop.arg1);
3743 HReg argR = iselVecExpr(env, e->Iex.Binop.arg2);
3787 } /* switch (e->Iex.Binop.op) */
3792 IRTriop *triop = e->Iex.Triop.details;
3835 HReg r1 = iselVecExpr(env, e->Iex.ITE.iftrue);
3836 HReg r0 = iselVecExpr(env, e->Iex.ITE.iffalse);
3839 X86CondCode cc = iselCondCode(env, e->Iex.ITE.cond);
4028 && stmt->Ist.WrTmp.data->Iex.Binop.op == Iop_Add32) {
4330 IRConst* cdst = next->Iex.Const.con;