summaryrefslogtreecommitdiff
path: root/gcc/config/aarch64/iterators.md
diff options
context:
space:
mode:
authorfyang <fyang@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-08 14:19:44 +0000
committerfyang <fyang@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-08 14:19:44 +0000
commit6fa49e69b8c45c0294c013961800e62b7adf9eec (patch)
tree68168c4b529252dbd92dbbb1b00de304b142ff87 /gcc/config/aarch64/iterators.md
parent447dd191e156a2400c2b52e6a277cb681fcf4dae (diff)
downloadgcc-6fa49e69b8c45c0294c013961800e62b7adf9eec.tar.gz
* config/aarch64/arm_neon.h (vrecpe_u32, vrecpeq_u32): Rewrite using
builtin functions. (vfma_f32, vfmaq_f32, vfmaq_f64, vfma_n_f32, vfmaq_n_f32, vfmaq_n_f64, vfms_f32, vfmsq_f32, vfmsq_f64): Likewise. (vhsub_s8, vhsub_u8, vhsub_s16, vhsub_u16, vhsub_s32, vhsub_u32, vhsubq_s8, vhsubq_u8, vhsubq_s16, vhsubq_u16, vhsubq_s32, vhsubq_u32, vsubhn_s16, vsubhn_u16, vsubhn_s32, vsubhn_u32, vsubhn_s64, vsubhn_u66, vrsubhn_s16, vrsubhn_u16, vrsubhn_s32, vrsubhn_u32, vrsubhn_s64, vrsubhn_u64, vsubhn_high_s16, vsubhn_high_u16, vsubhn_high_s32, vsubhn_high_u32, vsubhn_high_s64, vsubhn_high_u64, vrsubhn_high_s16, vrsubhn_high_u16, vrsubhn_high_s32, vrsubhn_high_u32, vrsubhn_high_s64, vrsubhn_high_u64): Likewise. * config/aarch64/iterators.md (VDQ_SI): New mode iterator. * config/aarch64/aarch64.md (define_c_enum "unspec"): Add UNSPEC_URECPE. * config/aarch64/aarch64-simd.md (aarch64_urecpe<mode>): New pattern. * config/aarch64/aarch64-simd-builtins.def (shsub, uhsub, subhn, rsubhn, subhn2, rsubhn2, urecpe): New builtins. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218484 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/aarch64/iterators.md')
-rw-r--r--gcc/config/aarch64/iterators.md3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md
index 76be6927eb2..16a2647cc60 100644
--- a/gcc/config/aarch64/iterators.md
+++ b/gcc/config/aarch64/iterators.md
@@ -128,6 +128,9 @@
;; Vector modes except double int.
(define_mode_iterator VDQIF [V8QI V16QI V4HI V8HI V2SI V4SI V2SF V4SF V2DF])
+;; Vector modes for S type.
+(define_mode_iterator VDQ_SI [V2SI V4SI])
+
;; Vector modes for Q and H types.
(define_mode_iterator VDQQH [V8QI V16QI V4HI V8HI])