[PATCH, rs6000] Change word selector to prefered location for vec_insert builtin

Bill Schmidt wschmidt@linux.ibm.com
Mon Jun 25 13:25:00 GMT 2018


> On Jun 22, 2018, at 7:56 PM, Segher Boessenkool <segher@kernel.crashing.org> wrote:
> 
> Hi Carl,
> 
> On Fri, Jun 22, 2018 at 07:32:47AM -0700, Carl Love wrote:
>> The following patch changes the word selected when extracting the word
>> from the second vector to insert into the first vector by the
>> vec_insert() builtin.
>> 
>> Specifically, the test case
>> 
>> vector float
>> fn2 (float a, vector float b)
>> {
>>   return vec_insert (a, b, 1);
>> }
>> 
>> without the patch  generates the code sequence 
>> 
>>      xscvdpspn vs0,vs1
>>      xxextractuw vs0,vs0,4            
>>      xxinsertw vs34,vs0,8
> 
> [ For -mcpu=power9 -mlittle ]
> 
> Is this from something in the testsuite?  I can't find it.

It's not from the testsuite.  I found the problem while working on some
vector intrinsic documentation and alerted Carl.

Thanks,
Bill
> 
>> The xscvdpspn places the extracted word into words 0 and 1 of the
>> destination.  The xxextractuw extracts word 1 (offset of 4 bytes)from
>> the source.  The patch changes the offset so that the xxexractuw will
>> extract word 0 (offset 0 bytes) instead of word 1.  The values are the
>> same so there is no functional change. But it was decided that using
>> word 0 was preferred choice.
> 
> The patch looks fine.  Okay for trunk.  Thanks!
> 
> 
> Segher
> 



More information about the Gcc-patches mailing list