aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/c-fold.cc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2022-02-09 16:57:06 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2022-02-09 16:57:06 +0000
commit83d7e720cd1d075312e798c4ebd2e093f03465fb (patch)
treeb91aafa3db7e5a166597b5b79e4f409d49a144a4 /gcc/c/c-fold.cc
parentbce43c0493f65d2589776f0dafa396d5477a84c7 (diff)
downloadgcc-83d7e720cd1d075312e798c4ebd2e093f03465fb.zip
gcc-83d7e720cd1d075312e798c4ebd2e093f03465fb.tar.gz
gcc-83d7e720cd1d075312e798c4ebd2e093f03465fb.tar.bz2
aarch64: Extend vec_concat patterns to 8-byte vectors
This patch extends the previous support for 16-byte vec_concat so that it supports pairs of 4-byte elements. This too isn't strictly a regression fix, since the 8-byte forms weren't affected by the same problems as the 16-byte forms, but it leaves things in a more consistent state. gcc/ * config/aarch64/iterators.md (VDCSIF): New mode iterator. (VDBL): Handle SF. (single_wx, single_type, single_dtype, dblq): New mode attributes. * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend from VDC to VDCSIF. (store_pair_lanes<mode>): Likewise. (*aarch64_combine_internal<mode>): Likewise. (*aarch64_combine_internal_be<mode>): Likewise. (*aarch64_combinez<mode>): Likewise. (*aarch64_combinez_be<mode>): Likewise. * config/aarch64/aarch64.cc (aarch64_classify_address): Handle 8-byte modes for ADDR_QUERY_LDP_STP_N. (aarch64_print_operand): Likewise for %y. gcc/testsuite/ * gcc.target/aarch64/vec-init-13.c: New test. * gcc.target/aarch64/vec-init-14.c: Likewise. * gcc.target/aarch64/vec-init-15.c: Likewise. * gcc.target/aarch64/vec-init-16.c: Likewise. * gcc.target/aarch64/vec-init-17.c: Likewise.
Diffstat (limited to 'gcc/c/c-fold.cc')
0 files changed, 0 insertions, 0 deletions