aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.h
diff options
context:
space:
mode:
authorRobin Dapp <rdapp@ventanamicro.com>2024-09-06 16:04:03 +0200
committerRobin Dapp <rdapp@ventanamicro.com>2024-12-16 15:57:48 +0100
commit99eef0cfa56573c32b9c0a1e43519ee4300ac63f (patch)
treec901a7c8c0c5b5e0812cf77f15222726479132a4 /gcc/tree-inline.h
parentec870d3b5f378172006104bad674d7875463da18 (diff)
downloadgcc-99eef0cfa56573c32b9c0a1e43519ee4300ac63f.zip
gcc-99eef0cfa56573c32b9c0a1e43519ee4300ac63f.tar.gz
gcc-99eef0cfa56573c32b9c0a1e43519ee4300ac63f.tar.bz2
vect: Do not try to duplicate_and_interleave one-element mode.
PR112694 shows that we try to create sub-vectors of single-element vectors because can_duplicate_and_interleave_p returns true. The problem resurfaced in PR116611. This patch makes can_duplicate_and_interleave_p return false if count / nvectors > 0 and removes the corresponding check in the riscv backend. This partially gets rid of the FAIL in slp-19a.c. At least when built with cost model we don't have LOAD_LANES anymore. Without cost model, as in the test suite, we choose a different path and still end up with LOAD_LANES. Bootstrapped and regtested on x86 and power10, regtested on rv64gcv_zvfh_zvbb. Still waiting for the aarch64 results. Regards Robin gcc/ChangeLog: PR target/112694 PR target/116611. * config/riscv/riscv-v.cc (expand_vec_perm_const): Remove early return. * tree-vect-slp.cc (can_duplicate_and_interleave_p): Return false when we cannot create sub-elements.
Diffstat (limited to 'gcc/tree-inline.h')
0 files changed, 0 insertions, 0 deletions