Home | History | Annotate | Download | only in priv

Lines Matching refs:Iex

290    if (expr->tag == Iex_Binop && expr->Iex.Binop.op == Iop_Add64) {
291 IRExpr *arg1 = expr->Iex.Binop.arg1;
292 IRExpr *arg2 = expr->Iex.Binop.arg2;
303 if (arg2->tag == Iex_Const && arg2->Iex.Const.con->tag == Ico_U64) {
304 ULong value = arg2->Iex.Const.con->Ico.U64;
410 switch (expr->Iex.Const.con->tag) {
411 case Ico_U1: value = expr->Iex.Const.con->Ico.U1; break;
412 case Ico_U8: value = expr->Iex.Const.con->Ico.U8; break;
413 case Ico_U16: value = expr->Iex.Const.con->Ico.U16; break;
414 case Ico_U32: value = expr->Iex.Const.con->Ico.U32; break;
415 case Ico_U64: value = expr->Iex.Const.con->Ico.U64; break;
507 && guard->Iex.Const.con->tag == Ico_U1
508 && guard->Iex.Const.con->Ico.U1 == True) {
539 rounding_expr->Iex
540 IRRoundingMode mode = rounding_expr->Iex.Const.con->Ico.U32;
621 lookupIRTemp128(dst_hi, dst_lo, env, expr->Iex.RdTmp.tmp);
626 IRExpr *arg1 = expr->Iex.Binop.arg1;
627 IRExpr *arg2 = expr->Iex.Binop.arg2;
630 switch (expr->Iex.Binop.op) {
799 return lookupIRTemp(env, expr->Iex.RdTmp.tmp);
804 s390_amode *am = s390_isel_amode(env, expr->Iex.Load.addr);
806 if (expr->Iex.Load.end != Iend_BE)
816 IRExpr *arg1 = expr->Iex.Binop.arg1;
817 IRExpr *arg2 = expr->Iex.Binop.arg2;
826 switch (expr->Iex.Binop.op) {
993 size = (expr->Iex.Binop.op == Iop_CmpF32) ? 4 : 8;
1126 arg = expr->Iex.Unop.arg;
1132 unop = expr->Iex.Unop.op;
1133 binop = arg->Iex.Binop.op;
1140 h1 = s390_isel_int_expr(env, arg->Iex.Binop.arg1); /* 1st opnd */
1141 opnd = s390_isel_int_expr_RMI(env, arg->Iex.Binop.arg2); /* 2nd opnd */
1334 s390_amode *am = s390_amode_for_guest_state(expr->Iex.Get.offset);
1353 doHelperCall(env, False, NULL, expr->Iex.CCall.cee,
1354 expr->Iex.CCall.args, dst);
1365 const IRConst *con = expr->Iex.Const.con;
1387 cond_expr = expr->Iex.Mux0X.cond;
1390 r0 = s390_isel_int_expr_RMI(env, expr->Iex.Mux0X.expr0);
1391 rX = s390_isel_int_expr(env, expr->Iex.Mux0X.exprX);
1392 size = sizeofIRType(typeOfIRExpr(env->type_env, expr->Iex.Mux0X.exprX));
1394 if (cond_expr->tag == Iex_Unop && cond_expr->Iex.Unop.op == Iop_1Uto8) {
1395 s390_cc_t cc = s390_isel_cc(env, cond_expr->Iex.Unop.arg);
1418 size = sizeofIRType(typeOfIRExpr(env->type_env, expr->Iex.Mux0X.expr0));
1459 dst.variant.am = s390_isel_amode(env, expr->Iex.Load.addr);
1462 dst.variant.am = s390_amode_for_guest_state(expr->Iex.Get.offset);
1468 switch (expr->Iex.Const.con->tag) {
1469 case Ico_U1: value = expr->Iex.Const.con->Ico.U1; break;
1470 case Ico_U8: value = expr->Iex.Const.con->Ico.U8; break;
1471 case Ico_U16: value = expr->Iex.Const.con->Ico.U16; break;
1472 case Ico_U32: value = expr->Iex.Const.con->Ico.U32; break;
1473 case Ico_U64: value = expr->Iex.Const.con->Ico.U64; break;
1502 lookupIRTemp128(dst_hi, dst_lo, env, expr->Iex.RdTmp.tmp);
1509 lookupIRTemp128(dst_hi, dst_lo, env, expr->Iex.RdTmp.tmp);
1517 if (expr->Iex.Load.end != Iend_BE)
1520 addr_hi = expr->Iex.Load.addr;
1546 IRTriop *triop = expr->Iex.Triop.details;
1605 switch (expr->Iex.Binop.op) {
1607 s390_isel_float128_expr(&op_hi, &op_lo, env, expr->Iex.Binop.arg2);
1614 rounding_mode = decode_rounding_mode(expr->Iex.Binop.arg1);
1627 *dst_hi = s390_isel_float_expr(env, expr->Iex.Binop.arg1);
1628 *dst_lo = s390_isel_float_expr(env, expr->Iex.Binop.arg2);
1638 IRExpr *left = expr->Iex.Unop.arg;
1649 switch (expr->Iex.Unop.op) {
1736 return lookupIRTemp(env, expr->Iex.RdTmp.tmp);
1741 s390_amode *am = s390_isel_amode(env, expr->Iex.Load.addr);
1743 if (expr->Iex.Load.end != Iend_BE)
1754 s390_amode *am = s390_amode_for_guest_state(expr->Iex.Get.offset);
1768 const IRConst *con = expr->Iex.Const.con;
1790 op1 = s390_isel_float_expr(env, expr->Iex.Qop.details->arg2);
1791 op2 = s390_isel_float_expr(env, expr->Iex.Qop.details->arg3);
1792 op3 = s390_isel_float_expr(env, expr->Iex.Qop.details->arg4);
1796 switch (expr->Iex.Qop.details->op) {
1806 rounding_mode = decode_rounding_mode(expr->Iex.Qop.details->arg1);
1814 IRTriop *triop = expr->Iex.Triop.details;
1847 IROp op = expr->Iex.Binop.op;
1848 IRExpr *left = expr->Iex.Binop.arg2;
1881 rounding_mode = decode_rounding_mode(expr->Iex.Binop.arg1);
1883 s390_isel_float128_expr(&op_hi, &op_lo, env, expr->Iex.Binop.arg2);
1913 rounding_mode = decode_rounding_mode(expr->Iex.Binop.arg1);
1920 IROp op = expr->Iex.Unop.op;
1921 IRExpr *left = expr->Iex.Unop.arg;
1945 (left->Iex.Unop.op == Iop_AbsF32 || left->Iex.Unop.op == Iop_AbsF64))
1963 h1 = s390_isel_float_expr(env, left->Iex.Unop.arg);
2011 vassert(cond->Iex.Const.con->tag == Ico_U1);
2012 vassert(cond->Iex.Const.con->Ico.U1 == True
2013 || cond->Iex.Const.con->Ico.U1 == False);
2015 return cond->Iex.Const.con->Ico.U1 == True ? S390_CC_ALWAYS : S390_CC_NEVER;
2020 IRTemp tmp = cond->Iex.RdTmp.tmp;
2034 IRExpr *arg = cond->Iex.Unop.arg;
2036 switch (cond->Iex.Unop.op) {
2061 op = (cond->Iex.Unop.op == Iop_CmpNEZ8) ? S390_ZERO_EXTEND_8
2087 IRExpr *arg1 = cond->Iex.Binop.arg1;
2088 IRExpr *arg2 = cond->Iex.Binop.arg2;
2093 switch (cond->Iex.Binop.op) {
2178 return (cond->Iex.Binop.op == Iop_CmpLT32S ||
2179 cond->Iex.Binop.op == Iop_CmpLT64S) ? S390_CC_L : S390_CC_LE;
2194 return (cond->Iex.Binop.op == Iop_CmpLT32U ||
2195 cond->Iex.Binop.op == Iop_CmpLT64U) ? S390_CC_L : S390_CC_LE;
2307 new_value = stmt->Ist.Put.data->Iex.Const.con->Ico.U64;
2646 IRConst *cdst = next->Iex.Const.con;