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! Segher