Home | History | Annotate | Download | only in priv

Lines Matching refs:cc_dep2

853 #define S390_CC_FOR_BINARY(opcode,cc_dep1,cc_dep2) \
858 : [op2] "d"(cc_dep2) \
863 #define S390_CC_FOR_TERNARY_SUBB(opcode,cc_dep1,cc_dep2,cc_ndep) \
867 cc_dep2 = cc_dep2 ^ cc_ndep; \
873 : [op2] "d"(cc_dep2), [op3] "d"(cc_ndep) \
878 #define S390_CC_FOR_TERNARY_ADDC(opcode,cc_dep1,cc_dep2,cc_ndep) \
882 cc_dep2 = cc_dep2 ^ cc_ndep; \
888 : [op2] "d"(cc_dep2), [op3] "d"(cc_ndep) \
938 #define S390_CC_FOR_BFP_TDC(opcode,cc_dep1,cc_dep2) \
944 [class] "a"(cc_dep2) \
949 #define S390_CC_FOR_BFP128_TDC(cc_dep1,cc_dep2,cc_ndep) \
953 cc_dep2 = cc_dep2 ^ cc_ndep; \
959 : [high] "f"(cc_dep1), [low] "f"(cc_dep2), \
970 s390_calculate_cc(ULong cc_op, ULong cc_dep1, ULong cc_dep2, ULong cc_ndep)
981 return S390_CC_FOR_BINARY("cgr", cc_dep1, cc_dep2);
984 return S390_CC_FOR_BINARY("clgr", cc_dep1, cc_dep2);
987 return S390_CC_FOR_BINARY("agr", cc_dep1, cc_dep2);
990 return S390_CC_FOR_BINARY("ar", cc_dep1, cc_dep2);
993 return S390_CC_FOR_BINARY("sgr", cc_dep1, cc_dep2);
996 return S390_CC_FOR_BINARY("sr", cc_dep1, cc_dep2);
999 return S390_CC_FOR_BINARY("algr", cc_dep1, cc_dep2);
1002 return S390_CC_FOR_BINARY("alr", cc_dep1, cc_dep2);
1005 return S390_CC_FOR_TERNARY_ADDC("alcgr", cc_dep1, cc_dep2, cc_ndep);
1008 return S390_CC_FOR_TERNARY_ADDC("alcr", cc_dep1, cc_dep2, cc_ndep);
1011 return S390_CC_FOR_BINARY("slgr", cc_dep1, cc_dep2);
1014 return S390_CC_FOR_BINARY("slr", cc_dep1, cc_dep2);
1017 return S390_CC_FOR_TERNARY_SUBB("slbgr", cc_dep1, cc_dep2, cc_ndep);
1020 return S390_CC_FOR_TERNARY_SUBB("slbr", cc_dep1, cc_dep2, cc_ndep);
1044 UChar mask = cc_dep2;
1057 /* Create a TMLL insn with the mask as given by cc_dep2 */
1058 UInt insn = (0xA701 << 16) | cc_dep2;
1075 : [amount] "a"(cc_dep2)
1089 : [amount] "a"(cc_dep2)
1098 if (cc_dep2 & 1) {
1102 if (cc_dep2 & 2) {
1106 if (cc_dep2 & 4) {
1110 if (cc_dep2 & 8) {
1129 return S390_CC_FOR_BFP128_RESULT(cc_dep1, cc_dep2);
1138 return S390_CC_FOR_BFP128_CONVERT("cfxbr", cc_dep1, cc_dep2);
1147 return S390_CC_FOR_BFP128_CONVERT("cgxbr", cc_dep1, cc_dep2);
1150 return S390_CC_FOR_BFP_TDC("tceb", cc_dep1, cc_dep2);
1153 return S390_CC_FOR_BFP_TDC("tcdb", cc_dep1, cc_dep2);
1156 return S390_CC_FOR_BFP128_TDC(cc_dep1, cc_dep2, cc_ndep);
1224 IRExpr *cond_expr, *cc_op_expr, *cc_dep1, *cc_dep2;
1249 cc_dep2 = args[3];
1254 cc == 0 --> cc_dep1 == cc_dep2 (cond == 8)
1255 cc == 1 --> cc_dep1 < cc_dep2 (cond == 4)
1256 cc == 2 --> cc_dep1 > cc_dep2 (cond == 2)
1262 return unop(Iop_1Uto32, binop(Iop_CmpEQ64, cc_dep1, cc_dep2));
1265 return unop(Iop_1Uto32, binop(Iop_CmpNE64, cc_dep1, cc_dep2));
1268 return unop(Iop_1Uto32, binop(Iop_CmpLT64S, cc_dep1, cc_dep2));
1271 return unop(Iop_1Uto32, binop(Iop_CmpLE64S, cc_dep1, cc_dep2));
1273 /* cc_dep1 > cc_dep2 ----> cc_dep2 < cc_dep1 */
1275 return unop(Iop_1Uto32, binop(Iop_CmpLT64S, cc_dep2, cc_dep1));
1278 return unop(Iop_1Uto32, binop(Iop_CmpLE64S, cc_dep2, cc_dep1));
1290 cc == 0 --> cc_dep1 == cc_dep2 (cond == 8)
1291 cc == 1 --> cc_dep1 < cc_dep2 (cond == 4)
1292 cc == 2 --> cc_dep1 > cc_dep2 (cond == 2)
1298 return unop(Iop_1Uto32, binop(Iop_CmpEQ64, cc_dep1, cc_dep2));
1301 return unop(Iop_1Uto32, binop(Iop_CmpNE64, cc_dep1, cc_dep2));
1304 return unop(Iop_1Uto32, binop(Iop_CmpLT64U, cc_dep1, cc_dep2));
1307 return unop(Iop_1Uto32, binop(Iop_CmpLE64U, cc_dep1, cc_dep2));
1309 /* cc_dep1 > cc_dep2 ----> cc_dep2 < cc_dep1 */
1311 return unop(Iop_1Uto32, binop(Iop_CmpLT64U, cc_dep2, cc_dep1));
1314 return unop(Iop_1Uto32, binop(Iop_CmpLE64U, cc_dep2, cc_dep1));
1396 if (! isC64(cc_dep2)) goto missed;
1398 mask = cc_dep2->Iex.Const.con->Ico.U64;
1470 if (! isC64(cc_dep2)) goto missed;
1472 mask16 = cc_dep2->Iex.Const.con->Ico.U64;
1484 binop(Iop_And64, cc_dep1, cc_dep2),
1489 binop(Iop_And64, cc_dep1, cc_dep2),
1494 binop(Iop_And64, cc_dep1, cc_dep2),
1495 cc_dep2));
1499 binop(Iop_And64, cc_dep1, cc_dep2),
1500 cc_dep2));
1512 if (! isC64(cc_dep2)) goto missed;
1514 mask16 = cc_dep2->Iex.Const.con->Ico.U64;
1525 binop(Iop_And64, cc_dep1, cc_dep2),
1530 binop(Iop_And64, cc_dep1, cc_dep2),
1535 binop(Iop_And64, cc_dep1, cc_dep2),
1540 binop(Iop_And64, cc_dep1, cc_dep2),
1556 binop(Iop_And64, cc_dep1, cc_dep2),
1569 binop(Iop_And64, cc_dep1, cc_dep2),
1581 binop(Iop_And64, cc_dep1, cc_dep2),
1607 cc_dep1, cc_dep2 are the zero extended left and right operands
1613 cc = (cc_dep1 == cc_dep2) ? 2
1614 : (cc_dep1 > cc_dep2) ? 3 : 1;
1620 return unop(Iop_1Uto32, binop(Iop_CmpLT64U, cc_dep2, cc_dep1));
1623 return unop(Iop_1Uto32, binop(Iop_CmpEQ64, cc_dep1, cc_dep2));
1626 return unop(Iop_1Uto32, binop(Iop_CmpLT64U, cc_dep1, cc_dep2));
1629 return unop(Iop_1Uto32, binop(Iop_CmpLE64U, cc_dep2, cc_dep1));
1632 return unop(Iop_1Uto32, binop(Iop_CmpLE64U, cc_dep1, cc_dep2));
1636 return unop(Iop_1Uto32, binop(Iop_CmpNE64, cc_dep1, cc_dep2));
1648 cc_dep1, cc_dep2 are the zero extended left and right operands
1658 binop(Iop_Or64, cc_dep1, cc_dep2),
1664 binop(Iop_Or64, cc_dep1, cc_dep2),
1669 binop(Iop_Add64, cc_dep1, cc_dep2),
1674 binop(Iop_Add64, cc_dep1, cc_dep2),
1683 cc_dep1, cc_dep2 are the zero extended left and right operands
1693 binop(Iop_Or64, cc_dep1, cc_dep2),
1699 binop(Iop_Or64, cc_dep1, cc_dep2),
1706 unop(Iop_64to32, cc_dep2)),
1713 unop(Iop_64to32, cc_dep2)),