On 10/2/18 3:38 AM, Segher Boessenkool wrote:
> On Mon, Oct 01, 2018 at 11:09:44PM -0500, Aaron Sawdey wrote:
>> PR/87474 happens because I didn't check that both vector and VSX instructions
>> were enabled, so insns that are disabled get generated with
>> -mno-power8-vector.
>
>> PR target/87474
>> * config/rs6000/rs6000-string.c (expand_strn_compare): Check that both
>> vector and VSX are enabled.
>
> You mean "P8 vector" or similar, I think?
True, it should say TARGET_P[89]_VECTOR.
>
>
>> --- gcc/config/rs6000/rs6000-string.c (revision 264760)
>> +++ gcc/config/rs6000/rs6000-string.c (working copy)
>> @@ -2205,6 +2205,7 @@
>> }
>> else
>> {
>> + /* Implies TARGET_P8_VECTOR here. */
>
> That isn't true as far as I see.
We can only enter emit_final_str_compare_vec() if TARGET_P8_VECTOR is set.
That's the additional check this patch adds. So in this function you can have
both P8 and P9 vector, or just p8 vector. rs6000_option_override_internal()
enforces that P8 vector must be set if P9 vector is set. So in the else here
we know that only p8 vector is set.
>
>
> Okay for trunk with improved changelog and that stray line removed.
> Thanks!
>
>
> Segher
>
--
Aaron Sawdey, Ph.D. acsaw...@linux.vnet.ibm.com
050-2/C113 (507) 253-7520 home: 507/263-0782
IBM Linux Technology Center - PPC Toolchain