Commit 837ee1e0 by Ilya Leoshkevich Committed by Ilya Leoshkevich

S/390: Fix failing RTL check in s390_canonicalize_comparison

The new sigfpe-eh.c fails with

    internal compiler error: RTL check: expected elt 0 type 'e' or 'u', have 'w' (rtx const_int)

This is most likely due to a typo: XEXP (*op1, 0) was used, when
XEXP (*op0, 1) was intended.  This did not cause any user-visible
problems, because reversed_comparison_code_parts ignores the
respective argument, and the release compiler is built without RTL
checks.

gcc/ChangeLog:

2019-09-03  Ilya Leoshkevich  <iii@linux.ibm.com>

	* config/s390/s390.c (s390_canonicalize_comparison): Use XEXP
	(*op0, 1) instead of XEXP (*op1, 0).

gcc/testsuite/ChangeLog:

2019-09-03  Ilya Leoshkevich  <iii@linux.ibm.com>

	* gcc.target/s390/sigfpe-eh.c: New test.

From-SVN: r275336
parent e1d5d19e
2019-09-03 Ilya Leoshkevich <iii@linux.ibm.com>
* config/s390/s390.c (s390_canonicalize_comparison): Use XEXP
(*op0, 1) instead of XEXP (*op1, 0).
2019-09-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2019-09-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64.md (UNSPEC_FJCVTZS): Define. * config/aarch64/aarch64.md (UNSPEC_FJCVTZS): Define.
......
...@@ -1783,7 +1783,7 @@ s390_canonicalize_comparison (int *code, rtx *op0, rtx *op1, ...@@ -1783,7 +1783,7 @@ s390_canonicalize_comparison (int *code, rtx *op0, rtx *op1,
if (*code == EQ) if (*code == EQ)
new_code = reversed_comparison_code_parts (GET_CODE (*op0), new_code = reversed_comparison_code_parts (GET_CODE (*op0),
XEXP (*op0, 0), XEXP (*op0, 0),
XEXP (*op1, 0), NULL); XEXP (*op0, 1), NULL);
else else
new_code = GET_CODE (*op0); new_code = GET_CODE (*op0);
......
2019-09-03 Ilya Leoshkevich <iii@linux.ibm.com>
* gcc.target/s390/sigfpe-eh.c: New test.
2019-09-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2019-09-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/acle/jcvt_1.c: New test. * gcc.target/aarch64/acle/jcvt_1.c: New test.
......
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