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

--- Comment #4 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
Author: aldyh
Date: Wed Sep 13 15:51:23 2017
New Revision: 252112

URL: https://gcc.gnu.org/viewcvs?rev=252112&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  <kreb...@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  <kreb...@linux.vnet.ibm.com>

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

Added:
    branches/range-gen2/gcc/testsuite/gcc.target/s390/pr81534.c
Modified:
    branches/range-gen2/gcc/ChangeLog
    branches/range-gen2/gcc/config/s390/s390.md
    branches/range-gen2/gcc/testsuite/ChangeLog

Reply via email to