On Thu, Feb 4, 2016 at 6:33 AM, Alan Modra <amo...@gmail.com> wrote: > On Wed, Feb 03, 2016 at 05:34:17PM -0500, David Edelsohn wrote: >> On Wed, Feb 3, 2016 at 5:28 PM, Jakub Jelinek <ja...@redhat.com> wrote: >> > Hi! >> > >> > rs6000_expand_atomic_compare_and_swap uses oldval directly in >> > a comparison instruction, but oldval might be a CONST_INT not suitable >> > for the instruction (such as in the testcase below in SImode comparison >> > 0x8000 constant). We need to force those into register if they don't >> > satisfy the predicate. >> > >> > Bootstrapped/regtested on powerpc64{,le}-linux, ok for trunk? >> > >> > 2016-02-03 Jakub Jelinek <ja...@redhat.com> >> > >> > PR target/69644 >> > * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): >> > Force oldval into register if it does not satisfy >> > reg_or_short_operand >> > predicate. Fix up formatting. >> > >> > * gcc.dg/pr69644.c: New test. >> >> Okay. > > This needs to go on gcc-5 and gcc-4.9 branches too, where it fixes > pr69146. pr69146 and pr69644 are dups. OK to apply to the branches?
Okay with me, but coordinate with Jakub. Thanks, David