This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/81534] [7/8 Regression] ICE in in extract_insn, at recog.c:2311 (unrecognizable insn)


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81534

--- Comment #1 from Andreas Krebbel <krebbel at gcc dot gnu.org> ---
Author: krebbel
Date: Thu Jul 27 10:39:49 2017
New Revision: 250617

URL: https://gcc.gnu.org/viewcvs?rev=250617&root=gcc&view=rev
Log:
S/390: Fix PR81534

The HI/QI atomic_fetch_<atomic><mode>" expander accepted symbolic
references and emitted CAS patterns whose insn predicates rejected them.

Fixed by allowing symbolic references there as well.  Reload will get
rid of them due to the constraint letter.

Regression tested on s390x.

gcc/ChangeLog:

2017-07-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

        PR target/81534
        * config/s390/s390.md ("*atomic_compare_and_swap<mode>_1")
        ("*atomic_compare_and_swapdi_2", "*atomic_compare_and_swapsi_3"):
        Change s_operand to memory_operand.

gcc/testsuite/ChangeLog:

2017-07-27  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

        PR target/81534
        * gcc.target/s390/pr81534.c: New test.


Added:
    trunk/gcc/testsuite/gcc.target/s390/pr81534.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/s390/s390.md
    trunk/gcc/testsuite/ChangeLog

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]