aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2021-02-01 15:29:13 +0000
committerKyrylo Tkachov <kyrylo.tkachov@arm.com>2021-02-01 16:45:05 +0000
commit8bfdf51d8595537937f990947a7a36d3a63dca5f (patch)
tree2b29abe9350fb4e45eb9d2b625d2c22102e63f99 /gcc/expr.c
parent6b2034c479e5882a8566393e4fb632a23cfd6ff0 (diff)
downloadgcc-8bfdf51d8595537937f990947a7a36d3a63dca5f.zip
gcc-8bfdf51d8595537937f990947a7a36d3a63dca5f.tar.gz
gcc-8bfdf51d8595537937f990947a7a36d3a63dca5f.tar.bz2
aarch64: Reimplement vmovl_high_* intrinsics using builtins
The vmovl_high_* intrinsics map down to the SXTL2/UXTL2 instructions that already have appropriately-named patterns and expanders, so it's straightforward to wire them up. gcc/ChangeLog: * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi, vec_unpacku_hi_): Define builtins. * config/aarch64/arm_neon.h (vmovl_high_s8): Reimplement using builtin. (vmovl_high_s16): Likewise. (vmovl_high_s32): Likewise. (vmovl_high_u8): Likewise. (vmovl_high_u16): Likewise. (vmovl_high_u32): Likewise. gcc/testsuite/ChangeLog: * gcc.target/aarch64/simd/vmovl_high_1.c: New test.
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions