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



Reply via email to