re PR target/90991 (_mm_loadu_ps instrinsic translates to vmovaps in combination...
authorJakub Jelinek <jakub@redhat.com>
Thu, 27 Jun 2019 11:13:10 +0000 (13:13 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 27 Jun 2019 11:13:10 +0000 (13:13 +0200)
commitd2d604d83edb86ce3f492d03900fb29dea97725d
tree57818937b504189e908dd1ee12d60648c3ce0356
parent45309d286c80ecad8b7a4efba0e9aba35d847af6
re PR target/90991 (_mm_loadu_ps instrinsic translates to vmovaps in combination with _mm512_insertf32x4)

PR target/90991
* config/i386/sse.md (avx_vec_concat<mode>): Use nonimmediate_operand
instead of register_operand for operands[1], add m to its constraints
if operands[2] uses "C" constraint.  Ensure in condition that if
operands[2] is not 0, then operands[1] is not a MEM.  For last two
alternatives, use unaligned loads instead of aligned if operands[1] is
misaligned_operand.

* gcc.target/i386/avx2-pr90991-1.c: New test.
* gcc.target/i386/avx512dq-pr90991-2.c: New test.

From-SVN: r272745
gcc/ChangeLog
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx2-pr90991-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/avx512dq-pr90991-2.c [new file with mode: 0644]