Home | History | Annotate | Download | only in priv

Lines Matching refs:Binop

870        && (e->Iex.Binop.op == Iop_Add64 || e->Iex.Binop.op == Iop_Sub64)
871 && e->Iex.Binop.arg2->tag == Iex_Const
872 && e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U64) {
873 Long simm = (Long)e->Iex.Binop.arg2->Iex.Const.con->Ico.U64;
880 HReg reg = iselIntExpr_R(env, e->Iex.Binop.arg1);
881 if (e->Iex.Binop.op == Iop_Sub64) simm = -simm;
888 && e->Iex.Binop.op == Iop_Add64
889 && e->Iex.Binop.arg2->tag == Iex_Const
890 && e->Iex.Binop.arg2->Iex.Const.con->tag == Ico_U64) {
891 ULong uimm = e->Iex.Binop.arg2->Iex.Const.con->Ico.U64;
895 HReg reg = iselIntExpr_R(env, e->Iex.Binop.arg1);
902 && e->Iex.Binop.op == Iop_Add64) {
903 HReg reg1 = iselIntExpr_R(env, e->Iex.Binop.arg1);
904 HReg reg2 = iselIntExpr_R(env, e->Iex.Binop.arg2);
1381 && (e->Iex.Binop.op == Iop_CmpEQ64
1382 || e->Iex.Binop.op == Iop_CmpNE64
1383 || e->Iex.Binop.op == Iop_CmpLT64S
1384 || e->Iex.Binop.op == Iop_CmpLT64U
1385 || e->Iex.Binop.op == Iop_CmpLE64S
1386 || e->Iex.Binop.op == Iop_CmpLE64U)) {
1387 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1388 ARM64RIA* argR = iselIntExpr_RIA(env, e->Iex.Binop.arg2);
1390 switch (e->Iex.Binop.op) {
1403 && (e->Iex.Binop.op == Iop_CmpEQ32
1404 || e->Iex.Binop.op == Iop_CmpNE32
1405 || e->Iex.Binop.op == Iop_CmpLT32S
1406 || e->Iex.Binop.op == Iop_CmpLT32U
1407 || e->Iex.Binop.op == Iop_CmpLE32S
1408 || e->Iex.Binop.op == Iop_CmpLE32U)) {
1409 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1410 ARM64RIA* argR = iselIntExpr_RIA(env, e->Iex.Binop.arg2);
1412 switch (e->Iex.Binop.op) {
1495 switch (e->Iex.Binop.op) {
1497 if (isZeroU64(e->Iex.Binop.arg1)) {
1498 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1509 switch (e->Iex.Binop.op) {
1512 Bool isAdd = e->Iex.Binop.op == Iop_Add64
1513 || e->Iex.Binop.op == Iop_Add32;
1515 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1516 ARM64RIA* argR = iselIntExpr_RIA(env, e->Iex.Binop.arg2);
1525 switch (e->Iex.Binop.op) {
1531 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1532 ARM64RIL* argR = iselIntExpr_RIL(env, e->Iex.Binop.arg2);
1541 switch (e->Iex.Binop.op) {
1547 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1548 ARM64RI6* argR = iselIntExpr_RI6(env, e->Iex.Binop.arg2);
1554 Bool zx = e->Iex.Binop.op == Iop_Shr32;
1555 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1556 ARM64RI6* argR = iselIntExpr_RI6(env, e->Iex.Binop.arg2);
1566 if (e->Iex.Binop.op == Iop_Mul64 || e->Iex.Binop.op == Iop_Mul32) {
1567 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1568 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1575 if (e->Iex.Binop.op == Iop_MullU32 || e->Iex.Binop.op == Iop_MullS32) {
1576 Bool isS = e->Iex.Binop.op == Iop_MullS32;
1577 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1579 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1588 if (e->Iex.Binop.op == Iop_Max32U) {
1589 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1590 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1597 if (e->Iex.Binop.op == Iop_32HLto64) {
1598 HReg hi32s = iselIntExpr_R(env, e->Iex.Binop.arg1);
1599 HReg lo32s = iselIntExpr_R(env, e->Iex.Binop.arg2);
1609 if (e->Iex.Binop.op == Iop_CmpF64 || e->Iex.Binop.op == Iop_CmpF32) {
1610 Bool isD = e->Iex.Binop.op == Iop_CmpF64;
1611 HReg dL = (isD ? iselDblExpr : iselFltExpr)(env, e->Iex.Binop.arg1);
1612 HReg dR = (isD ? iselDblExpr : iselFltExpr)(env, e->Iex.Binop.arg2);
1633 switch (e->Iex.Binop.op) {
1661 conversion binop, and (2) iropt will never float that
1664 IRExpr* arg1 = e->Iex.Binop.arg1;
1679 (env, e->Iex.Binop.arg2);
1688 switch (e->Iex.Binop.op) {
1702 HReg regL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1703 HReg regR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2091 switch (e->Iex.Binop.op) {
2095 Bool syned = toBool(e->Iex.Binop.op == Iop_MullS64);
2096 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
2097 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2110 *rHi = iselIntExpr_R(env, e->Iex.Binop.arg1);
2111 *rLo = iselIntExpr_R(env, e->Iex.Binop.arg2);
2365 switch (e->Iex.Binop.op) {
2368 HReg arg = iselV128Expr(env, e->Iex.Binop.arg2);
2370 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
2372 = e->Iex.Binop.op == Iop_Sqrt32Fx4
2379 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
2380 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2440 HReg argL = iselV128Expr(env, e->Iex.Binop.arg1);
2441 HReg argR = iselV128Expr(env, e->Iex.Binop.arg2);
2445 switch (e->Iex.Binop.op) {
2592 HReg argL = iselV128Expr(env, e->Iex.Binop.arg1);
2593 HReg argR = iselV128Expr(env, e->Iex.Binop.arg2);
2595 switch (e->Iex.Binop.op) {
2631 IRExpr* argL = e->Iex.Binop.arg1;
2632 IRExpr* argR = e->Iex.Binop.arg2;
2639 switch (e->Iex.Binop.op) {
2667 switch (e->Iex.Binop.op) {
2706 switch (e->Iex.Binop.op) {
2747 IRExpr* argL = e->Iex.Binop.arg1;
2748 IRExpr* argR = e->Iex.Binop.arg2;
2753 switch (e->Iex.Binop.op) {
2839 Bool isSHR = e->Iex.Binop.op == Iop_ShrV128;
2845 IRExpr* argL = e->Iex.Binop.arg1;
2846 IRExpr* argR = e->Iex.Binop.arg2;
2889 HReg iSrcL = iselIntExpr_R(env, e->Iex.Binop.arg1);
2890 HReg iSrcR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2895 switch (e->Iex.Binop.op) {
2916 } /* switch on the binop */
3086 switch (e->Iex.Binop.op) {
3090 HReg src = iselDblExpr(env, e->Iex.Binop.arg2);
3092 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
3094 switch (e->Iex.Binop.op) {
3105 ARM64CvtOp cvt_op = e->Iex.Binop.op == Iop_I64StoF64
3107 HReg srcI = iselIntExpr_R(env, e->Iex.Binop.arg2);
3108 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
3255 switch (e->Iex.Binop.op) {
3259 HReg src = iselFltExpr(env, e->Iex.Binop.arg2);
3261 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
3263 switch (e->Iex.Binop.op) {
3273 HReg srcD = iselDblExpr(env, e->Iex.Binop.arg2);
3274 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
3284 switch (e->Iex.Binop.op) {
3291 HReg srcI = iselIntExpr_R(env, e->Iex.Binop.arg2);
3292 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
3377 switch (e->Iex.Binop.op) {
3379 HReg srcS = iselFltExpr(env, e->Iex.Binop.arg2);
3380 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
3386 HReg srcD = iselDblExpr(env, e->Iex.Binop.arg2);
3387 set_FPCR_rounding_mode(env, e->Iex.Binop.arg1);
3431 switch (e->Iex.Binop.op) {
3433 *rHi = iselV128Expr(env, e->Iex.Binop.arg1);
3434 *rLo = iselV128Expr(env, e->Iex.Binop.arg2);
3454 HReg argL = iselV128Expr(env, e->Iex.Binop.arg1);
3455 HReg argR = iselV128Expr(env, e->Iex.Binop.arg2);
3460 switch (e->Iex.Binop.op) {
3503 } /* switch on the binop */