]> git.ipfire.org Git - thirdparty/gcc.git/commit
S/390: Fix failing RTL check in s390_canonicalize_comparison
authorIlya Leoshkevich <iii@linux.ibm.com>
Wed, 6 Nov 2019 10:10:04 +0000 (10:10 +0000)
committerIlya Leoshkevich <iii@gcc.gnu.org>
Wed, 6 Nov 2019 10:10:04 +0000 (10:10 +0000)
commitf06b51b0e29f14b3752daa90a899d99c15205813
treef61895b920a99466fc74df8f25419b13093617a4
parent814e123e96cc453b1e5eaf82d6de550c59d71651
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-11-06  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-11-06  Ilya Leoshkevich  <iii@linux.ibm.com>

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

From-SVN: r277874
gcc/ChangeLog
gcc/config/s390/s390.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/sigfpe-eh.c [new file with mode: 0644]