Re: [PATCH 2/2] s390: Convert from sync to atomic optabs

2012-08-06 Thread Richard Henderson
On 08/06/2012 11:50 AM, Richard Henderson wrote: > In the first patch I did, I had memory_operand and QS, but that > ran into reload failures. I assumed I'd just made a mistake. > > I'll see if I can replicate this for your debugging enjoyment... I think I had written =S instead of =QS, which of

Re: [PATCH 2/2] s390: Convert from sync to atomic optabs

2012-08-06 Thread Richard Henderson
On 08/06/2012 11:34 AM, Ulrich Weigand wrote: > Richard Henderson wrote: > > > Some more comments on this patch. > >> +; Different from movdi_31 in that we have no splitters. >> +(define_insn "atomic_loaddi_1" >> + [(set (match_operand:DI 0 "register_operand" "=d,d,!*f,!*f") >> +(unspec:DI

Re: [PATCH 2/2] s390: Convert from sync to atomic optabs

2012-08-06 Thread Ulrich Weigand
Richard Henderson wrote: Some more comments on this patch. > +; Different from movdi_31 in that we have no splitters. > +(define_insn "atomic_loaddi_1" > + [(set (match_operand:DI 0 "register_operand" "=d,d,!*f,!*f") > + (unspec:DI [(match_operand:DI 1 "s_operand" "Q,S,Q,m")] The constrain

[PATCH 2/2] s390: Convert from sync to atomic optabs

2012-07-30 Thread Richard Henderson
Split out s390_two_part_insv from s390_expand_cs_hqi to try harder to use bit insertion instructions in the CAS loop. --- gcc/config/s390/s390-protos.h |3 +- gcc/config/s390/s390.c| 141 ++- gcc/config/s390/s390.md | 401 + 3