aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/aarch64/aarch64.md
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2021-02-01 14:57:29 +0000
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>2021-02-01 16:45:05 +0000
commit6b2034c479e5882a8566393e4fb632a23cfd6ff0 (patch)
tree8dd573be316f65761a3a052bba6c64a944187376 /gcc/config/aarch64/aarch64.md
parent6a2053773b894b7f347752396d64e28e326d733e (diff)
downloadgcc-6b2034c479e5882a8566393e4fb632a23cfd6ff0.zip
gcc-6b2034c479e5882a8566393e4fb632a23cfd6ff0.tar.gz
gcc-6b2034c479e5882a8566393e4fb632a23cfd6ff0.tar.bz2
aarch64: Reimplement vabdl_* intrinsics using builtins
Another simple set of intrinsic moved to builtins in the straightforward way. gcc/ChangeLog: * config/aarch64/aarch64-simd-builtins.def (sabdl, uabdl): Define builtins. * config/aarch64/aarch64-simd.md (aarch64_<sur>abdl<mode>): New pattern. * config/aarch64/aarch64.md (unspec): Define UNSPEC_SABDL, UNSPEC_UABDL. * config/aarch64/arm_neon.h (vabdl_s8): Reimplemet using builtin. (vabdl_s16): Likewise. (vabdl_s32): Likewise. (vabdl_u8): Likewise. (vabdl_u16): Likewise. (vabdl_u32): Likewise. * config/aarch64/iterators.md (ABDL): New int iterator. (sur): Handle UNSPEC_SABDL, UNSPEC_UABDL.
Diffstat (limited to 'gcc/config/aarch64/aarch64.md')
-rw-r--r--gcc/config/aarch64/aarch64.md2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 16753c0..2c4066d 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -198,6 +198,7 @@
UNSPEC_RBIT
UNSPEC_SABAL
UNSPEC_SABAL2
+ UNSPEC_SABDL
UNSPEC_SABDL2
UNSPEC_SADALP
UNSPEC_SCVTF
@@ -220,6 +221,7 @@
UNSPEC_TLSLE48
UNSPEC_UABAL
UNSPEC_UABAL2
+ UNSPEC_UABDL
UNSPEC_UABDL2
UNSPEC_UADALP
UNSPEC_UCVTF