https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80286
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Fri May 5 21:51:14 2017 New Revision: 247696 URL: https://gcc.gnu.org/viewcvs?rev=247696&root=gcc&view=rev Log: Backported from mainline 2017-04-04 Jakub Jelinek <ja...@redhat.com> PR target/80286 * config/i386/i386.c (ix86_expand_args_builtin): If op has scalar int mode, convert_modes it to mode as unsigned, otherwise use lowpart_subreg to mode rather than SImode. * config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>, ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>): Use DImode instead of SImode for the shift count operand. * config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3): Likewise. * gcc.target/i386/avx-pr80286.c: New test. * gcc.dg/pr80286.c: New test. Added: branches/gcc-6-branch/gcc/testsuite/gcc.dg/pr80286.c branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/avx-pr80286.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/i386/i386.c branches/gcc-6-branch/gcc/config/i386/mmx.md branches/gcc-6-branch/gcc/config/i386/sse.md branches/gcc-6-branch/gcc/testsuite/ChangeLog