diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2023-04-18 15:06:49 +0100 |
---|---|---|
committer | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2023-04-18 15:08:12 +0100 |
commit | 18e78844e78d7096c8e073c5b431480a0b8249d0 (patch) | |
tree | 9a6a2109c2609ddde5e722e8c724bef93a4b2886 /gcc/bitmap.h | |
parent | 19cb965e9d16e875944a31173b5e79b65e25d0de (diff) | |
download | gcc-18e78844e78d7096c8e073c5b431480a0b8249d0.zip gcc-18e78844e78d7096c8e073c5b431480a0b8249d0.tar.gz gcc-18e78844e78d7096c8e073c5b431480a0b8249d0.tar.bz2 |
aarch64: Use standard RTL codes for __rev16 intrinsic expansion
I noticed for the expansion of the __rev16* arm_acle.h intrinsics we don't need to use an unspec just because it doesn't match neatly to a bswap code.
We have organic combine patterns for it that we can reuse.
This patch removes the define_insn using UNSPEC_REV (should it have been an UNSPEC_REV16?) and adds an expander to emit
the patterns we have for rev16 using standard RTL codes.
Bootstrapped and tested on aarch64-none-linux-gnu.
gcc/ChangeLog:
* config/aarch64/aarch64.md (@aarch64_rev16<mode>): Change to
define_expand.
(rev16<mode>2): Rename to...
(aarch64_rev16<mode>2_alt1): ... This.
(rev16<mode>2_alt): Rename to...
(*aarch64_rev16<mode>2_alt2): ... This.
Diffstat (limited to 'gcc/bitmap.h')
0 files changed, 0 insertions, 0 deletions