On 11/16/18 11:06 AM, Segher Boessenkool wrote:
> Why does the "r" have a "*"?  Should it have been just a "?"?

Maybe Mike remembers why he added it?  I'd guess it was probably to
try and steer the vector modes away from GPRs.  However, since that
alternative was also suppose to handle TImode, "*" is probably not
what we want for that.  The constraint for the new combines alternative
uses a mode iterator so that the vector modes use "??r" while TImode
uses "r".  I think that is what we want.


> "W" is easy_vector_constant, which requires const_vector always; is that
> okay here?

Well, "wM" calls all_ones_constant which also requires const_vector, so
if it isn't correct now, then it wasn't correct before my patch either.
Since I'm using the (new) mode iterator <nW> and the "W" is only used
for the vector modes, I think we're ok here, aren't we?


>> I'll note I didn't change the vsx_mov<mode>_32bit pattern, since TImode
>> isn't supported with -m32.  However, if you want, I could remove the
>> redundant "*r" <- "jwM" alternative there too?
> 
> Yeah, please keep the patterns in synch.

Ok, I'll do the same thing and retest.


Peter



Reply via email to