]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Reimplement RSHRN2 intrinsic patterns with standard RTL codes
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Wed, 26 Apr 2023 14:11:11 +0000 (15:11 +0100)
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>
Wed, 26 Apr 2023 14:11:11 +0000 (15:11 +0100)
commitb4c69e6b663753f41259e2e19ad03cfc11457534
tree1330d95886c6b98ba8889abf2460a052537b1f1f
parent80afac3121778e509e1847be90a1999236cff03a
aarch64: Reimplement RSHRN2 intrinsic patterns with standard RTL codes

Similar to the previous patch, we can reimplement the rshrn2 patterns using standard RTL codes
for shift, truncate and plus with the appropriate constants.
This allows us to get rid of UNSPEC_RSHRN entirely.

Bootstrapped and tested on aarch64-none-linux-gnu.

gcc/ChangeLog:

* config/aarch64/aarch64-simd.md (aarch64_rshrn2<mode>_insn_le):
Reimplement using standard RTL codes instead of unspec.
(aarch64_rshrn2<mode>_insn_be): Likewise.
(aarch64_rshrn2<mode>): Adjust for the above.
* config/aarch64/aarch64.md (UNSPEC_RSHRN): Delete.
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/aarch64.md