Forwarding to the correct ML... > Begin forwarded message: > > From: Kyrylo Tkachov via Gcc <g...@gcc.gnu.org> > Subject: [PATCH] PR target/117449: Restrict vector rotate match and split to > pre-reload > Date: 5 November 2024 at 17:57:40 GMT+1 > To: gcc mailing list <g...@gcc.gnu.org> > Reply-To: Kyrylo Tkachov <ktkac...@nvidia.com> > > Hi all, > > The vector rotate splitter has some logic to deal with post-reload splitting > but not all cases in aarch64_emit_opt_vec_rotate are post-reload-safe. > In particular the ROTATE+XOR expansion for TARGET_SHA3 can create RTL that > can later be simplified to a simple ROTATE post-reload, which would then > match the insn again and try to split it. > So do a clean split pre-reload and avoid going down this path post-reload > by restricting the insn_and_split to can_create_pseudo_p (). > > Bootstrapped and tested on aarch64-none-linux. > Pushing to trunk. > Thanks, > Kyrill > > Signed-off-by: Kyrylo Tkachov <ktkac...@nvidia.com> > gcc/ > > PR target/117449 > * config/aarch64/aarch64-simd.md (*aarch64_simd_rotate_imm<mode>): > Match only when can_create_pseudo_p (). > * config/aarch64/aarch64.cc (aarch64_emit_opt_vec_rotate): Assume > can_create_pseudo_p (). > > gcc/testsuite/ > > PR target/117449 > * gcc.c-torture/compile/pr117449.c: New test. >
0001-PR-target-117449-Restrict-vector-rotate-match-and-sp.patch
Description: 0001-PR-target-117449-Restrict-vector-rotate-match-and-sp.patch