diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2022-02-09 16:57:04 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2022-02-09 16:57:04 +0000 |
commit | aeef5c57f161ad0258c5ab066ade2274bef3271a (patch) | |
tree | c8375c5e3c778b37c8857cb7e78f92ee19f747aa /gcc/go | |
parent | 958448a9441ee54e012c67cfc3cf88083f3d0e4a (diff) | |
download | gcc-aeef5c57f161ad0258c5ab066ade2274bef3271a.zip gcc-aeef5c57f161ad0258c5ab066ade2274bef3271a.tar.gz gcc-aeef5c57f161ad0258c5ab066ade2274bef3271a.tar.bz2 |
aarch64: Remove redundant vec_concat patterns
move_lo_quad_internal_<mode> and move_lo_quad_internal_be_<mode>
partially duplicate the later aarch64_combinez{,_be}<mode> patterns.
The duplication itself is a regression.
The only substantive differences between the two are:
* combinez uses vector MOV (ORR) instead of element MOV (DUP).
The former seems more likely to be handled via renaming.
* combinez disparages the GPR->FPR alternative whereas move_lo_quad
gave it equal cost. The new test gives a token example of when
the combinez behaviour helps.
gcc/
* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
(move_lo_quad_internal_be_<mode>): Delete.
(move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
gcc/testsuite/
* gcc.target/aarch64/vec-init-8.c: New test.
Diffstat (limited to 'gcc/go')
0 files changed, 0 insertions, 0 deletions