Home | History | Annotate | Download | only in priv

Lines Matching refs:Binop

182 //ZZ static IRExpr* binop ( IROp op, IRExpr* a1, IRExpr* a2 )
901 && (e->Iex.Binop.op == Iop_Add64 || e->Iex.Binop.op == Iop_Sub64)
902 && e->Iex.Binop.arg2->tag == Iex_Const
903 && e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U64) {
904 Long simm = (Long)e->Iex.Binop.arg2->Iex.Const.con->Ico.U64;
911 HReg reg = iselIntExpr_R(env, e->Iex.Binop.arg1);
912 if (e->Iex.Binop.op == Iop_Sub64) simm = -simm;
919 && e->Iex.Binop.op == Iop_Add64
920 && e->Iex.Binop.arg2->tag == Iex_Const
921 && e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U64) {
922 ULong uimm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U64;
926 HReg reg = iselIntExpr_R(env, e->Iex.Binop.arg1);
933 && e->Iex.Binop.op == Iop_Add64) {
934 HReg reg1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
935 HReg reg2 = iselIntExpr_R(env, e->Iex.Binop.arg2);
974 //ZZ && (e->Iex.Binop.op == Iop_Add32 || e->Iex.Binop.op == Iop_Sub32)
975 //ZZ && e->Iex.Binop.arg2->tag == Iex_Const
976 //ZZ && e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U32) {
977 //ZZ Int simm = (Int)e->Iex.Binop.arg2->Iex.Const.con->Ico.U32;
980 //ZZ if (e->Iex.Binop.op == Iop_Sub32)
982 //ZZ reg = iselIntExpr_R(env, e->Iex.Binop.arg1);
1532 && (e->Iex.Binop.op == Iop_CmpEQ64
1533 || e->Iex.Binop.op == Iop_CmpNE64
1534 || e->Iex.Binop.op == Iop_CmpLT64S
1535 || e->Iex.Binop.op == Iop_CmpLT64U
1536 || e->Iex.Binop.op == Iop_CmpLE64S
1537 || e->Iex.Binop.op == Iop_CmpLE64U)) {
1538 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1539 ARM64RIA* argR = iselIntExpr_RIA(env, e->Iex.Binop.arg2);
1541 switch (e->Iex.Binop.op) {
1554 && (e->Iex.Binop.op == Iop_CmpEQ32
1555 || e->Iex.Binop.op == Iop_CmpNE32
1556 || e->Iex.Binop.op == Iop_CmpLT32S
1557 || e->Iex.Binop.op == Iop_CmpLT32U
1558 || e->Iex.Binop.op == Iop_CmpLE32S
1559 || e->Iex.Binop.op == Iop_CmpLE32U)) {
1560 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1561 ARM64RIA* argR = iselIntExpr_RIA(env, e->Iex.Binop.arg2);
1563 switch (e->Iex.Binop.op) {
1592 //ZZ // && (e->Iex.Binop.op == Iop_CasCmpEQ32
1593 //ZZ // || e->Iex.Binop.op == Iop_CasCmpEQ16
1594 //ZZ // || e->Iex.Binop.op == Iop_CasCmpEQ8)) {
1670 switch (e->Iex.Binop.op) {
1672 if (isZeroU64(e->Iex.Binop.arg1)) {
1673 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1684 switch (e->Iex.Binop.op) {
1687 Bool isAdd = e->Iex.Binop.op == Iop_Add64
1688 || e->Iex.Binop.op == Iop_Add32;
1690 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1691 ARM64RIA* argR = iselIntExpr_RIA(env, e->Iex.Binop.arg2);
1700 switch (e->Iex.Binop.op) {
1706 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1707 ARM64RIL* argR = iselIntExpr_RIL(env, e->Iex.Binop.arg2);
1716 switch (e->Iex.Binop.op) {
1722 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1723 ARM64RI6* argR = iselIntExpr_RI6(env, e->Iex.Binop.arg2);
1729 Bool zx = e->Iex.Binop.op == Iop_Shr32;
1730 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1731 ARM64RI6* argR = iselIntExpr_RI6(env, e->Iex.Binop.arg2);
1741 if (e->Iex.Binop.op == Iop_Mul64 || e->Iex.Binop.op == Iop_Mul32) {
1742 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1743 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1750 if (e->Iex.Binop.op == Iop_MullU32 || e->Iex.Binop.op == Iop_MullS32) {
1751 Bool isS = e->Iex.Binop.op == Iop_MullS32;
1752 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1754 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1763 if (e->Iex.Binop.op == Iop_Max32U) {
1764 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1765 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1772 if (e->Iex.Binop.op == Iop_32HLto64) {
1773 HReg hi32s = iselIntExpr_R(env, e->Iex.Binop.arg1);
1774 HReg lo32s = iselIntExpr_R(env, e->Iex.Binop.arg2);
1784 if (e->Iex.Binop.op == Iop_CmpF64 || e->Iex.Binop.op == Iop_CmpF32) {
1785 Bool isD = e->Iex.Binop.op == Iop_CmpF64;
1786 HReg dL = (isD ? iselDblExpr : iselFltExpr)(env, e->Iex.Binop.arg1);
1787 HReg dR = (isD ? iselDblExpr : iselFltExpr)(env, e->Iex.Binop.arg2);
1808 switch (e->Iex.Binop.op) {
1836 conversion binop, and (2) iropt will never float that
1839 IRExpr* arg1 = e->Iex.Binop.arg1;
1854 (env, e->Iex.Binop.arg2);
1861 //ZZ if (e->Iex.Binop.op == Iop_GetElem8x8
1862 //ZZ || e->Iex.Binop.op == Iop_GetElem16x4
1863 //ZZ || e->Iex.Binop.op == Iop_GetElem32x2) {
1865 //ZZ HReg arg = iselNeon64Expr(env, e->Iex.Binop.arg1);
1867 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
1868 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
1872 //ZZ index = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
1873 //ZZ switch (e->Iex.Binop.op) {
1886 //ZZ if (e->Iex.Binop.op == Iop_GetElem8x16
1887 //ZZ || e->Iex.Binop.op == Iop_GetElem16x8
1888 //ZZ || e->Iex.Binop.op == Iop_GetElem32x4) {
1890 //ZZ HReg arg = iselNeonExpr(env, e->Iex.Binop.arg1);
1892 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
1893 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
1897 //ZZ index = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
1898 //ZZ switch (e->Iex.Binop.op) {
1913 switch (e->Iex.Binop.op) {
1973 HReg regL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1974 HReg regR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2408 switch (e->Iex.Binop.op) {
2412 Bool syned = toBool(e->Iex.Binop.op == Iop_MullS64);
2413 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
2414 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2427 *rHi = iselIntExpr_R(env, e->Iex.Binop.arg1);
2428 *rLo = iselIntExpr_R(env, e->Iex.Binop.arg2);
2526 //ZZ switch (e->Iex.Binop.op) {
2531 //ZZ HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
2532 //ZZ HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2535 //ZZ ARMMulOp mop = e->Iex.Binop.op == Iop_MullS32
2551 //ZZ iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1);
2552 //ZZ iselInt64Expr(&yHi, &yLo, env, e->Iex.Binop.arg2);
2564 //ZZ iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1);
2565 //ZZ iselInt64Expr(&yHi, &yLo, env, e->Iex.Binop.arg2);
2575 //ZZ *rHi = iselIntExpr_R(env, e->Iex.Binop.arg1);
2576 //ZZ *rLo = iselIntExpr_R(env, e->Iex.Binop.arg2);
2760 //ZZ switch (e->Iex.Binop.op) {
2774 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2775 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2782 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2783 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2790 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2791 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2799 //ZZ HReg rHi = iselIntExpr_R(env, e->Iex.Binop.arg1);
2800 //ZZ HReg rLo = iselIntExpr_R(env, e->Iex.Binop.arg2);
2811 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2812 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2814 //ZZ switch (e->Iex.Binop.op) {
2827 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2828 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2836 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2837 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2845 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2846 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2862 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2863 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2866 //ZZ switch (e->Iex.Binop.op) {
2888 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2889 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2892 //ZZ switch (e->Iex.Binop.op) {
2912 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2913 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2916 //ZZ switch (e->Iex.Binop.op) {
2934 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2935 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2937 //ZZ switch (e->Iex.Binop.op) {
2953 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2954 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2956 //ZZ switch (e->Iex.Binop.op) {
2972 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2973 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2975 //ZZ switch (e->Iex.Binop.op) {
2988 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2989 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3000 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3001 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3003 Binop.op) {
3019 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3020 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3022 //ZZ switch (e->Iex.Binop.op) {
3037 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3038 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3040 //ZZ switch (e->Iex.Binop.op) {
3054 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3055 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3057 //ZZ switch (e->Iex.Binop.op) {
3071 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3072 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3074 //ZZ switch (e->Iex.Binop.op) {
3088 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3089 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3091 //ZZ switch (e->Iex.Binop.op) {
3105 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3106 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3110 //ZZ switch (e->Iex.Binop.op) {
3129 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3130 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3132 //ZZ switch (e->Iex.Binop.op) {
3147 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3148 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3152 //ZZ switch (e->Iex.Binop.op) {
3169 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3170 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3172 //ZZ switch (e->Iex.Binop.op) {
3187 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3188 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3190 //ZZ switch (e->Iex.Binop.op) {
3206 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3207 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3209 //ZZ switch (e->Iex.Binop.op) {
3225 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3227 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
3228 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
3232 //ZZ imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
3233 //ZZ switch (e->Iex.Binop.op) {
3249 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3251 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
3252 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
3256 //ZZ imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
3257 //ZZ switch (e->Iex.Binop.op) {
3273 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3275 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
3276 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
3280 //ZZ imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
3281 //ZZ switch (e->Iex.Binop.op) {
3298 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3299 //ZZ HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
3302 //ZZ switch (e->Iex.Binop.op) {
3321 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3324 //ZZ if (e->Iex.Binop.op == Iop_Shl64
3325 //ZZ && e->Iex.Binop.arg2->tag == Iex_Const) {
3326 //ZZ vassert(e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U8);
3327 //ZZ Int nshift = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
3334 //ZZ HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
3336 //ZZ switch (e->Iex.Binop.op) {
3355 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3356 //ZZ HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
3359 //ZZ switch (e->Iex.Binop.op) {
3376 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3377 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3379 //ZZ switch (e->Iex.Binop.op) {
3393 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3394 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3396 //ZZ switch (e->Iex.Binop.op) {
3410 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3411 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3413 //ZZ switch (e->Iex.Binop.op) {
3427 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3428 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3430 //ZZ switch(e->Iex.Binop.op) {
3442 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3443 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3452 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3453 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3455 //ZZ switch(e->Iex.Binop.op) {
3468 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3469 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3471 //ZZ switch(e->Iex.Binop.op) {
3485 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3486 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3488 //ZZ switch(e->Iex.Binop.op) {
3500 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3501 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3511 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3512 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3514 //ZZ switch(e->Iex.Binop.op) {
3528 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3529 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3531 //ZZ switch(e->Iex.Binop.op) {
3545 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3546 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3548 //ZZ switch(e->Iex.Binop.op) {
3562 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3563 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3565 //ZZ switch(e->Iex.Binop.op) {
3577 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3578 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3585 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3586 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3594 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3595 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3602 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3603 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3610 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3611 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3618 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3619 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3626 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3627 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3634 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3635 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3642 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3643 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3653 //ZZ HReg arg = iselNeon64Expr(env, e->Iex.Binop.arg1);
3656 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
3657 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
3661 //ZZ imm6 = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
3664 //ZZ switch(e->Iex.Binop.op) {
3680 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3684 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
3685 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
3689 //ZZ index = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
3690 //ZZ switch(e->Iex.Binop.op) {
3766 //ZZ unop(Iop_Not64, binop(Iop_CmpGT8Sx8, bind(1), bind(0))));
3768 //ZZ unop(Iop_Not64, binop(Iop_CmpGT16Sx4, bind(1), bind(0))));
3770 //ZZ unop(Iop_Not64, binop(Iop_CmpGT32Sx2, bind(1), bind(0))));
3772 //ZZ unop(Iop_Not64, binop(Iop_CmpGT8Ux8, bind(1), bind(0))));
3774 //ZZ unop(Iop_Not64, binop(Iop_CmpGT16Ux4, bind(1), bind(0))));
3776 //ZZ unop(Iop_Not64, binop(Iop_CmpGT32Ux2, bind(1), bind(0))));
3850 //ZZ unop(Iop_Dup8x8, binop(Iop_GetElem8x8, bind(0), bind(1))));
3852 //ZZ unop(Iop_Dup16x4, binop(Iop_GetElem16x4, bind(0), bind(1))));
3854 //ZZ unop(Iop_Dup32x2, binop(Iop_GetElem32x2, bind(0), bind(1))));
3930 //ZZ switch(e->Iex.Binop.op) {
3945 //ZZ switch(e->Iex.Binop.op) {
3960 //ZZ switch(e->Iex.Binop.op) {
4027 //ZZ switch(e->Iex.Binop.op) {
4043 //ZZ switch(e->Iex.Binop.op) {
4059 //ZZ switch(e->Iex.Binop.op) {
4075 //ZZ switch(e->Iex.Binop.op) {
4091 //ZZ switch(e->Iex.Binop.op) {
4107 //ZZ switch(e->Iex.Binop.op) {
4131 //ZZ switch(e->Iex.Binop.op) {
4147 //ZZ switch(e->Iex.Binop.op) {
4194 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
4201 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
4210 //ZZ binop(Iop_Sub32Fx2,
4494 //ZZ unop(Iop_NotV128, binop(Iop_CmpGT8Sx16, bind(1), bind(0))));
4496 //ZZ unop(Iop_NotV128, binop(Iop_CmpGT16Sx8, bind(1), bind(0))));
4498 //ZZ unop(Iop_NotV128, binop(Iop_CmpGT32Sx4, bind(1), bind(0))));
4500 //ZZ unop(Iop_NotV128, binop(Iop_CmpGT8Ux16, bind(1), bind(0))));
4502 //ZZ unop(Iop_NotV128, binop(Iop_CmpGT16Ux8, bind(1), bind(0))));
4504 //ZZ unop(Iop_NotV128, binop(Iop_CmpGT32Ux4, bind(1), bind(0))));
4578 //ZZ unop(Iop_Dup8x16, binop(Iop_GetElem8x8, bind(0), bind(1))));
4580 //ZZ unop(Iop_Dup16x8, binop(Iop_GetElem16x4, bind(0), bind(1))));
4582 //ZZ unop(Iop_Dup32x4, binop(Iop_GetElem32x2, bind(0), bind(1))));
4658 //ZZ switch(e->Iex.Binop.op) {
4673 //ZZ switch(e->Iex.Binop.op) {
4688 //ZZ switch(e->Iex.Binop.op) {
4754 //ZZ switch(e->Iex.Binop.op) {
4770 //ZZ switch(e->Iex.Binop.op) {
4793 //ZZ switch(e->Iex.Binop.op) {
4808 //ZZ switch(e->Iex.Binop.op) {
4887 switch (e->Iex.Binop.op) {
4890 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
4891 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
4897 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4898 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4905 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4906 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4913 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4914 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4969 HReg argL = iselV128Expr(env, e->Iex.Binop.arg1);
4970 HReg argR = iselV128Expr(env, e->Iex.Binop.arg2);
4973 switch (e->Iex.Binop.op) {
5030 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5031 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5039 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5040 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5048 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5049 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5065 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5066 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5069 //ZZ switch (e->Iex.Binop.op) {
5093 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5094 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5097 //ZZ switch (e->Iex.Binop.op) {
5121 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5122 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5125 //ZZ switch (e->Iex.Binop.op) {
5145 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5146 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5148 //ZZ switch (e->Iex.Binop.op) {
5154 //ZZ ppIROp(e->Iex.Binop.op);
5166 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5167 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5169 //ZZ switch (e->Iex.Binop.op) {
5175 //ZZ ppIROp(e->Iex.Binop.op);
5187 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5188 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5190 //ZZ switch (e->Iex.Binop.op) {
5196 //ZZ ppIROp(e->Iex.Binop.op);
5205 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5206 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5217 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5218 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5220 //ZZ switch (e->Iex.Binop.op) {
5226 //ZZ ppIROp(e->Iex.Binop.op);
5238 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5239 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5241 //ZZ switch (e->Iex.Binop.op) {
5247 //ZZ ppIROp(e->Iex.Binop.op);
5258 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5259 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5261 //ZZ switch (e->Iex.Binop.op) {
5275 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5276 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5278 //ZZ switch (e->Iex.Binop.op) {
5292 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5293 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5295 //ZZ switch (e->Iex.Binop.op) {
5309 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5310 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5312 //ZZ switch (e->Iex.Binop.op) {
5327 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5328 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5332 //ZZ switch (e->Iex.Binop.op) {
5351 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5352 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5354 //ZZ switch (e->Iex.Binop.op) {
5370 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5371 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5375 //ZZ switch (e->Iex.Binop.op) {
5394 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5395 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5397 //ZZ switch (e->Iex.Binop.op) {
5413 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5414 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5416 //ZZ switch (e->Iex.Binop.op) {
5432 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5433 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5435 //ZZ switch (e->Iex.Binop.op) {
5451 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5453 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
5454 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
5458 //ZZ imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
5459 //ZZ switch (e->Iex.Binop.op) {
5475 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5477 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
5478 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
5482 //ZZ imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
5483 //ZZ switch (e->Iex.Binop.op) {
5499 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5501 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
5502 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
5506 //ZZ imm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
5507 //ZZ switch (e->Iex.Binop.op) {
5531 IRExpr* argL = e->Iex.Binop.arg1;
5532 IRExpr* argR = e->Iex.Binop.arg2;
5537 switch (e->Iex.Binop.op) {
5583 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5584 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5586 //ZZ switch (e->Iex.Binop.op) {
5600 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5601 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5603 //ZZ switch (e->Iex.Binop.op) {
5617 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5618 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5620 //ZZ switch (e->Iex.Binop.op) {
5634 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5635 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5637 //ZZ switch(e->Iex.Binop.op) {
5649 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5650 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5660 HReg argL = iselDblExpr(env, e->Iex.Binop.arg1);
5661 HReg argR = iselDblExpr(env, e->Iex.Binop.arg2);
5665 switch(e->Iex.Binop.op) {
5679 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5680 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5682 //ZZ switch(e->Iex.Binop.op) {
5696 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5697 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5699 //ZZ switch(e->Iex.Binop.op) {
5712 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5713 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5715 //ZZ switch(e->Iex.Binop.op) {
5728 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5729 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5731 //ZZ switch(e->Iex.Binop.op) {
5742 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5743 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5751 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5752 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5759 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5760 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5767 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5768 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5775 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5776 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5783 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5784 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5791 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5792 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5799 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5800 Binop.arg2);
5808 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5809 //ZZ HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5820 //ZZ HReg arg = iselNeonExpr(env, e->Iex.Binop.arg1);
5823 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
5824 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
5828 //ZZ imm6 = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
5831 //ZZ switch(e->Iex.Binop.op) {
5847 //ZZ HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5850 //ZZ if (e->Iex.Binop.arg2->tag != Iex_Const ||
5851 //ZZ typeOfIRExpr(env->type_env, e->Iex.Binop.arg2) != Ity_I8) {
5855 //ZZ index = e->Iex.Binop.arg2->Iex.Const.con->Ico.U8;
5856 //ZZ switch(e->Iex.Binop.op) {
5875 //ZZ HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5876 //ZZ HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5878 //ZZ switch(e->Iex.Binop.op) {
5891 } /* switch on the binop */
6068 switch (e->Iex.Binop.op) {
6070 HReg src = iselDblExpr(env, e->Iex.Binop.arg2);
6072 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
6077 HReg src = iselDblExpr(env, e->Iex.Binop.arg2);
6079 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
6085 ARM64CvtOp cvt_op = e->Iex.Binop.op == Iop_I64StoF64
6087 HReg srcI = iselIntExpr_R(env, e->Iex.Binop.arg2);
6088 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
6228 switch (e->Iex.Binop.op) {
6230 HReg src = iselFltExpr(env, e->Iex.Binop.arg2);
6232 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
6237 HReg src = iselFltExpr(env, e->Iex.Binop.arg2);
6239 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
6244 HReg srcD = iselDblExpr(env, e->Iex.Binop.arg2);
6245 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
6255 switch (e->Iex.Binop.op) {
6262 HReg srcI = iselIntExpr_R(env, e->Iex.Binop.arg2);
6263 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);