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.
>


Attachment: 0001-PR-target-117449-Restrict-vector-rotate-match-and-sp.patch
Description: 0001-PR-target-117449-Restrict-vector-rotate-match-and-sp.patch

Reply via email to