https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68991
--- Comment #19 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> --- Author: hjl Date: Tue Jan 5 20:19:16 2016 New Revision: 232088 URL: https://gcc.gnu.org/viewcvs?rev=232088&root=gcc&view=rev Log: Use vector_operand on SSE with 16b memory operand Add vector_operand, which is vector_memory_operand or register_operand, and use it, instead of nonimmediate_operand, in SSE patterns with 16-byte memory operand. gcc/ PR target/68991 * config/i386/i386.c (ix86_expand_vector_logical_operator): Replace nonimmediate_operand with vector_operand. * config/i386/predicates.md (vector_operand): New predicate. (general_vector_operand): Replace nonimmediate_operand with vector_operand. * config/i386/sse.md: Replace nonimmediate_operand with vector_operand and m constraint with Bm constraint on SSE patterns with 16-byte memory operand. * config/i386/subst.md (round_nimm_predicate): Replace nonimmediate_operand with vector_operand. (round_saeonly_nimm_predicate): Likewise. (round_saeonly_nimm_scalar_predicate): New. gcc/testsuite/ PR target/68991 * gcc.target/i386/pr68991.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr68991.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/predicates.md trunk/gcc/config/i386/sse.md trunk/gcc/config/i386/subst.md trunk/gcc/testsuite/ChangeLog