https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93673

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jakub Jelinek
<ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:488a947b2ddd57a6f44a6aecc32862f8cbf4ec77

commit r9-8225-g488a947b2ddd57a6f44a6aecc32862f8cbf4ec77
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Thu Feb 13 08:17:07 2020 +0100

    i386: Fix k*shift* intrinsics [PR93673]

    As mentioned in the PR, the intrinsics allow counts from 0 to 255, but
    we actually reject values from 128 to 255.  That is because QImode
    CONST_INTs can be only -128 to 127.  Fixed by using const_0_to_255_operand
    and dropping the modes for the operands with those predicates
    (the IL actually contains the CONST_INT which has VOIDmode).

    2020-02-13  Jakub Jelinek  <ja...@redhat.com>

        PR target/93673
        * config/i386/sse.md (k<code><mode>): Drop mode from last operand and
        use const_0_to_255_operand predicate instead of immediate_operand.
        (avx512dq_fpclass<mode><mask_scalar_merge_name>,
        avx512dq_vmfpclass<mode><mask_scalar_merge_name>,
        vgf2p8affineinvqb_<mode><mask_name>,
        vgf2p8affineqb_<mode><mask_name>): Drop mode from
        const_0_to_255_operand predicated operands.

        * gcc.target/i386/avx512f-pr93673.c: New test.
        * gcc.target/i386/avx512dq-pr93673.c: New test.
        * gcc.target/i386/avx512bw-pr93673.c: New test.

Reply via email to