Re: [PATCH] rs6000: Fix peephole

2015-05-08 Thread Segher Boessenkool
On Fri, May 08, 2015 at 10:18:46AM -0400, David Edelsohn wrote: > > 2015-05-08 Segher Boessenkool > > > > * config/rs6000/rs6000.md: Require operand inequality in one > > of the peepholes. > > Okay. > > Is there an artificial testcase? I don't have one. Peepholes require opti

Re: [PATCH] rs6000: Fix peephole

2015-05-08 Thread David Edelsohn
On Fri, May 8, 2015 at 9:38 AM, Segher Boessenkool wrote: > This peephole transforms > > lis a,HI ; ori a,a,LO > cmpw c,a,b ; beq c,... > > to > > xoris a,b,HI1 > cmpwi c,a,LO1 ; beq c,... > > when a and c are dead after this. But it forgets to check that a and b > are not the same reg, g

[PATCH] rs6000: Fix peephole

2015-05-08 Thread Segher Boessenkool
This peephole transforms lis a,HI ; ori a,a,LO cmpw c,a,b ; beq c,... to xoris a,b,HI1 cmpwi c,a,LO1 ; beq c,... when a and c are dead after this. But it forgets to check that a and b are not the same reg, generating non-sensical code. This patch fixes that. Tested etc.; is this okay