Re: powerpc compare_and_swap fails

2011-11-17 Thread Richard Henderson
On 11/17/2011 02:34 PM, David Edelsohn wrote: > On Thu, Nov 17, 2011 at 3:25 PM, Richard Henderson wrote: >> On 11/17/2011 12:37 AM, Alan Modra wrote: >>> - oldval = convert_modes (SImode, mode, oldval, 1); >>> + oldval = gen_reg_rtx (SImode); >>> + convert_move (oldval, orig, 1); >

Re: powerpc compare_and_swap fails

2011-11-17 Thread David Edelsohn
On Thu, Nov 17, 2011 at 3:25 PM, Richard Henderson wrote: > On 11/17/2011 12:37 AM, Alan Modra wrote: >> -      oldval = convert_modes (SImode, mode, oldval, 1); >> +      oldval = gen_reg_rtx (SImode); >> +      convert_move (oldval, orig, 1); >>        oldval = expand_simple_binop (SImode, ASHIF

Re: powerpc compare_and_swap fails

2011-11-17 Thread Richard Henderson
On 11/17/2011 12:37 AM, Alan Modra wrote: > - oldval = convert_modes (SImode, mode, oldval, 1); > + oldval = gen_reg_rtx (SImode); > + convert_move (oldval, orig, 1); >oldval = expand_simple_binop (SImode, ASHIFT, oldval, shift, > oldval, 1,

powerpc compare_and_swap fails

2011-11-17 Thread Alan Modra
I'm seeing a lot of testsuite failures on powerpc-linux, some of which are locking related. For example: WARNING: Program timed out. FAIL: libgomp.c/atomic-10.c execution test This one fails in f3() here: #pragma omp atomic z4 *= 3; z4 is an unsigned char, so we hit the QImode case in rs60