[PATCH] rs6000: Fix PR 88100, range check for vec_splat_{su}{8,16,32}
Bill Schmidt
wschmidt@linux.ibm.com
Wed Feb 20 04:13:00 GMT 2019
On 2/19/19 8:11 AM, Segher Boessenkool wrote:
> Hi!
>
> On Tue, Feb 19, 2019 at 03:38:56AM -0600, Li Jia He wrote:
>> GCC revision 259524 implemented range check for the vec_splat_{su}{8,16,32}
>> builtins. However, as a consequence of the implementation, the range check
>> is not done correctly for the expected vspltis[bhw]Â instructions. Â The result
>> is that we may not get a valid error message if the valid range of the data
>> is exceeded.
>> PR target/88100
>> * gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Remove
>> sext_hwi in IN_RANGE (sext_hwi (TREE_INT_CST_LOW (arg0), size),
>> -16, 15).
> Please avoid more than a word or two of C in changelogs. Also, in such
> cases you should show the case labels:
>
> PR target/88100
> * gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin)
> <case ALTIVEC_BUILTIN_VSPLTISB, ALTIVEC_BUILTIN_VSPLTISH,
> ALTIVEC_BUILTIN_VSPLTISW>: Don't convert the operand before range
> checking it.
>
> Okay for trunk with that. Thanks!
I believe you will also want to get permission to backport this to GCC 8.
It looks like the problem was introduced there, correct?
Thanks,
Bill
>
>
> Segher
>
More information about the Gcc-patches
mailing list