aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2022-02-09 16:57:04 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2022-02-09 16:57:04 +0000
commitaeef5c57f161ad0258c5ab066ade2274bef3271a (patch)
treec8375c5e3c778b37c8857cb7e78f92ee19f747aa /gcc/go
parent958448a9441ee54e012c67cfc3cf88083f3d0e4a (diff)
downloadgcc-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