]> gcc.gnu.org Git - gcc.git/commit
[2/4] aarch64: Convert UABDL2 and SABDL2 patterns to standard RTL codes
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Mon, 24 Apr 2023 08:42:37 +0000 (09:42 +0100)
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>
Mon, 24 Apr 2023 08:42:37 +0000 (09:42 +0100)
commit6c82641d73283185990848051d8ffbdb51f2d208
treec5e2ca0cbaffec67c01b6a649b89b3b60b142e91
parentc60654918bc14c3d8fe04d3e7c3aa9daee0a3820
[2/4] aarch64: Convert UABDL2 and SABDL2 patterns to standard RTL codes

Similar to the previous patch for UABDL and SABDL, this patch covers the *2 versions that vec_select the high half
of its input to do the asbsdiff and extend. A define_expand is added for the intrinsic to create the "select-high-half" RTX the pattern expects.

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

gcc/ChangeLog:

* config/aarch64/aarch64-simd.md (aarch64_<sur>abdl2<mode>): Rename to...
(aarch64_<su>abdl2<mode>_insn): ... This.  Use RTL codes instead of unspec.
(aarch64_<su>abdl2<mode>): New define_expand.
* config/aarch64/aarch64.md (UNSPEC_SABDL2, UNSPEC_UABDL2): Delete.
* config/aarch64/iterators.md (ABDL2): Delete.
(sur): Remove handling of UNSPEC_SABDL2 and UNSPEC_UABDL2.
gcc/config/aarch64/aarch64-simd.md
gcc/config/aarch64/aarch64.md
gcc/config/aarch64/iterators.md
This page took 0.061564 seconds and 6 git commands to generate.