diff options
author | Robin Dapp <rdapp.gcc@gmail.com> | 2025-08-04 11:09:50 +0200 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2025-08-12 15:37:23 -0600 |
commit | 980e1fc195325cd4637ce52d0e2b0e7fcc763f60 (patch) | |
tree | 27adec2a410352b7d6001c19b8a88491aa8901a6 /libjava/java/net/URLStreamHandler.java | |
parent | 9467435253948b83fcb5f7430f6cd571236960d8 (diff) | |
download | gcc-980e1fc195325cd4637ce52d0e2b0e7fcc763f60.zip gcc-980e1fc195325cd4637ce52d0e2b0e7fcc763f60.tar.gz gcc-980e1fc195325cd4637ce52d0e2b0e7fcc763f60.tar.bz2 |
RISC-V: Expand const_vector with 2 elts per pattern.
Hi,
In PR121334 we are asked to expand a const_vector of size 4 with
poly_int elements. It has 2 elts per pattern so is neither a
const_vector_duplicate nor a const_vector_stepped.
We don't allow this kind of constant in legitimate_constant_p but expr
apparently still wants us to expand it under certain conditions.
This patch implements a basic expander for such kinds of patterns.
As slide1up is used to build the individual vectors it also adds
a helper function expand_slide1up.
I regtested on rv64gcv_zvl512b but unfortunately the newly created pattern is
not even executed. I tried some variations of the original code but didn't
manage to trigger it.
Regards
Robin
PR target/121334
gcc/ChangeLog:
* config/riscv/riscv-v.cc (expand_slide1up): New function.
(expand_vector_init_trailing_same_elem): Use new function.
(expand_const_vector_onestep): New function.
(expand_const_vector): Uew expand_slide1up.
(expand_vector_init_merge_repeating_sequence): Ditto.
(shuffle_off_by_one_patterns): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/pr121334.c: New test.
Diffstat (limited to 'libjava/java/net/URLStreamHandler.java')
0 files changed, 0 insertions, 0 deletions