[Bug target/89229] Incorrect xmm16-xmm31/ymm16-ymm31 in vector move
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Mar 16 10:52:53 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89229
--- Comment #34 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <hjl@gcc.gnu.org>:
https://gcc.gnu.org/g:5a3c42b227bbe9e7acb5335088d2255262311bd8
commit r10-7189-g5a3c42b227bbe9e7acb5335088d2255262311bd8
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon Mar 16 03:48:55 2020 -0700
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.
More information about the Gcc-bugs
mailing list