On 05.09.2018 22:22, Ilya Leoshkevich wrote: > Inhibit constant propagation inlining SYMBOL_REF loads into > UNSPECV_CAS. Even though reload can later undo it, the resulting > code will be less efficient. > > gcc/ChangeLog: > > 2018-09-05 Ilya Leoshkevich <i...@linux.ibm.com> > > PR target/80080 > * config/s390/predicates.md: Add nonsym_memory_operand. > * config/s390/s390.c (s390_legitimize_cs_operand): If operand > contains a SYMBOL_REF, load it into an intermediate pseudo. > (s390_emit_compare_and_swap): Legitimize operand. > * config/s390/s390.md: Use the new nonsym_memory_operand > with UNSPECV_CAS patterns.
Committed. Thanks! Andreas