i386: Use ix86_output_ssemov for SImode TYPE_SSEMOV
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 16 Mar 2020 10:48:55 +0000 (03:48 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 16 Mar 2020 10:49:12 +0000 (03:49 -0700)
commit5a3c42b227bbe9e7acb5335088d2255262311bd8
tree29e7304ba20dd7dc321ecd4e9eebf121592bddcf
parente41d4a0a567f1091f646d076d8c9fad91422572b
i386: Use ix86_output_ssemov for SImode 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.

Remove ext_sse_reg_operand since it is no longer needed.

gcc/

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

gcc/testsuite/

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