https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93673
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-8 branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:fbb4d21086a20cd996049309d6c24d7fb3099123 commit r8-10019-gfbb4d21086a20cd996049309d6c24d7fb3099123 Author: Jakub Jelinek <ja...@redhat.com> Date: Fri Feb 14 15:49:32 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.