i386: Use ix86_output_ssemov for DImode TYPE_SSEMOV
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 14 Mar 2020 23:06:55 +0000 (16:06 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 14 Mar 2020 23:07:09 +0000 (16:07 -0700)
commit824722e45f80b22e2f035a61300f494b2a10d6f4
treeaa54df775b4df8d434ef59709ee3ad031f52fe2f
parent3a285529ee338ef2867ae7add26b6493f004bf0d
i386: Use ix86_output_ssemov for DImode TYPE_SSEMOV

There is no need to set mode attribute to XImode since ix86_output_ssemov
can properly encode xmm16-xmm31 registers with and without AVX512VL.

gcc/

PR target/89229
* config/i386/i386.md (*movdi_internal): Call ix86_output_ssemov
for TYPE_SSEMOV.  Remove ext_sse_reg_operand and TARGET_AVX512VL
check.

gcc/testsuite/

PR target/89229
* gcc.target/i386/pr89229-5a.c: New test.
* gcc.target/i386/pr89229-5b.c: Likewise.
* gcc.target/i386/pr89229-5c.c: Likewise.
gcc/ChangeLog
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr89229-5a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr89229-5b.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr89229-5c.c [new file with mode: 0644]