https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81534
--- Comment #2 from Andreas Krebbel <krebbel at gcc dot gnu.org> --- Author: krebbel Date: Thu Jul 27 10:42:22 2017 New Revision: 250618 URL: https://gcc.gnu.org/viewcvs?rev=250618&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> Backport from mainline 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> Backport from mainline 2017-07-27 Andreas Krebbel <kreb...@linux.vnet.ibm.com> PR target/81534 * gcc.target/s390/pr81534.c: New test. Added: branches/gcc-7-branch/gcc/testsuite/gcc.target/s390/pr81534.c Modified: branches/gcc-7-branch/gcc/ChangeLog branches/gcc-7-branch/gcc/config/s390/s390.md branches/gcc-7-branch/gcc/testsuite/ChangeLog