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