Re: [PATCH, rs6000] Prefer vspltisw/h over xxspltib+instruction when available

2016-06-22 Thread Segher Boessenkool
On Wed, Jun 22, 2016 at 05:29:59PM -0400, Michael Meissner wrote: > This code should fix the problem. It does not allow constants in the > arguments. Combine will create one of the vec_duplicate patterns with a > constant integer that will generate VSPLTIS or XXSPLTIB/etc. I also > tightened the

Re: [PATCH, rs6000] Prefer vspltisw/h over xxspltib+instruction when available

2016-06-22 Thread Michael Meissner
On Wed, Jun 22, 2016 at 09:22:22AM -0500, Segher Boessenkool wrote: > Don't give up so easily? ;-) > > The predicate should be tightened, the expander should use a new predicate > that allows all those other things. The hardest part is figuring a good > name for it ;-) This code should fix the

Re: [PATCH, rs6000] Prefer vspltisw/h over xxspltib+instruction when available

2016-06-22 Thread Segher Boessenkool
On Tue, Jun 21, 2016 at 06:46:57PM -0500, Bill Schmidt wrote: > >> When I did this, I ran into a problem with an existing test case. We end > >> up matching the *vsx_splat_v4si_internal pattern instead of falling back > >> to the altivec_vspltisw pattern. The constraints don't match for constan

Re: [PATCH, rs6000] Prefer vspltisw/h over xxspltib+instruction when available

2016-06-21 Thread Bill Schmidt
> On Jun 21, 2016, at 5:34 PM, Segher Boessenkool > wrote: > > On Tue, Jun 21, 2016 at 03:14:51PM -0500, Bill Schmidt wrote: >> I discovered recently that, with -mcpu=power9, an attempt to generate a >> vspltish instruction resulted instead in an xxspltib followed by a vupkhsb. >> This is se

Re: [PATCH, rs6000] Prefer vspltisw/h over xxspltib+instruction when available

2016-06-21 Thread Segher Boessenkool
On Tue, Jun 21, 2016 at 03:14:51PM -0500, Bill Schmidt wrote: > I discovered recently that, with -mcpu=power9, an attempt to generate a > vspltish instruction resulted instead in an xxspltib followed by a vupkhsb. > This is semantically correct but the extra instruction is not optimal. I > fou

[PATCH, rs6000] Prefer vspltisw/h over xxspltib+instruction when available

2016-06-21 Thread Bill Schmidt
Hi, I discovered recently that, with -mcpu=power9, an attempt to generate a vspltish instruction resulted instead in an xxspltib followed by a vupkhsb. This is semantically correct but the extra instruction is not optimal. I found that there was some logic in xxspltib_constant_p to do special