[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