Commit 71ce1a34 by Andreas Krebbel Committed by Andreas Krebbel

s390.c (s390_select_ccmode): Enable using CC of x + imm for higher immediates on z9-109 upwards.

2012-12-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_select_ccmode): Enable using CC of
          x + imm for higher immediates on z9-109 upwards.

From-SVN: r194141
parent 5005fe22
2012-12-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_select_ccmode): Enable using CC of
x + imm for higher immediates on z9-109 upwards.
2012-12-04 Richard Earnshaw <rearnsha@arm.com> 2012-12-04 Richard Earnshaw <rearnsha@arm.com>
* arm.opt (cirrus-fix-invalid-insns): Delete option. * arm.opt (cirrus-fix-invalid-insns): Delete option.
...@@ -691,7 +691,10 @@ s390_select_ccmode (enum rtx_code code, rtx op0, rtx op1) ...@@ -691,7 +691,10 @@ s390_select_ccmode (enum rtx_code code, rtx op0, rtx op1)
int a, b; if ((b = a + c) > 0) int a, b; if ((b = a + c) > 0)
with c as a constant value: c < 0 -> CCAN and c >= 0 -> CCAP */ with c as a constant value: c < 0 -> CCAN and c >= 0 -> CCAP */
if (GET_CODE (op0) == PLUS && GET_CODE (XEXP (op0, 1)) == CONST_INT if (GET_CODE (op0) == PLUS && GET_CODE (XEXP (op0, 1)) == CONST_INT
&& CONST_OK_FOR_K (INTVAL (XEXP (op0, 1)))) && (CONST_OK_FOR_K (INTVAL (XEXP (op0, 1)))
|| (CONST_OK_FOR_CONSTRAINT_P (INTVAL (XEXP (op0, 1)), 'O', "Os")
/* Avoid INT32_MIN on 32 bit. */
&& (!TARGET_ZARCH || INTVAL (XEXP (op0, 1)) != -0x7fffffff - 1))))
{ {
if (INTVAL (XEXP((op0), 1)) < 0) if (INTVAL (XEXP((op0), 1)) < 0)
return CCANmode; return CCANmode;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment