aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/aarch64/iterators.md
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2017-03-09 10:34:36 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2017-03-09 10:34:36 +0000
commit88119b464e7407b5b455d0c36df16602a569a348 (patch)
treed0cacacb1f947095898d609849168345e65ef66b /gcc/config/aarch64/iterators.md
parent8a7df0316d5332199127912ef048cccdc8d86bac (diff)
downloadgcc-88119b464e7407b5b455d0c36df16602a569a348.zip
gcc-88119b464e7407b5b455d0c36df16602a569a348.tar.gz
gcc-88119b464e7407b5b455d0c36df16602a569a348.tar.bz2
[AArch64] PR target/79913: VEC_SELECT bugs in aarch64 patterns
PR target/79913 * config/aarch64/iterators.md (VALL_F16_NO_V2Q): New mode iterator. (VALL_NO_V2Q): Likewise. (VDQF_DF): Delete. * config/aarch64/aarch64-simd.md (aarch64_dup_lane_<vswap_width_name><mode>): Use VALL_F16_NO_V2Q iterator. (*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Use VALL_NO_V2Q mode iterator. (*aarch64_vgetfmulx<mode>): Use VDQF iterator. From-SVN: r245999
Diffstat (limited to 'gcc/config/aarch64/iterators.md')
-rw-r--r--gcc/config/aarch64/iterators.md5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md
index c59d31e..1ddf6ad 100644
--- a/gcc/config/aarch64/iterators.md
+++ b/gcc/config/aarch64/iterators.md
@@ -101,7 +101,6 @@
V2SF V4SF V2DF])
;; Vector Float modes, and DF.
-(define_mode_iterator VDQF_DF [V2SF V4SF V2DF DF])
(define_mode_iterator VHSDF_DF [(V4HF "TARGET_SIMD_F16INST")
(V8HF "TARGET_SIMD_F16INST")
V2SF V4SF V2DF DF])
@@ -133,6 +132,10 @@
(define_mode_iterator VALL_F16 [V8QI V16QI V4HI V8HI V2SI V4SI V2DI
V4HF V8HF V2SF V4SF V2DF])
+;; The VALL_F16 modes except the 128-bit 2-element ones.
+(define_mode_iterator VALL_F16_NO_V2Q [V8QI V16QI V4HI V8HI V2SI V4SI
+ V4HF V8HF V2SF V4SF])
+
;; All vector modes barring HF modes, plus DI.
(define_mode_iterator VALLDI [V8QI V16QI V4HI V8HI V2SI V4SI V2DI V2SF V4SF V2DF DI])