https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81225
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Fri Sep 15 21:30:04 2017 New Revision: 252852 URL: https://gcc.gnu.org/viewcvs?rev=252852&root=gcc&view=rev Log: Backported from mainline 2017-06-30 Jakub Jelinek <ja...@redhat.com> PR target/81225 * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): For V8FI, V16FI and VI8F_256 iterators, use <store_mask_predicate> instead of nonimmediate_operand and <store_mask_constraint> instead of m for the input operand. For V8FI iterator, always split if input is a MEM. For V16FI and V8SF_256 iterators, don't test if both operands are MEM if <mask_applied>. For VI4F_256 iterator, use <store_mask_predicate> instead of register_operand and <store_mask_constraint> instead of v for the input operand. Make sure both operands aren't MEMs for if not <mask_applied>. * gcc.target/i386/pr81225.c: New test. Added: branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/pr81225.c Modified: branches/gcc-6-branch/gcc/ChangeLog branches/gcc-6-branch/gcc/config/i386/sse.md branches/gcc-6-branch/gcc/testsuite/ChangeLog