-
- Downloads
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. From-SVN: r232088
Showing
- gcc/ChangeLog 16 additions, 0 deletionsgcc/ChangeLog
- gcc/config/i386/i386.c 4 additions, 4 deletionsgcc/config/i386/i386.c
- gcc/config/i386/predicates.md 7 additions, 2 deletionsgcc/config/i386/predicates.md
- gcc/config/i386/sse.md 238 additions, 237 deletionsgcc/config/i386/sse.md
- gcc/config/i386/subst.md 3 additions, 2 deletionsgcc/config/i386/subst.md
- gcc/testsuite/ChangeLog 5 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/i386/pr68991.c 32 additions, 0 deletionsgcc/testsuite/gcc.target/i386/pr68991.c
Loading
Please register or sign in to comment