Lines Matching refs:Iex
497 && guard->Iex.Const.con->tag == Ico_U1
498 && guard->Iex.Const.con->Ico.U1 == True) {
633 && guard->Iex.Const.con->tag == Ico_U1
634 && guard->Iex.Const.con->Ico.U1 == True) {
782 && (e->Iex.Binop.op == Iop_Add32 || e->Iex.Binop.op == Iop_Sub32)
783 && e->Iex.Binop.arg2->tag == Iex_Const
784 && e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U32) {
785 Int simm = (Int)e->Iex.Binop.arg2->Iex.Const.con->Ico.U32;
788 if (e->Iex.Binop.op == Iop_Sub32)
790 reg = iselIntExpr_R(env, e->Iex.Binop.arg1);
848 && (e->Iex.Binop.op == Iop_Add32 || e->Iex.Binop.op == Iop_Sub32)
849 && e->Iex.Binop.arg2->tag == Iex_Const
850 && e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U32) {
851 Int simm = (Int)e->Iex.Binop.arg2->Iex.Const.con->Ico.U32;
854 if (e->Iex.Binop.op == Iop_Sub32)
856 reg = iselIntExpr_R(env, e->Iex.Binop.arg1);
900 && (e->Iex.Binop.op == Iop_Add32 || e->Iex.Binop.op == Iop_Sub32)
901 && e->Iex.Binop.arg2->tag == Iex_Const
902 && e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U32) {
903 Int simm = (Int)e->Iex.Binop.arg2->Iex.Const.con->Ico.U32;
906 if (e->Iex.Binop.op == Iop_Sub32)
908 reg = iselIntExpr_R(env, e->Iex.Binop.arg1);
977 switch (e->Iex.Const.con->tag) {
978 case Ico_U32: u = e->Iex.Const.con->Ico.U32; break;
979 case Ico_U16: u = 0xFFFF & (e->Iex.Const.con->Ico.U16); break;
980 case Ico_U8: u = 0xFF & (e->Iex.Const.con->Ico.U8); break;
1031 switch (e->Iex.Const.con->tag) {
1032 case Ico_U32: u = e->Iex.Const.con->Ico.U32; break;
1033 case Ico_U16: u = 0xFFFF & (e->Iex.Const.con->Ico.U16); break;
1034 case Ico_U8: u = 0xFF & (e->Iex.Const.con->Ico.U8); break;
1071 HReg rTmp = lookupIRTemp(env, e->Iex.RdTmp.tmp);
1079 if (e->tag == Iex_Unop && e->Iex.Unop.op == Iop_Not1) {
1081 return 1 ^ iselCondCode(env, e->Iex.Unop.arg);
1087 && e->Iex.Unop.op == Iop_32to1) {
1088 HReg rTmp = iselIntExpr_R(env, e->Iex.Unop.arg);
1097 && e->Iex.Unop.op == Iop_CmpNEZ8) {
1098 HReg r1 = iselIntExpr_R(env, e->Iex.Unop.arg);
1107 && e->Iex.Unop.op == Iop_CmpNEZ32) {
1108 HReg r1 = iselIntExpr_R(env, e->Iex.Unop.arg);
1117 && e->Iex.Unop.op == Iop_CmpNEZ64) {
1121 iselInt64Expr(&tHi, &tLo, env, e->Iex.Unop.arg);
1129 && (e->Iex.Binop.op == Iop_CmpEQ32
1130 || e->Iex.Binop.op == Iop_CmpNE32
1131 || e->Iex.Binop.op == Iop_CmpLT32S
1132 || e->Iex.Binop.op == Iop_CmpLT32U
1133 || e->Iex.Binop.op == Iop_CmpLE32S
1134 || e->Iex.Binop.op == Iop_CmpLE32U)) {
1135 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1137 env, e->Iex.Binop.arg2);
1139 switch (e->Iex.Binop.op) {
1154 vassert(e->Iex.Const.con->tag == Ico_U1);
1155 vassert(e->Iex.Const.con->Ico.U1 == True
1156 || e->Iex.Const.con->Ico.U1 == False);
1160 return e->Iex.Const.con->Ico.U1 ? ARMcc_EQ : ARMcc_NE;
1168 // && (e->Iex.Binop.op == Iop_CasCmpEQ32
1169 // || e->Iex.Binop.op == Iop_CasCmpEQ16
1170 // || e->Iex.Binop.op == Iop_CasCmpEQ8)) {
1203 return lookupIRTemp(env, e->Iex.RdTmp.tmp);
1210 if (e->Iex.Load.end != Iend_LE)
1214 ARMAMode1* amode = iselIntExpr_AMode1 ( env, e->Iex.Load.addr );
1219 ARMAMode2* amode = iselIntExpr_AMode2 ( env, e->Iex.Load.addr );
1226 ARMAMode1* amode = iselIntExpr_AMode1 ( env, e->Iex.Load.addr );
1235 //zz IRTriop *triop = e->Iex.Triop.details;
1247 //zz e->Iex.Binop.op==Iop_PRemC3210F64
1269 switch (e->Iex.Binop.op) {
1273 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1275 env, e->Iex.Binop.arg2);
1286 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1288 env, e->Iex.Binop.arg2);
1296 switch (e->Iex.Binop.op) {
1302 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1303 ARMRI5* argR = iselIntExpr_RI5(env, e->Iex.Binop.arg2);
1312 if (e->Iex.Binop.op == Iop_Mul32) {
1313 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1314 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1325 if (e->Iex.Binop.op == Iop_Max32U) {
1326 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1327 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1336 if (e->Iex.Binop.op == Iop_CmpF64) {
1337 HReg dL = iselDblExpr(env, e->Iex.Binop.arg1);
1338 HReg dR = iselDblExpr(env, e->Iex.Binop.arg2);
1352 if (e->Iex.Binop.op == Iop_F64toI32S
1353 || e->Iex.Binop.op == Iop_F64toI32U) {
1359 Bool syned = e->Iex.Binop.op == Iop_F64toI32S;
1360 HReg valD = iselDblExpr(env, e->Iex.Binop.arg2);
1361 set_VFP_rounding_mode(env, e->Iex.Binop.arg1);
1373 if (e->Iex.Binop.op == Iop_GetElem8x8
1374 || e->Iex.Binop.op == Iop_GetElem16x4
1375 || e->Iex.Binop.op == Iop_GetElem32x2) {
1377 HReg arg = iselNeon64Expr(env, e->Iex.Binop.arg1);
1379 if (e->Iex.Binop.arg2->tag != Iex_Const ||
1380 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
1384 index = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
1385 switch (e->Iex.Binop.op) {
1398 if (e->Iex.Binop.op == Iop_GetElem8x16
1399 || e->Iex.Binop.op == Iop_GetElem16x8
1400 || e->Iex.Binop.op == Iop_GetElem32x4) {
1402 HReg arg = iselNeonExpr(env, e->Iex.Binop.arg1);
1404 if (e->Iex.Binop.arg2->tag != Iex_Const ||
1405 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
1409 index = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
1410 switch (e->Iex.Binop.op) {
1425 switch (e->Iex.Binop.op) {
1481 HReg regL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1482 HReg regR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1499 //zz if (e->Iex.Unop.op == Iop_1Uto8) {
1515 //zz if (e->Iex.Unop.op == Iop_8Uto32) {
1529 //zz if (e->Iex.Unop.op == Iop_8Sto32) {
1543 //zz if (e->Iex.Unop.op == Iop_16Uto32) {
1557 //zz if (e->Iex.Unop.op == Iop_8Uto32) {
1558 //zz if (e->Iex.Unop.arg->tag == Iex_Get) {
1561 //zz vassert(e->Iex.Unop.arg->Iex.Get.ty == Ity_I8);
1563 //zz amode = X86AMode_IR(e->Iex.Unop.arg->Iex.Get.offset,
1571 //zz if (e->Iex.Unop.op == Iop_16Uto32) {
1572 //zz if (e->Iex.Unop.arg->tag == Iex_Get) {
1575 //zz vassert(e->Iex.Unop.arg->Iex.Get.ty == Ity_I16);
1577 //zz amode = X86AMode_IR(e->Iex.Unop.arg->Iex.Get.offset,
1584 switch (e->Iex.Unop.op) {
1587 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1596 //zz HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1597 //zz UInt mask = e->Iex.Unop.op==Iop_16Uto32 ? 0xFFFF : 0xFF;
1607 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1616 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1617 ARMRI5* amt = ARMRI5_I5(e->Iex.Unop.op==Iop_16Sto32 ? 16 : 24);
1626 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1632 iselInt64Expr(&rHi,&rLo, env, e->Iex.Unop.arg);
1637 iselInt64Expr(&rHi,&rLo, env, e->Iex.Unop.arg);
1645 HReg tmp = iselNeon64Expr(env, e->Iex.Unop.arg);
1650 iselInt64Expr(&rHi,&rLo, env, e->Iex.Unop.arg);
1660 if (e->Iex.Unop.arg->tag == Iex_RdTmp) {
1661 HReg dst = lookupIRTemp(env, e->Iex.Unop.arg->Iex.RdTmp.tmp);
1667 ARMCondCode cond = iselCondCode(env, e->Iex.Unop.arg);
1675 ARMCondCode cond = iselCondCode(env, e->Iex.Unop.arg);
1693 //zz X86CondCode cond = iselCondCode(env, e->Iex.Unop.arg);
1702 //zz HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1709 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1716 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1725 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1733 //zz HReg vec = iselVecExpr(env, e->Iex.Unop.arg);
1744 HReg src = iselFltExpr(env, e->Iex.Unop.arg);
1754 return iselIntExpr_R(env, e->Iex.Unop.arg);
1762 switch (e->Iex.Unop.op) {
1772 HReg arg = iselIntExpr_R(env, e->Iex.Unop.arg);
1787 && 0 == (e->Iex.Get.offset & 3)
1788 && e->Iex.Get.offset < 4096-4) {
1793 ARMAMode1_RI(hregARM_R8(), e->Iex.Get.offset)));
1801 //zz X86AMode_IR(e->Iex.Get.offset,hregX86_EBP()),
1811 //zz env, e->Iex.GetI.descr,
1812 //zz e->Iex.GetI.ix, e->Iex.GetI.bias );
1828 vassert(ty == e->Iex.CCall.retty);
1833 if (e->Iex.CCall.retty != Ity_I32)
1840 Iex.CCall.cee, e->Iex.CCall.retty,
1841 e->Iex.CCall.args );
1858 switch (e->Iex.Const.con->tag) {
1859 case Ico_U32: u = e->Iex.Const.con->Ico.U32; break;
1860 case Ico_U16: u = 0xFFFF & (e->Iex.Const.con->Ico.U16); break;
1861 case Ico_U8: u = 0xFF & (e->Iex.Const.con->Ico.U8); break;
1873 HReg r1 = iselIntExpr_R(env, e->Iex.ITE.iftrue);
1874 ARMRI84* r0 = iselIntExpr_RI84(NULL, False, env, e->Iex.ITE.iffalse);
1877 cc = iselCondCode(env, e->Iex.ITE.cond);
1922 ULong w64 = e->Iex.Const.con->Ico.U64;
1927 vassert(e->Iex.Const.con->tag == Ico_U64);
1945 lookupIRTemp64( rHi, rLo, env, e->Iex.RdTmp.tmp);
1951 if (e->tag == Iex_Load && e->Iex.Load.end == Iend_LE) {
1953 vassert(e->Iex.Load.ty == Ity_I64);
1954 rA = iselIntExpr_R(env, e->Iex.Load.addr);
1968 ARMAMode1* am0 = ARMAMode1_RI(hregARM_R8(), e->Iex.Get.offset + 0);
1969 ARMAMode1* am4 = ARMAMode1_RI(hregARM_R8(), e->Iex.Get.offset + 4);
1981 switch (e->Iex.Binop.op) {
1986 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1987 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1990 ARMMulOp mop = e->Iex.Binop.op == Iop_MullS32
2006 iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1);
2007 iselInt64Expr(&yHi, &yLo, env, e->Iex.Binop.arg2);
2019 iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1);
2020 iselInt64Expr(&yHi, &yLo, env, e->Iex.Binop.arg2);
2030 *rHi = iselIntExpr_R(env, e->Iex.Binop.arg1);
2031 *rLo = iselIntExpr_R(env, e->Iex.Binop.arg2);
2042 switch (e->Iex.Unop.op) {
2048 HReg src = iselDblExpr(env, e->Iex.Unop.arg);
2062 iselInt64Expr(&yHi, &yLo, env, e->Iex.Unop.arg);
2087 iselInt64Expr(&srcHi, &srcLo, env, e->Iex.Unop.arg);
2104 ARMCondCode cond = iselCondCode(env, e->Iex.Unop.arg);
2128 tyC = typeOfIRExpr(env->type_env,e->Iex.ITE.cond);
2130 iselInt64Expr(&r1hi, &r1lo, env, e->Iex.ITE.iftrue);
2131 iselInt64Expr(&r0hi, &r0lo, env, e->Iex.ITE.iffalse);
2136 cc = iselCondCode(env, e->Iex.ITE.cond);
2183 return lookupIRTemp(env, e->Iex.RdTmp.tmp);
2195 if (e->tag == Iex_Load && e->Iex.Load.end == Iend_LE) {
2197 ARMAModeN* am = iselIntExpr_AModeN(env, e->Iex.Load.addr);
2208 addInstr(env, ARMInstr_Add32(addr, hregARM_R8(), e->Iex.Get.offset));
2215 switch (e->Iex.Binop.op) {
2229 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2230 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2237 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2238 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2245 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2246 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2254 HReg rHi = iselIntExpr_R(env, e->Iex.Binop.arg1);
2255 HReg rLo = iselIntExpr_R(env, e->Iex.Binop.arg2);
2266 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2267 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2269 switch (e->Iex.Binop.op) {
2282 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2283 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2291 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2292 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2300 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2301 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2317 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2318 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2321 switch (e->Iex.Binop.op) {
2343 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2344 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2347 switch (e->Iex.Binop.op) {
2367 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2368 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2371 switch (e->Iex.Binop.op) {
2389 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2390 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2392 switch (e->Iex.Binop.op) {
2408 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2409 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2411 switch (e->Iex.Binop.op) {
2427 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2428 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2430 switch (e->Iex.Binop.op) {
2443 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2444 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2455 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2456 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2458 switch (e->Iex.Binop.op) {
2474 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2475 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2477 switch (e->Iex.Binop.op) {
2492 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2493 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2495 switch (e->Iex.Binop.op) {
2509 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2510 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2512 switch (e->Iex.Binop.op) {
2526 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2527 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2529 switch (e->Iex.Binop.op) {
2543 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2544 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2546 switch (e->Iex.Binop.op) {
2560 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2561 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2565 switch (e->Iex.Binop.op) {
2584 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2585 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2587 switch (e->Iex.Binop.op) {
2602 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2603 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2607 switch (e->Iex.Binop.op) {
2624 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2625 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2627 switch (e->Iex.Binop.op) {
2642 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2643 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2645 switch (e->Iex.Binop.op) {
2661 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2662 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2664 switch (e->Iex.Binop.op) {
2680 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2682 if (e->Iex.Binop.arg2->tag != Iex_Const ||
2683 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
2687 imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
2688 switch (e->Iex.Binop.op) {
2704 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2706 if (e->Iex.Binop.arg2->tag != Iex_Const ||
2707 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
2711 imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
2712 switch (e->Iex.Binop.op) {
2728 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2730 if (e->Iex.Binop.arg2->tag != Iex_Const ||
2731 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
2735 imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
2736 switch (e->Iex.Binop.op) {
2753 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2754 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2757 switch (e->Iex.Binop.op) {
2776 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2779 if (e->Iex.Binop.op == Iop_Shl64
2780 && e->Iex.Binop.arg2->tag == Iex_Const) {
2781 vassert(e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U8);
2782 Int nshift = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
2789 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2791 switch (e->Iex.Binop.op) {
2810 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2811 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2814 switch (e->Iex.Binop.op) {
2831 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2832 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2834 switch (e->Iex.Binop.op) {
2848 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2849 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2851 switch (e->Iex.Binop.op) {
2865 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2866 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2868 switch (e->Iex.Binop.op) {
2882 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2883 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2885 switch(e->Iex.Binop.op) {
2897 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2898 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2907 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2908 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2910 switch(e->Iex.Binop.op) {
2923 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2924 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2926 switch(e->Iex.Binop.op) {
2940 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2941 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2943 switch(e->Iex.Binop.op) {
2955 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2956 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2966 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2967 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2969 switch(e->Iex.Binop.op) {
2983 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2984 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2986 switch(e->Iex.Binop.op) {
3000 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3001 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3003 switch(e->Iex.Binop.op) {
3017 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3018 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3020 switch(e->Iex.Binop.op) {
3032 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3033 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3040 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3041 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3049 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3050 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3057 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3058 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3065 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3066 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3073 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3074 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3081 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3082 Iex.Binop.arg2);
3089 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3090 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3097 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3098 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3108 HReg arg = iselNeon64Expr(env, e->Iex.Binop.arg1);
3111 if (e->Iex.Binop.arg2->tag != Iex_Const ||
3112 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
3116 imm6 = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
3119 switch(e->Iex.Binop.op) {
3135 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3139 if (e->Iex.Binop.arg2->tag != Iex_Const ||
3140 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
3144 index = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
3145 switch(e->Iex.Binop.op) {
3167 switch (e->Iex.Unop.op) {
3171 HReg rLo = iselIntExpr_R(env, e->Iex.Unop.arg);
3181 HReg rLo = iselIntExpr_R(env, e->Iex.Unop.arg);
3291 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3315 index = mi.bindee[1]->Iex.Const.con->Ico.U8;
3334 index = mi.bindee[1]->Iex.Const.con->Ico.U8;
3353 index = mi.bindee[1]->Iex.Const.con->Ico.U8;
3368 arg = iselIntExpr_R(env, e->Iex.Unop.arg);
3370 switch (e->Iex.Unop.op) {
3383 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3385 switch(e->Iex.Binop.op) {
3398 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3400 switch(e->Iex.Binop.op) {
3413 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3415 switch(e->Iex.Binop.op) {
3426 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3442 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3464 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3466 switch (e->Iex.Unop.op) {
3480 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3482 switch(e->Iex.Binop.op) {
3496 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3498 switch(e->Iex.Binop.op) {
3512 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3514 switch(e->Iex.Binop.op) {
3528 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3530 switch(e->Iex.Binop.op) {
3544 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3546 switch(e->Iex.Binop.op) {
3560 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3562 switch(e->Iex.Binop.op) {
3574 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3584 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3586 switch(e->Iex.Binop.op) {
3600 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3602 switch(e->Iex.Binop.op) {
3614 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3621 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3628 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3635 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3642 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3649 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3656 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3677 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3685 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3692 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3699 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3710 IRTriop *triop = e->Iex.Triop.details;
3723 imm4 = triop->arg3->Iex.Const.con->Ico.U8;
3744 index = triop->arg2->Iex.Const.con->Ico.U8;
3793 return lookupIRTemp(env, e->Iex.RdTmp.tmp);
3801 if (e->Iex.Const.con->Ico.V128 == 0x0000) {
3806 if (e->Iex.Const.con->Ico.V128 == 0xFFFF) {
3817 ARMAModeN* am = iselIntExpr_AModeN(env, e->Iex.Load.addr);
3827 addInstr(env, ARMInstr_Add32(addr, hregARM_R8(), e->Iex.Get.offset));
3833 switch (e->Iex.Unop.op) {
3921 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3945 index = mi.bindee[1]->Iex.Const.con->Ico.U8;
3964 index = mi.bindee[1]->Iex.Const.con->Ico.U8;
3983 index = mi.bindee[1]->Iex.Const.con->Ico.U8;
3998 arg = iselIntExpr_R(env, e->Iex.Unop.arg);
4000 switch (e->Iex.Unop.op) {
4013 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4015 switch(e->Iex.Binop.op) {
4028 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4030 switch(e->Iex.Binop.op) {
4043 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4045 switch(e->Iex.Binop.op) {
4056 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4072 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4094 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4096 switch (e->Iex.Unop.op) {
4110 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
4112 switch (e->Iex.Unop.op) {
4126 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
4128 switch (e->Iex.Unop.op) {
4142 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4144 switch(e->Iex.Binop.op) {
4158 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4160 switch(e->Iex.Binop.op) {
4172 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4181 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4183 switch(e->Iex.Binop.op) {
4196 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4198 switch(e->Iex.Binop.op) {
4209 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4216 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4223 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4230 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4237 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
4244 HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
4251 HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
4258 HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
4265 HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
4272 HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
4279 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4291 switch (e->Iex.Binop.op) {
4294 if (e->Iex.Binop.arg1->tag == Iex_Const &&
4295 e->Iex.Binop.arg2->tag == Iex_Const &&
4296 typeOfIRExpr(env->type_env, e->Iex.Binop.arg1) == Ity_I64 &&
4297 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) == Ity_I64 &&
4298 e->Iex.Binop.arg1->Iex.Const.con->Ico.U64 ==
4299 e->Iex.Binop.arg2->Iex.Const.con->Ico.U64) {
4300 ULong imm64 = e->Iex.Binop.arg2->Iex.Const.con->Ico.U64;
4352 iselInt64Expr(&w1, &w0, env, e->Iex.Binop.arg2);
4359 iselInt64Expr(&w3, &w2, env, e->Iex.Binop.arg1);
4377 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4378 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4385 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4386 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4393 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4394 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4429 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4430 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4432 switch (e->Iex.Binop.op) {
4438 ppIROp(e->Iex.Binop.op);
4447 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4448 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4456 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4457 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4473 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4474 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4477 switch (e->Iex.Binop.op) {
4501 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4502 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4505 switch (e->Iex.Binop.op) {
4529 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4530 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4533 switch (e->Iex.Binop.op) {
4553 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4554 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4556 switch (e->Iex.Binop.op) {
4562 ppIROp(e->Iex.Binop.op);
4574 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4575 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4577 switch (e->Iex.Binop.op) {
4583 ppIROp(e->Iex.Binop.op);
4595 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4596 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4598 Iex.Binop.op) {
4604 ppIROp(e->Iex.Binop.op);
4616 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4617 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4619 switch (e->Iex.Binop.op) {
4625 ppIROp(e->Iex.Binop.op);
4637 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4638 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4640 switch (e->Iex.Binop.op) {
4646 ppIROp(e->Iex.Binop.op);
4657 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4658 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4660 switch (e->Iex.Binop.op) {
4674 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4675 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4677 switch (e->Iex.Binop.op) {
4691 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4692 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4694 switch (e->Iex.Binop.op) {
4708 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4709 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4711 switch (e->Iex.Binop.op) {
4726 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4727 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4731 switch (e->Iex.Binop.op) {
4750 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4751 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4753 switch (e->Iex.Binop.op) {
4769 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4770 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4774 switch (e->Iex.Binop.op) {
4793 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4794 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4796 switch (e->Iex.Binop.op) {
4812 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4813 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4815 switch (e->Iex.Binop.op) {
4831 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4832 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4834 switch (e->Iex.Binop.op) {
4850 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4852 if (e->Iex.Binop.arg2->tag != Iex_Const ||
4853 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
4857 imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
4858 switch (e->Iex.Binop.op) {
4874 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4876 if (e->Iex.Binop.arg2->tag != Iex_Const ||
4877 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
4881 imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
4882 switch (e->Iex.Binop.op) {
4898 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4900 if (e->Iex.Binop.arg2->tag != Iex_Const ||
4901 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
4905 imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
4906 switch (e->Iex.Binop.op) {
4923 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4924 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
4927 switch (e->Iex.Binop.op) {
4947 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4948 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
4950 switch (e->Iex.Binop.op) {
4968 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4969 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
4972 switch (e->Iex.Binop.op) {
4989 HReg argL = iselNeonExpr(env, e->Iex
4990 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4992 switch (e->Iex.Binop.op) {
5006 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5007 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5009 switch (e->Iex.Binop.op) {
5023 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5024 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5026 switch (e->Iex.Binop.op) {
5040 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5041 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5043 switch(e->Iex.Binop.op) {
5057 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5058 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5060 switch(e->Iex.Binop.op) {
5075 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5076 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5078 switch(e->Iex.Binop.op) {
5092 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5093 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5095 switch(e->Iex.Binop.op) {
5108 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5109 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5111 switch(e->Iex.Binop.op) {
5124 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5125 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5127 switch(e->Iex.Binop.op) {
5138 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5139 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5147 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5148 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5155 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5156 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5163 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5164 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5171 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5172 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5179 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5180 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5187 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5188 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5195 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5196 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5204 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5205 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5216 HReg arg = iselNeonExpr(env, e->Iex.Binop.arg1);
5219 if (e->Iex.Binop.arg2->tag != Iex_Const ||
5220 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
5224 imm6 = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
5227 switch(e->Iex.Binop.op) {
5243 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5246 if (e->Iex.Binop.arg2->tag != Iex_Const ||
5247 typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
5251 index = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
5252 switch(e->Iex.Binop.op) {
5271 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5272 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5274 switch(e->Iex.Binop.op) {
5291 IRTriop *triop = e->Iex.Triop.details;
5304 imm4 = triop->arg3->Iex.Const.con->Ico.U8;
5337 HReg r1 = iselNeonExpr(env, e->Iex.ITE.iftrue);
5338 HReg r0 = iselNeonExpr(env, e->Iex.ITE.iffalse);
5341 cc = iselCondCode(env, e->Iex.ITE.cond);
5379 return lookupIRTemp(env, e->Iex.RdTmp.tmp);
5384 IRConst* con = e->Iex.Const.con;
5394 if (e->tag == Iex_Load && e->Iex.Load.end == Iend_LE) {
5397 vassert(e->Iex.Load.ty == Ity_F64);
5398 am = iselIntExpr_AModeV(env, e->Iex.Load.addr);
5406 Iex.Get.offset);
5413 switch (e->Iex.Unop.op) {
5416 return iselNeon64Expr(env, e->Iex.Unop.arg);
5420 iselInt64Expr(&srcHi, &srcLo, env, e->Iex.Unop.arg);
5426 HReg src = iselDblExpr(env, e->Iex.Unop.arg);
5432 HReg src = iselDblExpr(env, e->Iex.Unop.arg);
5438 HReg src = iselFltExpr(env, e->Iex.Unop.arg);
5445 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
5448 Bool syned = e->Iex.Unop.op == Iop_I32StoF64;
5462 switch (e->Iex.Binop.op) {
5465 HReg src = iselDblExpr(env, e->Iex.Binop.arg2);
5476 IRTriop *triop = e->Iex.Triop.details;
5504 && typeOfIRExpr(env->type_env,e->Iex.ITE.cond) == Ity_I1) {
5505 HReg r1 = iselDblExpr(env, e->Iex.ITE.iftrue);
5506 HReg r0 = iselDblExpr(env, e->Iex.ITE.iffalse);
5509 ARMCondCode cc = iselCondCode(env, e->Iex.ITE.cond);
5548 return lookupIRTemp(env, e->Iex.RdTmp.tmp);
5551 if (e->tag == Iex_Load && e->Iex.Load.end == Iend_LE) {
5554 vassert(e->Iex.Load.ty == Ity_F32);
5555 am = iselIntExpr_AModeV(env, e->Iex.Load.addr);
5563 ARMAModeV* am = mkARMAModeV(hregARM_R8(), e->Iex.Get.offset);
5570 switch (e->Iex.Unop.op) {
5573 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
5578 HReg src = iselFltExpr(env, e->Iex.Unop.arg);
5584 HReg src = iselFltExpr(env, e->Iex.Unop.arg);
5595 switch (e->Iex.Binop.op) {
5598 HReg src = iselFltExpr(env, e->Iex.Binop.arg2);
5604 HReg valD = iselDblExpr(env, e->Iex.Binop.arg2);
5605 set_VFP_rounding_mode(env, e->Iex.Binop.arg1);
5618 IRTriop *triop = e->Iex.Triop.details;
5646 && typeOfIRExpr(env->type_env,e->Iex.ITE.cond) == Ity_I1) {
5648 HReg r1 = iselFltExpr(env, e->Iex.ITE.iftrue);
5649 HReg r0 = iselFltExpr(env, e->Iex.ITE.iffalse);
5652 cc = iselCondCode(env, e->Iex.ITE.cond);
6237 IRConst* cdst = next->Iex.Const.con;