Part of the problem in this PR is that we don't provide patterns to extract a 64-bit vector from one half of a 128-bit vector. Adding them fixes: FAIL: gcc.target/aarch64/fmul_intrinsic_1.c scan-assembler-times fmul\\td[0-9]+, d[0-9]+, d[0-9]+ 1 FAIL: gcc.target/aarch64/fmul_intrinsic_1.c scan-assembler-times fmul\\tv[0-9]+.2d, v[0-9]+.2d, v[0-9]+.d\\[[0-9]+\\] 3 The 2s failures need target-independent changes, after which they rely on these patterns too. 2020-01-27 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR target/92822 * config/aarch64/aarch64-simd.md (aarch64_get_half<mode>): New expander. (@aarch64_split_simd_mov<mode>): Use it. (aarch64_simd_mov_from_<mode>low): Add a GPR alternative. Leave the vec_extract patterns to handle 2-element vectors. (aarch64_simd_mov_from_<mode>high): Likewise. (vec_extract<VQMOV_NO2E:mode><Vhalf>): New expander. (vec_extractv2dfv1df): Likewise.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
aarch64-arches.def | Loading commit data... | |
aarch64-bti-insert.c | Loading commit data... | |
aarch64-builtins.c | Loading commit data... | |
aarch64-c.c | Loading commit data... | |
aarch64-cores.def | Loading commit data... | |
aarch64-cost-tables.h | Loading commit data... | |
aarch64-d.c | Loading commit data... | |
aarch64-elf-raw.h | Loading commit data... | |
aarch64-elf.h | Loading commit data... | |
aarch64-errata.h | Loading commit data... | |
aarch64-freebsd.h | Loading commit data... | |
aarch64-fusion-pairs.def | Loading commit data... | |
aarch64-ldpstp.md | Loading commit data... | |
aarch64-linux.h | Loading commit data... | |
aarch64-modes.def | Loading commit data... | |
aarch64-netbsd.h | Loading commit data... | |
aarch64-option-extensions.def | Loading commit data... | |
aarch64-opts.h | Loading commit data... | |
aarch64-passes.def | Loading commit data... | |
aarch64-protos.h | Loading commit data... | |
aarch64-simd-builtin-types.def | Loading commit data... | |
aarch64-simd-builtins.def | Loading commit data... | |
aarch64-simd.md | Loading commit data... | |
aarch64-speculation.cc | Loading commit data... | |
aarch64-sve-builtins-base.cc | Loading commit data... | |
aarch64-sve-builtins-base.def | Loading commit data... | |
aarch64-sve-builtins-base.h | Loading commit data... | |
aarch64-sve-builtins-functions.h | Loading commit data... | |
aarch64-sve-builtins-shapes.cc | Loading commit data... | |
aarch64-sve-builtins-shapes.h | Loading commit data... | |
aarch64-sve-builtins-sve2.cc | Loading commit data... | |
aarch64-sve-builtins-sve2.def | Loading commit data... | |
aarch64-sve-builtins-sve2.h | Loading commit data... | |
aarch64-sve-builtins.cc | Loading commit data... | |
aarch64-sve-builtins.def | Loading commit data... | |
aarch64-sve-builtins.h | Loading commit data... | |
aarch64-sve.md | Loading commit data... | |
aarch64-sve2.md | Loading commit data... | |
aarch64-tune.md | Loading commit data... | |
aarch64-tuning-flags.def | Loading commit data... | |
aarch64-vxworks.h | Loading commit data... | |
aarch64.c | Loading commit data... | |
aarch64.h | Loading commit data... | |
aarch64.md | Loading commit data... | |
aarch64.opt | Loading commit data... | |
arm_acle.h | Loading commit data... | |
arm_bf16.h | Loading commit data... | |
arm_fp16.h | Loading commit data... | |
arm_neon.h | Loading commit data... | |
arm_sve.h | Loading commit data... | |
atomics.md | Loading commit data... | |
biarchilp32.h | Loading commit data... | |
biarchlp64.h | Loading commit data... | |
check-sve-md.awk | Loading commit data... | |
constraints.md | Loading commit data... | |
cortex-a57-fma-steering.c | Loading commit data... | |
driver-aarch64.c | Loading commit data... | |
falkor-tag-collision-avoidance.c | Loading commit data... | |
falkor.md | Loading commit data... | |
geniterators.sh | Loading commit data... | |
gentune.sh | Loading commit data... | |
iterators.md | Loading commit data... | |
predicates.md | Loading commit data... | |
rtems.h | Loading commit data... | |
saphira.md | Loading commit data... | |
t-aarch64 | Loading commit data... | |
t-aarch64-freebsd | Loading commit data... | |
t-aarch64-linux | Loading commit data... | |
t-aarch64-netbsd | Loading commit data... | |
t-aarch64-vxworks | Loading commit data... | |
thunderx.md | Loading commit data... | |
thunderx2t99.md | Loading commit data... | |
tsv110.md | Loading commit data... | |
x-aarch64 | Loading commit data... |