Yes, you are correct. If there is no question with this patch,
I will backport this to GCC 8.
Thanks,
Lijia
On 2019/2/20 12:13 PM, Bill Schmidt wrote:
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