Lines Matching defs:binop
196 static IRExpr* binop ( IROp op, IRExpr* a1, IRExpr* a2 )
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);
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) {
1168 // && (e->Iex.Binop.op == Iop_CasCmpEQ32
1169 // || e->Iex.Binop.op == Iop_CasCmpEQ16
1170 // || e->Iex.Binop.op == Iop_CasCmpEQ8)) {
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);
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);
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 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) {
3221 unop(Iop_Not64, binop(Iop_CmpGT8Sx8, bind(1), bind(0))));
3223 unop(Iop_Not64, binop(Iop_CmpGT16Sx4, bind(1), bind(0))));
3225 unop(Iop_Not64, binop(Iop_CmpGT32Sx2, bind(1), bind(0))));
3227 unop(Iop_Not64, binop(Iop_CmpGT8Ux8, bind(1), bind(0))));
3229 unop(Iop_Not64, binop(Iop_CmpGT16Ux4, bind(1), bind(0))));
3231 unop(Iop_Not64, binop(Iop_CmpGT32Ux2, bind(1), bind(0))));
3305 unop(Iop_Dup8x8, binop(Iop_GetElem8x8, bind(0), bind(1))));
3307 unop(Iop_Dup16x4, binop(Iop_GetElem16x4, bind(0), bind(1))));
3309 unop(Iop_Dup32x2, binop(Iop_GetElem32x2, bind(0), bind(1))));
3385 switch(e->Iex.Binop.op) {
3400 switch(e->Iex.Binop.op) {
3415 switch(e->Iex.Binop.op) {
3482 switch(e->Iex.Binop.op) {
3498 switch(e->Iex.Binop.op) {
3514 switch(e->Iex.Binop.op) {
3530 switch(e->Iex.Binop.op) {
3546 switch(e->Iex.Binop.op) {
3562 switch(e->Iex.Binop.op) {
3586 switch(e->Iex.Binop.op) {
3602 switch(e->Iex.Binop.op) {
3649 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3656 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3665 binop(Iop_Sub32Fx2,
3851 unop(Iop_NotV128, binop(Iop_CmpGT8Sx16, bind(1), bind(0))));
3853 unop(Iop_NotV128, binop(Iop_CmpGT16Sx8, bind(1), bind(0))));
3855 unop(Iop_NotV128, binop(Iop_CmpGT32Sx4, bind(1), bind(0))));
3857 unop(Iop_NotV128, binop(Iop_CmpGT8Ux16, bind(1), bind(0))));
3859 unop(Iop_NotV128, binop(Iop_CmpGT16Ux8, bind(1), bind(0))));
3861 binop(Iop_CmpGT32Ux4, bind(1), bind(0))));
3935 unop(Iop_Dup8x16, binop(Iop_GetElem8x8, bind(0), bind(1))));
3937 unop(Iop_Dup16x8, binop(Iop_GetElem16x4, bind(0), bind(1))));
3939 unop(Iop_Dup32x4, binop(Iop_GetElem32x2, bind(0), bind(1))));
4015 switch(e->Iex.Binop.op) {
4030 switch(e->Iex.Binop.op) {
4045 switch(e->Iex.Binop.op) {
4144 switch(e->Iex.Binop.op) {
4160 switch(e->Iex.Binop.op) {
4183 switch(e->Iex.Binop.op) {
4198 switch(e->Iex.Binop.op) {
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);
4408 binop(Iop_Add32x4,
4409 binop(Iop_Add32x4,
4410 binop(Iop_SarN32x4,
4413 binop(Iop_SarN32x4,
4416 binop(Iop_SarN32x4,
4417 binop(Iop_Add32x4,
4418 binop(Iop_Add32x4,
4419 binop(Iop_AndV128,
4422 binop(Iop_AndV128,
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 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 Binop.arg1);
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) {
5462 switch (e->Iex.Binop.op) {
5465 HReg src = iselDblExpr(env, e->Iex.Binop.arg2);
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);