[Bug target/99037] Invalid representation of vector zero in aarch64-simd.md
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri May 7 10:36:29 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99037
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Kyrylo Tkachov
<ktkachov@gcc.gnu.org>:
https://gcc.gnu.org/g:3a9504e1f03bc2980062dc62261212e8635bcf93
commit r9-9519-g3a9504e1f03bc2980062dc62261212e8635bcf93
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Fri May 7 11:35:29 2021 +0100
aarch64: PR target/99037 Fix RTL represntation in move_lo_quad patterns
This patch fixes the RTL representation of the move_lo_quad patterns to use
aarch64_simd_or_scalar_imm_zero
for the zero part rather than a vec_duplicate of zero or a const_int 0.
The expander that generates them is also adjusted so that we use and match
the correct const_vector forms throughout.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
gcc/ChangeLog:
PR target/99037
PR target/100441
* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>):
Use
aarch64_simd_or_scalar_imm_zero to match zeroes. Remove pattern
matching const_int 0.
(move_lo_quad_internal_be_<mode>): Likewise.
(move_lo_quad_<mode>): Update for the above.
* config/aarch64/iterators.md (VQ_2E): Delete.
gcc/testsuite/ChangeLog:
PR target/99808
* gcc.target/aarch64/pr99808.c: New test.
More information about the Gcc-bugs
mailing list