~ubuntu-branches/ubuntu/utopic/gcc-4.9/utopic-proposed

« back to all changes in this revision

Viewing changes to debian/patches/svn-updates-linaro.diff

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2014-09-12 15:20:06 UTC
  • Revision ID: package-import@ubuntu.com-20140912152006-13dcb2murdz4vslb
Tags: 4.9.1-14ubuntu1
* Merge with Debian; remaining changes:
  - Build from upstream sources.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# DP: updates from the 4.8 branch upto 20130421 (r198115).
2
 
 
3
 
last_updated()
4
 
{
5
 
        cat > ${dir}LAST_UPDATED <<EOF
6
 
Sun Apr 21 15:07:11 CEST 2013
7
 
Sun Apr 21 13:07:11 UTC 2013 (revision 198115)
8
 
EOF
9
 
}
10
 
 
11
 
LANG=C svn diff svn://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch@197294 svn://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch \
12
 
        | sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \
13
 
        | awk '/^Index:.*\.(class|texi)/ {skip=1; next} /^Index:/ { skip=0 } skip==0'
14
 
 
 
1
# DP: Revert 2014-09-11 Aarch64 neon changes, not merged with Linaro.
 
2
 
 
3
Index: b/src/gcc/ChangeLog
 
4
===================================================================
 
5
--- a/src/gcc/ChangeLog
 
6
+++ b/src/gcc/ChangeLog
 
7
@@ -7,54 +7,6 @@
 
8
        * config/i386/i386.c (ix86_option_override_internal): Also turn
 
9
        off OPTION_MASK_ABI_X32 for -m16.
 
10
 
 
11
-2014-09-11  James Greenhalgh  <james.greenhalgh@arm.com>
 
12
-
 
13
-       Backport from mainline.
 
14
-       2014-09-11  James Greenhalgh  <james.greenhalgh@arm.com>
 
15
-
 
16
-       * config/aarch64/arm_neon.h (vmull_high_lane_s16): Fix argument
 
17
-       types.
 
18
-       (vmull_high_lane_s32): Likewise.
 
19
-       (vmull_high_lane_u16): Likewise.
 
20
-       (vmull_high_lane_u32): Likewise.
 
21
-
 
22
-2014-09-11  Alan Lawrence  <alan.lawrence@arm.com>
 
23
-
 
24
-       Backport r214946 from mainline
 
25
-       2014-09-05  Alan Lawrence  <alan.lawrence@arm.com>
 
26
-
 
27
-       * config/aarch64/aarch64.md (adddi3_aarch64): Set type to neon_add.
 
28
-
 
29
-2014-09-11  Alan Lawrence  <alan.lawrence@arm.com>
 
30
-
 
31
-       Backport r214953 from mainline
 
32
-       2014-09-05  Alan Lawrence  <alan.lawrence@arm.com>
 
33
-
 
34
-       * config/aarch64/arm_neon.h (int32x1_t, int16x1_t, int8x1_t,
 
35
-       uint32x1_t, uint16x1_t, uint8x1_t): Remove typedefs.
 
36
-
 
37
-       (vqabsb_s8, vqabsh_s16, vqabss_s32, vqaddb_s8, vqaddh_s16, vqadds_s32,
 
38
-       vqaddb_u8, vqaddh_u16, vqadds_u32, vqdmlalh_s16, vqdmlalh_lane_s16,
 
39
-       vqdmlals_s32, vqdmlslh_s16, vqdmlslh_lane_s16, vqdmlsls_s32,
 
40
-       vqdmulhh_s16, vqdmulhh_lane_s16, vqdmulhs_s32, vqdmulhs_lane_s32,
 
41
-       vqdmullh_s16, vqdmullh_lane_s16, vqdmulls_s32, vqdmulls_lane_s32,
 
42
-       vqmovnh_s16, vqmovns_s32, vqmovnd_s64, vqmovnh_u16, vqmovns_u32,
 
43
-       vqmovnd_u64, vqmovunh_s16, vqmovuns_s32, vqmovund_s64, vqnegb_s8,
 
44
-       vqnegh_s16, vqnegs_s32, vqrdmulhh_s16, vqrdmulhh_lane_s16,
 
45
-       vqrdmulhs_s32, vqrdmulhs_lane_s32, vqrshlb_s8, vqrshlh_s16,
 
46
-       vqrshls_s32, vqrshlb_u8, vqrshlh_u16, vqrshls_u32, vqrshrnh_n_s16,
 
47
-       vqrshrns_n_s32, vqrshrnd_n_s64, vqrshrnh_n_u16, vqrshrns_n_u32,
 
48
-       vqrshrnd_n_u64, vqrshrunh_n_s16, vqrshruns_n_s32, vqrshrund_n_s64,
 
49
-       vqshlb_s8, vqshlh_s16, vqshls_s32, vqshlb_u8, vqshlh_u16, vqshls_u32,
 
50
-       vqshlb_n_s8, vqshlh_n_s16, vqshls_n_s32, vqshlb_n_u8, vqshlh_n_u16,
 
51
-       vqshls_n_u32, vqshlub_n_s8, vqshluh_n_s16, vqshlus_n_s32,
 
52
-       vqshrnh_n_s16, vqshrns_n_s32, vqshrnd_n_s64, vqshrnh_n_u16,
 
53
-       vqshrns_n_u32, vqshrnd_n_u64, vqshrunh_n_s16, vqshruns_n_s32,
 
54
-       vqshrund_n_s64, vqsubb_s8, vqsubh_s16, vqsubs_s32, vqsubb_u8,
 
55
-       vqsubh_u16, vqsubs_u32, vsqaddb_u8, vsqaddh_u16, vsqadds_u32,
 
56
-       vuqaddb_s8, vuqaddh_s16, vuqadds_s32): Replace all int{32,16,8}x1_t
 
57
-       with int{32,16,8}_t.
 
58
-
 
59
 2014-09-11  Jason Merrill  <jason@redhat.com>
 
60
 
 
61
        PR c++/58678
 
62
Index: b/src/gcc/testsuite/gcc.target/aarch64/vqdmullh_lane_s16.c
 
63
===================================================================
 
64
--- a/src/gcc/testsuite/gcc.target/aarch64/vqdmullh_lane_s16.c
 
65
+++ b/src/gcc/testsuite/gcc.target/aarch64/vqdmullh_lane_s16.c
 
66
@@ -5,8 +5,8 @@
 
67
 
 
68
 #include "arm_neon.h"
 
69
 
 
70
-int32_t
 
71
-t_vqdmullh_lane_s16 (int16_t a, int16x4_t b)
 
72
+int32x1_t
 
73
+t_vqdmullh_lane_s16 (int16x1_t a, int16x4_t b)
 
74
 {
 
75
   return vqdmullh_lane_s16 (a, b, 0);
 
76
 }
 
77
Index: b/src/gcc/testsuite/gcc.target/aarch64/vqdmlalh_lane_s16.c
 
78
===================================================================
 
79
--- a/src/gcc/testsuite/gcc.target/aarch64/vqdmlalh_lane_s16.c
 
80
+++ b/src/gcc/testsuite/gcc.target/aarch64/vqdmlalh_lane_s16.c
 
81
@@ -5,8 +5,8 @@
 
82
 
 
83
 #include "arm_neon.h"
 
84
 
 
85
-int32_t
 
86
-t_vqdmlalh_lane_s16 (int32_t a, int16_t b, int16x4_t c)
 
87
+int32x1_t
 
88
+t_vqdmlalh_lane_s16 (int32x1_t a, int16x1_t b, int16x4_t c)
 
89
 {
 
90
   return vqdmlalh_lane_s16 (a, b, c, 0);
 
91
 }
 
92
Index: b/src/gcc/testsuite/gcc.target/aarch64/vqdmlsls_lane_s32.c
 
93
===================================================================
 
94
--- a/src/gcc/testsuite/gcc.target/aarch64/vqdmlsls_lane_s32.c
 
95
+++ b/src/gcc/testsuite/gcc.target/aarch64/vqdmlsls_lane_s32.c
 
96
@@ -6,7 +6,7 @@
 
97
 #include "arm_neon.h"
 
98
 
 
99
 int64x1_t
 
100
-t_vqdmlsls_lane_s32 (int64x1_t a, int32_t b, int32x2_t c)
 
101
+t_vqdmlsls_lane_s32 (int64x1_t a, int32x1_t b, int32x2_t c)
 
102
 {
 
103
   return vqdmlsls_lane_s32 (a, b, c, 0);
 
104
 }
 
105
Index: b/src/gcc/testsuite/gcc.target/aarch64/vqdmulls_lane_s32.c
 
106
===================================================================
 
107
--- a/src/gcc/testsuite/gcc.target/aarch64/vqdmulls_lane_s32.c
 
108
+++ b/src/gcc/testsuite/gcc.target/aarch64/vqdmulls_lane_s32.c
 
109
@@ -6,7 +6,7 @@
 
110
 #include "arm_neon.h"
 
111
 
 
112
 int64x1_t
 
113
-t_vqdmulls_lane_s32 (int32_t a, int32x2_t b)
 
114
+t_vqdmulls_lane_s32 (int32x1_t a, int32x2_t b)
 
115
 {
 
116
   return vqdmulls_lane_s32 (a, b, 0);
 
117
 }
 
118
Index: b/src/gcc/testsuite/gcc.target/aarch64/vqdmlals_lane_s32.c
 
119
===================================================================
 
120
--- a/src/gcc/testsuite/gcc.target/aarch64/vqdmlals_lane_s32.c
 
121
+++ b/src/gcc/testsuite/gcc.target/aarch64/vqdmlals_lane_s32.c
 
122
@@ -6,7 +6,7 @@
 
123
 #include "arm_neon.h"
 
124
 
 
125
 int64x1_t
 
126
-t_vqdmlals_lane_s32 (int64x1_t a, int32_t b, int32x2_t c)
 
127
+t_vqdmlals_lane_s32 (int64x1_t a, int32x1_t b, int32x2_t c)
 
128
 {
 
129
   return vqdmlals_lane_s32 (a, b, c, 0);
 
130
 }
 
131
Index: b/src/gcc/testsuite/gcc.target/aarch64/scalar_intrinsics.c
 
132
===================================================================
 
133
--- a/src/gcc/testsuite/gcc.target/aarch64/scalar_intrinsics.c
 
134
+++ b/src/gcc/testsuite/gcc.target/aarch64/scalar_intrinsics.c
 
135
@@ -195,20 +195,20 @@ test_vcltzd_s64 (int64x1_t a)
 
136
 
 
137
 /* { dg-final { scan-assembler-times "aarch64_get_lanev16qi" 2 } } */
 
138
 
 
139
-int8_t
 
140
+int8x1_t
 
141
 test_vdupb_lane_s8 (int8x16_t a)
 
142
 {
 
143
-  int8_t res;
 
144
+  int8x1_t res;
 
145
   force_simd (a);
 
146
   res = vdupb_laneq_s8 (a, 2);
 
147
   force_simd (res);
 
148
   return res;
 
149
 }
 
150
 
 
151
-uint8_t
 
152
+uint8x1_t
 
153
 test_vdupb_lane_u8 (uint8x16_t a)
 
154
 {
 
155
-  uint8_t res;
 
156
+  uint8x1_t res;
 
157
   force_simd (a);
 
158
   res = vdupb_laneq_u8 (a, 2);
 
159
   force_simd (res);
 
160
@@ -217,20 +217,20 @@ test_vdupb_lane_u8 (uint8x16_t a)
 
161
 
 
162
 /* { dg-final { scan-assembler-times "aarch64_get_lanev8hi" 2 } } */
 
163
 
 
164
-int16_t
 
165
+int16x1_t
 
166
 test_vduph_lane_s16 (int16x8_t a)
 
167
 {
 
168
-  int16_t res;
 
169
+  int16x1_t res;
 
170
   force_simd (a);
 
171
   res = vduph_laneq_s16 (a, 2);
 
172
   force_simd (res);
 
173
   return res;
 
174
 }
 
175
 
 
176
-uint16_t
 
177
+uint16x1_t
 
178
 test_vduph_lane_u16 (uint16x8_t a)
 
179
 {
 
180
-  uint16_t res;
 
181
+  uint16x1_t res;
 
182
   force_simd (a);
 
183
   res = vduph_laneq_u16 (a, 2);
 
184
   force_simd (res);
 
185
@@ -239,20 +239,20 @@ test_vduph_lane_u16 (uint16x8_t a)
 
186
 
 
187
 /* { dg-final { scan-assembler-times "aarch64_get_lanev4si" 2 } } */
 
188
 
 
189
-int32_t
 
190
+int32x1_t
 
191
 test_vdups_lane_s32 (int32x4_t a)
 
192
 {
 
193
-  int32_t res;
 
194
+  int32x1_t res;
 
195
   force_simd (a);
 
196
   res = vdups_laneq_s32 (a, 2);
 
197
   force_simd (res);
 
198
   return res;
 
199
 }
 
200
 
 
201
-uint32_t
 
202
+uint32x1_t
 
203
 test_vdups_lane_u32 (uint32x4_t a)
 
204
 {
 
205
-  uint32_t res;
 
206
+  uint32x1_t res;
 
207
   force_simd (a);
 
208
   res = vdups_laneq_u32 (a, 2);
 
209
   force_simd (res);
 
210
@@ -322,24 +322,24 @@ test_vqaddd_u64 (uint64x1_t a, uint64x1_
 
211
 
 
212
 /* { dg-final { scan-assembler-times "\\tuqadd\\ts\[0-9\]+" 1 } } */
 
213
 
 
214
-uint32_t
 
215
-test_vqadds_u32 (uint32_t a, uint32_t b)
 
216
+uint32x1_t
 
217
+test_vqadds_u32 (uint32x1_t a, uint32x1_t b)
 
218
 {
 
219
   return vqadds_u32 (a, b);
 
220
 }
 
221
 
 
222
 /* { dg-final { scan-assembler-times "\\tuqadd\\th\[0-9\]+" 1 } } */
 
223
 
 
224
-uint16_t
 
225
-test_vqaddh_u16 (uint16_t a, uint16_t b)
 
226
+uint16x1_t
 
227
+test_vqaddh_u16 (uint16x1_t a, uint16x1_t b)
 
228
 {
 
229
   return vqaddh_u16 (a, b);
 
230
 }
 
231
 
 
232
 /* { dg-final { scan-assembler-times "\\tuqadd\\tb\[0-9\]+" 1 } } */
 
233
 
 
234
-uint8_t
 
235
-test_vqaddb_u8 (uint8_t a, uint8_t b)
 
236
+uint8x1_t
 
237
+test_vqaddb_u8 (uint8x1_t a, uint8x1_t b)
 
238
 {
 
239
   return vqaddb_u8 (a, b);
 
240
 }
 
241
@@ -354,40 +354,40 @@ test_vqaddd_s64 (int64x1_t a, int64x1_t
 
242
 
 
243
 /* { dg-final { scan-assembler-times "\\tsqadd\\ts\[0-9\]+, s\[0-9\]+" 1 } } */
 
244
 
 
245
-int32_t
 
246
-test_vqadds_s32 (int32_t a, int32_t b)
 
247
+int32x1_t
 
248
+test_vqadds_s32 (int32x1_t a, int32x1_t b)
 
249
 {
 
250
   return vqadds_s32 (a, b);
 
251
 }
 
252
 
 
253
 /* { dg-final { scan-assembler-times "\\tsqadd\\th\[0-9\]+, h\[0-9\]+" 1 } } */
 
254
 
 
255
-int16_t
 
256
-test_vqaddh_s16 (int16_t a, int16_t b)
 
257
+int16x1_t
 
258
+test_vqaddh_s16 (int16x1_t a, int16x1_t b)
 
259
 {
 
260
   return vqaddh_s16 (a, b);
 
261
 }
 
262
 
 
263
 /* { dg-final { scan-assembler-times "\\tsqadd\\tb\[0-9\]+, b\[0-9\]+" 1 } } */
 
264
 
 
265
-int8_t
 
266
-test_vqaddb_s8 (int8_t a, int8_t b)
 
267
+int8x1_t
 
268
+test_vqaddb_s8 (int8x1_t a, int8x1_t b)
 
269
 {
 
270
   return vqaddb_s8 (a, b);
 
271
 }
 
272
 
 
273
 /* { dg-final { scan-assembler-times "\\tsqdmlal\\ts\[0-9\]+, h\[0-9\]+, h\[0-9\]+" 1 } } */
 
274
 
 
275
-int32_t
 
276
-test_vqdmlalh_s16 (int32_t a, int16_t b, int16_t c)
 
277
+int32x1_t
 
278
+test_vqdmlalh_s16 (int32x1_t a, int16x1_t b, int16x1_t c)
 
279
 {
 
280
   return vqdmlalh_s16 (a, b, c);
 
281
 }
 
282
 
 
283
 /* { dg-final { scan-assembler-times "\\tsqdmlal\\ts\[0-9\]+, h\[0-9\]+, v" 1 } } */
 
284
 
 
285
-int32_t
 
286
-test_vqdmlalh_lane_s16 (int32_t a, int16_t b, int16x4_t c)
 
287
+int32x1_t
 
288
+test_vqdmlalh_lane_s16 (int32x1_t a, int16x1_t b, int16x4_t c)
 
289
 {
 
290
   return vqdmlalh_lane_s16 (a, b, c, 3);
 
291
 }
 
292
@@ -395,7 +395,7 @@ test_vqdmlalh_lane_s16 (int32_t a, int16
 
293
 /* { dg-final { scan-assembler-times "\\tsqdmlal\\td\[0-9\]+, s\[0-9\]+, s\[0-9\]+" 1 } } */
 
294
 
 
295
 int64x1_t
 
296
-test_vqdmlals_s32 (int64x1_t a, int32_t b, int32_t c)
 
297
+test_vqdmlals_s32 (int64x1_t a, int32x1_t b, int32x1_t c)
 
298
 {
 
299
   return vqdmlals_s32 (a, b, c);
 
300
 }
 
301
@@ -403,23 +403,23 @@ test_vqdmlals_s32 (int64x1_t a, int32_t
 
302
 /* { dg-final { scan-assembler-times "\\tsqdmlal\\td\[0-9\]+, s\[0-9\]+, v" 1 } } */
 
303
 
 
304
 int64x1_t
 
305
-test_vqdmlals_lane_s32 (int64x1_t a, int32_t b, int32x2_t c)
 
306
+test_vqdmlals_lane_s32 (int64x1_t a, int32x1_t b, int32x2_t c)
 
307
 {
 
308
   return vqdmlals_lane_s32 (a, b, c, 1);
 
309
 }
 
310
 
 
311
 /* { dg-final { scan-assembler-times "\\tsqdmlsl\\ts\[0-9\]+, h\[0-9\]+, h\[0-9\]+" 1 } } */
 
312
 
 
313
-int32_t
 
314
-test_vqdmlslh_s16 (int32_t a, int16_t b, int16_t c)
 
315
+int32x1_t
 
316
+test_vqdmlslh_s16 (int32x1_t a, int16x1_t b, int16x1_t c)
 
317
 {
 
318
   return vqdmlslh_s16 (a, b, c);
 
319
 }
 
320
 
 
321
 /* { dg-final { scan-assembler-times "\\tsqdmlsl\\ts\[0-9\]+, h\[0-9\]+, v" 1 } } */
 
322
 
 
323
-int32_t
 
324
-test_vqdmlslh_lane_s16 (int32_t a, int16_t b, int16x4_t c)
 
325
+int32x1_t
 
326
+test_vqdmlslh_lane_s16 (int32x1_t a, int16x1_t b, int16x4_t c)
 
327
 {
 
328
   return vqdmlslh_lane_s16 (a, b, c, 3);
 
329
 }
 
330
@@ -427,7 +427,7 @@ test_vqdmlslh_lane_s16 (int32_t a, int16
 
331
 /* { dg-final { scan-assembler-times "\\tsqdmlsl\\td\[0-9\]+, s\[0-9\]+, s\[0-9\]+" 1 } } */
 
332
 
 
333
 int64x1_t
 
334
-test_vqdmlsls_s32 (int64x1_t a, int32_t b, int32_t c)
 
335
+test_vqdmlsls_s32 (int64x1_t a, int32x1_t b, int32x1_t c)
 
336
 {
 
337
   return vqdmlsls_s32 (a, b, c);
 
338
 }
 
339
@@ -435,55 +435,55 @@ test_vqdmlsls_s32 (int64x1_t a, int32_t
 
340
 /* { dg-final { scan-assembler-times "\\tsqdmlsl\\td\[0-9\]+, s\[0-9\]+, v" 1 } } */
 
341
 
 
342
 int64x1_t
 
343
-test_vqdmlsls_lane_s32 (int64x1_t a, int32_t b, int32x2_t c)
 
344
+test_vqdmlsls_lane_s32 (int64x1_t a, int32x1_t b, int32x2_t c)
 
345
 {
 
346
   return vqdmlsls_lane_s32 (a, b, c, 1);
 
347
 }
 
348
 
 
349
 /* { dg-final { scan-assembler-times "\\tsqdmulh\\th\[0-9\]+, h\[0-9\]+, h\[0-9\]+" 1 } } */
 
350
 
 
351
-int16_t
 
352
-test_vqdmulhh_s16 (int16_t a, int16_t b)
 
353
+int16x1_t
 
354
+test_vqdmulhh_s16 (int16x1_t a, int16x1_t b)
 
355
 {
 
356
   return vqdmulhh_s16 (a, b);
 
357
 }
 
358
 
 
359
 /* { dg-final { scan-assembler-times "\\tsqdmulh\\th\[0-9\]+, h\[0-9\]+, v" 1 } } */
 
360
 
 
361
-int16_t
 
362
-test_vqdmulhh_lane_s16 (int16_t a, int16x4_t b)
 
363
+int16x1_t
 
364
+test_vqdmulhh_lane_s16 (int16x1_t a, int16x4_t b)
 
365
 {
 
366
   return vqdmulhh_lane_s16 (a, b, 3);
 
367
 }
 
368
 
 
369
 /* { dg-final { scan-assembler-times "\\tsqdmulh\\ts\[0-9\]+, s\[0-9\]+, s\[0-9\]+" 1 } } */
 
370
 
 
371
-int32_t
 
372
-test_vqdmulhs_s32 (int32_t a, int32_t b)
 
373
+int32x1_t
 
374
+test_vqdmulhs_s32 (int32x1_t a, int32x1_t b)
 
375
 {
 
376
   return vqdmulhs_s32 (a, b);
 
377
 }
 
378
 
 
379
 /* { dg-final { scan-assembler-times "\\tsqdmulh\\ts\[0-9\]+, s\[0-9\]+, v" 1 } } */
 
380
 
 
381
-int32_t
 
382
-test_vqdmulhs_lane_s32 (int32_t a, int32x2_t b)
 
383
+int32x1_t
 
384
+test_vqdmulhs_lane_s32 (int32x1_t a, int32x2_t b)
 
385
 {
 
386
   return vqdmulhs_lane_s32 (a, b, 1);
 
387
 }
 
388
 
 
389
 /* { dg-final { scan-assembler-times "\\tsqdmull\\ts\[0-9\]+, h\[0-9\]+, h\[0-9\]+" 1 } } */
 
390
 
 
391
-int32_t
 
392
-test_vqdmullh_s16 (int16_t a, int16_t b)
 
393
+int32x1_t
 
394
+test_vqdmullh_s16 (int16x1_t a, int16x1_t b)
 
395
 {
 
396
   return vqdmullh_s16 (a, b);
 
397
 }
 
398
 
 
399
 /* { dg-final { scan-assembler-times "\\tsqdmull\\ts\[0-9\]+, h\[0-9\]+, v" 1 } } */
 
400
 
 
401
-int32_t
 
402
-test_vqdmullh_lane_s16 (int16_t a, int16x4_t b)
 
403
+int32x1_t
 
404
+test_vqdmullh_lane_s16 (int16x1_t a, int16x4_t b)
 
405
 {
 
406
   return vqdmullh_lane_s16 (a, b, 3);
 
407
 }
 
408
@@ -491,7 +491,7 @@ test_vqdmullh_lane_s16 (int16_t a, int16
 
409
 /* { dg-final { scan-assembler-times "\\tsqdmull\\td\[0-9\]+, s\[0-9\]+, s\[0-9\]+" 1 } } */
 
410
 
 
411
 int64x1_t
 
412
-test_vqdmulls_s32 (int32_t a, int32_t b)
 
413
+test_vqdmulls_s32 (int32x1_t a, int32x1_t b)
 
414
 {
 
415
   return vqdmulls_s32 (a, b);
 
416
 }
 
417
@@ -499,63 +499,63 @@ test_vqdmulls_s32 (int32_t a, int32_t b)
 
418
 /* { dg-final { scan-assembler-times "\\tsqdmull\\td\[0-9\]+, s\[0-9\]+, v" 1 } } */
 
419
 
 
420
 int64x1_t
 
421
-test_vqdmulls_lane_s32 (int32_t a, int32x2_t b)
 
422
+test_vqdmulls_lane_s32 (int32x1_t a, int32x2_t b)
 
423
 {
 
424
   return vqdmulls_lane_s32 (a, b, 1);
 
425
 }
 
426
 
 
427
 /* { dg-final { scan-assembler-times "\\tsqrdmulh\\th\[0-9\]+, h\[0-9\]+, h\[0-9\]+" 1 } } */
 
428
 
 
429
-int16_t
 
430
-test_vqrdmulhh_s16 (int16_t a, int16_t b)
 
431
+int16x1_t
 
432
+test_vqrdmulhh_s16 (int16x1_t a, int16x1_t b)
 
433
 {
 
434
   return vqrdmulhh_s16 (a, b);
 
435
 }
 
436
 
 
437
 /* { dg-final { scan-assembler-times "\\tsqrdmulh\\th\[0-9\]+, h\[0-9\]+, v" 1 } } */
 
438
 
 
439
-int16_t
 
440
-test_vqrdmulhh_lane_s16 (int16_t a, int16x4_t b)
 
441
+int16x1_t
 
442
+test_vqrdmulhh_lane_s16 (int16x1_t a, int16x4_t b)
 
443
 {
 
444
   return vqrdmulhh_lane_s16 (a, b, 3);
 
445
 }
 
446
 
 
447
 /* { dg-final { scan-assembler-times "\\tsqrdmulh\\ts\[0-9\]+, s\[0-9\]+, s\[0-9\]+" 1 } } */
 
448
 
 
449
-int32_t
 
450
-test_vqrdmulhs_s32 (int32_t a, int32_t b)
 
451
+int32x1_t
 
452
+test_vqrdmulhs_s32 (int32x1_t a, int32x1_t b)
 
453
 {
 
454
   return vqrdmulhs_s32 (a, b);
 
455
 }
 
456
 
 
457
 /* { dg-final { scan-assembler-times "\\tsqrdmulh\\ts\[0-9\]+, s\[0-9\]+, v" 1 } } */
 
458
 
 
459
-int32_t
 
460
-test_vqrdmulhs_lane_s32 (int32_t a, int32x2_t b)
 
461
+int32x1_t
 
462
+test_vqrdmulhs_lane_s32 (int32x1_t a, int32x2_t b)
 
463
 {
 
464
   return vqrdmulhs_lane_s32 (a, b, 1);
 
465
 }
 
466
 
 
467
 /* { dg-final { scan-assembler-times "\\tsuqadd\\tb\[0-9\]+" 1 } } */
 
468
 
 
469
-int8_t
 
470
-test_vuqaddb_s8 (int8_t a, int8_t b)
 
471
+int8x1_t
 
472
+test_vuqaddb_s8 (int8x1_t a, int8x1_t b)
 
473
 {
 
474
   return vuqaddb_s8 (a, b);
 
475
 }
 
476
 
 
477
 /* { dg-final { scan-assembler-times "\\tsuqadd\\th\[0-9\]+" 1 } } */
 
478
 
 
479
-int16_t
 
480
-test_vuqaddh_s16 (int16_t a, int8_t b)
 
481
+int16x1_t
 
482
+test_vuqaddh_s16 (int16x1_t a, int8x1_t b)
 
483
 {
 
484
   return vuqaddh_s16 (a, b);
 
485
 }
 
486
 
 
487
 /* { dg-final { scan-assembler-times "\\tsuqadd\\ts\[0-9\]+" 1 } } */
 
488
 
 
489
-int32_t
 
490
-test_vuqadds_s32 (int32_t a, int8_t b)
 
491
+int32x1_t
 
492
+test_vuqadds_s32 (int32x1_t a, int8x1_t b)
 
493
 {
 
494
   return vuqadds_s32 (a, b);
 
495
 }
 
496
@@ -563,31 +563,31 @@ test_vuqadds_s32 (int32_t a, int8_t b)
 
497
 /* { dg-final { scan-assembler-times "\\tsuqadd\\td\[0-9\]+" 1 } } */
 
498
 
 
499
 int64x1_t
 
500
-test_vuqaddd_s64 (int64x1_t a, int8_t b)
 
501
+test_vuqaddd_s64 (int64x1_t a, int8x1_t b)
 
502
 {
 
503
   return vuqaddd_s64 (a, b);
 
504
 }
 
505
 
 
506
 /* { dg-final { scan-assembler-times "\\tusqadd\\tb\[0-9\]+" 1 } } */
 
507
 
 
508
-uint8_t
 
509
-test_vsqaddb_u8 (uint8_t a, int8_t b)
 
510
+uint8x1_t
 
511
+test_vsqaddb_u8 (uint8x1_t a, int8x1_t b)
 
512
 {
 
513
   return vsqaddb_u8 (a, b);
 
514
 }
 
515
 
 
516
 /* { dg-final { scan-assembler-times "\\tusqadd\\th\[0-9\]+" 1 } } */
 
517
 
 
518
-uint16_t
 
519
-test_vsqaddh_u16 (uint16_t a, int8_t b)
 
520
+uint16x1_t
 
521
+test_vsqaddh_u16 (uint16x1_t a, int8x1_t b)
 
522
 {
 
523
   return vsqaddh_u16 (a, b);
 
524
 }
 
525
 
 
526
 /* { dg-final { scan-assembler-times "\\tusqadd\\ts\[0-9\]+" 1 } } */
 
527
 
 
528
-uint32_t
 
529
-test_vsqadds_u32 (uint32_t a, int8_t b)
 
530
+uint32x1_t
 
531
+test_vsqadds_u32 (uint32x1_t a, int8x1_t b)
 
532
 {
 
533
   return vsqadds_u32 (a, b);
 
534
 }
 
535
@@ -595,78 +595,78 @@ test_vsqadds_u32 (uint32_t a, int8_t b)
 
536
 /* { dg-final { scan-assembler-times "\\tusqadd\\td\[0-9\]+" 1 } } */
 
537
 
 
538
 uint64x1_t
 
539
-test_vsqaddd_u64 (uint64x1_t a, int8_t b)
 
540
+test_vsqaddd_u64 (uint64x1_t a, int8x1_t b)
 
541
 {
 
542
   return vsqaddd_u64 (a, b);
 
543
 }
 
544
 
 
545
 /* { dg-final { scan-assembler-times "\\tsqabs\\tb\[0-9\]+" 1 } } */
 
546
 
 
547
-int8_t
 
548
-test_vqabsb_s8 (int8_t a)
 
549
+int8x1_t
 
550
+test_vqabsb_s8 (int8x1_t a)
 
551
 {
 
552
   return vqabsb_s8 (a);
 
553
 }
 
554
 
 
555
 /* { dg-final { scan-assembler-times "\\tsqabs\\th\[0-9\]+" 1 } } */
 
556
 
 
557
-int16_t
 
558
-test_vqabsh_s16 (int16_t a)
 
559
+int16x1_t
 
560
+test_vqabsh_s16 (int16x1_t a)
 
561
 {
 
562
   return vqabsh_s16 (a);
 
563
 }
 
564
 
 
565
 /* { dg-final { scan-assembler-times "\\tsqabs\\ts\[0-9\]+" 1 } } */
 
566
 
 
567
-int32_t
 
568
-test_vqabss_s32 (int32_t a)
 
569
+int32x1_t
 
570
+test_vqabss_s32 (int32x1_t a)
 
571
 {
 
572
   return vqabss_s32 (a);
 
573
 }
 
574
 
 
575
 /* { dg-final { scan-assembler-times "\\tsqneg\\tb\[0-9\]+" 1 } } */
 
576
 
 
577
-int8_t
 
578
-test_vqnegb_s8 (int8_t a)
 
579
+int8x1_t
 
580
+test_vqnegb_s8 (int8x1_t a)
 
581
 {
 
582
   return vqnegb_s8 (a);
 
583
 }
 
584
 
 
585
 /* { dg-final { scan-assembler-times "\\tsqneg\\th\[0-9\]+" 1 } } */
 
586
 
 
587
-int16_t
 
588
-test_vqnegh_s16 (int16_t a)
 
589
+int16x1_t
 
590
+test_vqnegh_s16 (int16x1_t a)
 
591
 {
 
592
   return vqnegh_s16 (a);
 
593
 }
 
594
 
 
595
 /* { dg-final { scan-assembler-times "\\tsqneg\\ts\[0-9\]+" 1 } } */
 
596
 
 
597
-int32_t
 
598
-test_vqnegs_s32 (int32_t a)
 
599
+int32x1_t
 
600
+test_vqnegs_s32 (int32x1_t a)
 
601
 {
 
602
   return vqnegs_s32 (a);
 
603
 }
 
604
 
 
605
 /* { dg-final { scan-assembler-times "\\tsqxtun\\tb\[0-9\]+" 1 } } */
 
606
 
 
607
-int8_t
 
608
-test_vqmovunh_s16 (int16_t a)
 
609
+int8x1_t
 
610
+test_vqmovunh_s16 (int16x1_t a)
 
611
 {
 
612
   return vqmovunh_s16 (a);
 
613
 }
 
614
 
 
615
 /* { dg-final { scan-assembler-times "\\tsqxtun\\th\[0-9\]+" 1 } } */
 
616
 
 
617
-int16_t
 
618
-test_vqmovuns_s32 (int32_t a)
 
619
+int16x1_t
 
620
+test_vqmovuns_s32 (int32x1_t a)
 
621
 {
 
622
   return vqmovuns_s32 (a);
 
623
 }
 
624
 
 
625
 /* { dg-final { scan-assembler-times "\\tsqxtun\\ts\[0-9\]+" 1 } } */
 
626
 
 
627
-int32_t
 
628
+int32x1_t
 
629
 test_vqmovund_s64 (int64x1_t a)
 
630
 {
 
631
   return vqmovund_s64 (a);
 
632
@@ -674,23 +674,23 @@ test_vqmovund_s64 (int64x1_t a)
 
633
 
 
634
 /* { dg-final { scan-assembler-times "\\tsqxtn\\tb\[0-9\]+" 1 } } */
 
635
 
 
636
-int8_t
 
637
-test_vqmovnh_s16 (int16_t a)
 
638
+int8x1_t
 
639
+test_vqmovnh_s16 (int16x1_t a)
 
640
 {
 
641
   return vqmovnh_s16 (a);
 
642
 }
 
643
 
 
644
 /* { dg-final { scan-assembler-times "\\tsqxtn\\th\[0-9\]+" 1 } } */
 
645
 
 
646
-int16_t
 
647
-test_vqmovns_s32 (int32_t a)
 
648
+int16x1_t
 
649
+test_vqmovns_s32 (int32x1_t a)
 
650
 {
 
651
   return vqmovns_s32 (a);
 
652
 }
 
653
 
 
654
 /* { dg-final { scan-assembler-times "\\tsqxtn\\ts\[0-9\]+" 1 } } */
 
655
 
 
656
-int32_t
 
657
+int32x1_t
 
658
 test_vqmovnd_s64 (int64x1_t a)
 
659
 {
 
660
   return vqmovnd_s64 (a);
 
661
@@ -698,23 +698,23 @@ test_vqmovnd_s64 (int64x1_t a)
 
662
 
 
663
 /* { dg-final { scan-assembler-times "\\tuqxtn\\tb\[0-9\]+" 1 } } */
 
664
 
 
665
-uint8_t
 
666
-test_vqmovnh_u16 (uint16_t a)
 
667
+uint8x1_t
 
668
+test_vqmovnh_u16 (uint16x1_t a)
 
669
 {
 
670
   return vqmovnh_u16 (a);
 
671
 }
 
672
 
 
673
 /* { dg-final { scan-assembler-times "\\tuqxtn\\th\[0-9\]+" 1 } } */
 
674
 
 
675
-uint16_t
 
676
-test_vqmovns_u32 (uint32_t a)
 
677
+uint16x1_t
 
678
+test_vqmovns_u32 (uint32x1_t a)
 
679
 {
 
680
   return vqmovns_u32 (a);
 
681
 }
 
682
 
 
683
 /* { dg-final { scan-assembler-times "\\tuqxtn\\ts\[0-9\]+" 1 } } */
 
684
 
 
685
-uint32_t
 
686
+uint32x1_t
 
687
 test_vqmovnd_u64 (uint64x1_t a)
 
688
 {
 
689
   return vqmovnd_u64 (a);
 
690
@@ -753,24 +753,24 @@ test_vqsubd_u64 (uint64x1_t a, uint64x1_
 
691
 
 
692
 /* { dg-final { scan-assembler-times "\\tuqsub\\ts\[0-9\]+" 1 } } */
 
693
 
 
694
-uint32_t
 
695
-test_vqsubs_u32 (uint32_t a, uint32_t b)
 
696
+uint32x1_t
 
697
+test_vqsubs_u32 (uint32x1_t a, uint32x1_t b)
 
698
 {
 
699
   return vqsubs_u32 (a, b);
 
700
 }
 
701
 
 
702
 /* { dg-final { scan-assembler-times "\\tuqsub\\th\[0-9\]+" 1 } } */
 
703
 
 
704
-uint16_t
 
705
-test_vqsubh_u16 (uint16_t a, uint16_t b)
 
706
+uint16x1_t
 
707
+test_vqsubh_u16 (uint16x1_t a, uint16x1_t b)
 
708
 {
 
709
   return vqsubh_u16 (a, b);
 
710
 }
 
711
 
 
712
 /* { dg-final { scan-assembler-times "\\tuqsub\\tb\[0-9\]+" 1 } } */
 
713
 
 
714
-uint8_t
 
715
-test_vqsubb_u8 (uint8_t a, uint8_t b)
 
716
+uint8x1_t
 
717
+test_vqsubb_u8 (uint8x1_t a, uint8x1_t b)
 
718
 {
 
719
   return vqsubb_u8 (a, b);
 
720
 }
 
721
@@ -785,24 +785,24 @@ test_vqsubd_s64 (int64x1_t a, int64x1_t
 
722
 
 
723
 /* { dg-final { scan-assembler-times "\\tsqsub\\ts\[0-9\]+" 1 } } */
 
724
 
 
725
-int32_t
 
726
-test_vqsubs_s32 (int32_t a, int32_t b)
 
727
+int32x1_t
 
728
+test_vqsubs_s32 (int32x1_t a, int32x1_t b)
 
729
 {
 
730
   return vqsubs_s32 (a, b);
 
731
 }
 
732
 
 
733
 /* { dg-final { scan-assembler-times "\\tsqsub\\th\[0-9\]+" 1 } } */
 
734
 
 
735
-int16_t
 
736
-test_vqsubh_s16 (int16_t a, int16_t b)
 
737
+int16x1_t
 
738
+test_vqsubh_s16 (int16x1_t a, int16x1_t b)
 
739
 {
 
740
   return vqsubh_s16 (a, b);
 
741
 }
 
742
 
 
743
 /* { dg-final { scan-assembler-times "\\tsqsub\\tb\[0-9\]+" 1 } } */
 
744
 
 
745
-int8_t
 
746
-test_vqsubb_s8 (int8_t a, int8_t b)
 
747
+int8x1_t
 
748
+test_vqsubb_s8 (int8x1_t a, int8x1_t b)
 
749
 {
 
750
   return vqsubb_s8 (a, b);
 
751
 }
 
752
@@ -908,24 +908,24 @@ test_vrsrad_n_u64 (uint64x1_t a, uint64x
 
753
 
 
754
 /* { dg-final { scan-assembler-times "\\tsqrshl\\tb\[0-9\]+" 1 } } */
 
755
 
 
756
-int8_t
 
757
-test_vqrshlb_s8 (int8_t a, int8_t b)
 
758
+int8x1_t
 
759
+test_vqrshlb_s8 (int8x1_t a, int8x1_t b)
 
760
 {
 
761
   return vqrshlb_s8 (a, b);
 
762
 }
 
763
 
 
764
 /* { dg-final { scan-assembler-times "\\tsqrshl\\th\[0-9\]+" 1 } } */
 
765
 
 
766
-int16_t
 
767
-test_vqrshlh_s16 (int16_t a, int16_t b)
 
768
+int16x1_t
 
769
+test_vqrshlh_s16 (int16x1_t a, int16x1_t b)
 
770
 {
 
771
   return vqrshlh_s16 (a, b);
 
772
 }
 
773
 
 
774
 /* { dg-final { scan-assembler-times "\\tsqrshl\\ts\[0-9\]+" 1 } } */
 
775
 
 
776
-int32_t
 
777
-test_vqrshls_s32 (int32_t a, int32_t b)
 
778
+int32x1_t
 
779
+test_vqrshls_s32 (int32x1_t a, int32x1_t b)
 
780
 {
 
781
   return vqrshls_s32 (a, b);
 
782
 }
 
783
@@ -940,24 +940,24 @@ test_vqrshld_s64 (int64x1_t a, int64x1_t
 
784
 
 
785
 /* { dg-final { scan-assembler-times "\\tuqrshl\\tb\[0-9\]+" 1 } } */
 
786
 
 
787
-uint8_t
 
788
-test_vqrshlb_u8 (uint8_t a, uint8_t b)
 
789
+uint8x1_t
 
790
+test_vqrshlb_u8 (uint8x1_t a, uint8x1_t b)
 
791
 {
 
792
   return vqrshlb_u8 (a, b);
 
793
 }
 
794
 
 
795
 /* { dg-final { scan-assembler-times "\\tuqrshl\\th\[0-9\]+" 1 } } */
 
796
 
 
797
-uint16_t
 
798
-test_vqrshlh_u16 (uint16_t a, uint16_t b)
 
799
+uint16x1_t
 
800
+test_vqrshlh_u16 (uint16x1_t a, uint16x1_t b)
 
801
 {
 
802
   return vqrshlh_u16 (a, b);
 
803
 }
 
804
 
 
805
 /* { dg-final { scan-assembler-times "\\tuqrshl\\ts\[0-9\]+" 1 } } */
 
806
 
 
807
-uint32_t
 
808
-test_vqrshls_u32 (uint32_t a, uint32_t b)
 
809
+uint32x1_t
 
810
+test_vqrshls_u32 (uint32x1_t a, uint32x1_t b)
 
811
 {
 
812
   return vqrshls_u32 (a, b);
 
813
 }
 
814
@@ -972,24 +972,24 @@ test_vqrshld_u64 (uint64x1_t a, uint64x1
 
815
 
 
816
 /* { dg-final { scan-assembler-times "\\tsqshlu\\tb\[0-9\]+" 1 } } */
 
817
 
 
818
-int8_t
 
819
-test_vqshlub_n_s8 (int8_t a)
 
820
+int8x1_t
 
821
+test_vqshlub_n_s8 (int8x1_t a)
 
822
 {
 
823
   return vqshlub_n_s8 (a, 3);
 
824
 }
 
825
 
 
826
 /* { dg-final { scan-assembler-times "\\tsqshlu\\th\[0-9\]+" 1 } } */
 
827
 
 
828
-int16_t
 
829
-test_vqshluh_n_s16 (int16_t a)
 
830
+int16x1_t
 
831
+test_vqshluh_n_s16 (int16x1_t a)
 
832
 {
 
833
   return vqshluh_n_s16 (a, 4);
 
834
 }
 
835
 
 
836
 /* { dg-final { scan-assembler-times "\\tsqshlu\\ts\[0-9\]+" 1 } } */
 
837
 
 
838
-int32_t
 
839
-test_vqshlus_n_s32 (int32_t a)
 
840
+int32x1_t
 
841
+test_vqshlus_n_s32 (int32x1_t a)
 
842
 {
 
843
   return vqshlus_n_s32 (a, 5);
 
844
 }
 
845
@@ -1004,42 +1004,42 @@ test_vqshlud_n_s64 (int64x1_t a)
 
846
 
 
847
 /* { dg-final { scan-assembler-times "\\tsqshl\\tb\[0-9\]+" 2 } } */
 
848
 
 
849
-int8_t
 
850
-test_vqshlb_s8 (int8_t a, int8_t b)
 
851
+int8x1_t
 
852
+test_vqshlb_s8 (int8x1_t a, int8x1_t b)
 
853
 {
 
854
   return vqshlb_s8 (a, b);
 
855
 }
 
856
 
 
857
-int8_t
 
858
-test_vqshlb_n_s8 (int8_t a)
 
859
+int8x1_t
 
860
+test_vqshlb_n_s8 (int8x1_t a)
 
861
 {
 
862
   return vqshlb_n_s8 (a, 2);
 
863
 }
 
864
 
 
865
 /* { dg-final { scan-assembler-times "\\tsqshl\\th\[0-9\]+" 2 } } */
 
866
 
 
867
-int16_t
 
868
-test_vqshlh_s16 (int16_t a, int16_t b)
 
869
+int16x1_t
 
870
+test_vqshlh_s16 (int16x1_t a, int16x1_t b)
 
871
 {
 
872
   return vqshlh_s16 (a, b);
 
873
 }
 
874
 
 
875
-int16_t
 
876
-test_vqshlh_n_s16 (int16_t a)
 
877
+int16x1_t
 
878
+test_vqshlh_n_s16 (int16x1_t a)
 
879
 {
 
880
   return vqshlh_n_s16 (a, 3);
 
881
 }
 
882
 
 
883
 /* { dg-final { scan-assembler-times "\\tsqshl\\ts\[0-9\]+" 2 } } */
 
884
 
 
885
-int32_t
 
886
-test_vqshls_s32 (int32_t a, int32_t b)
 
887
+int32x1_t
 
888
+test_vqshls_s32 (int32x1_t a, int32x1_t b)
 
889
 {
 
890
   return vqshls_s32 (a, b);
 
891
 }
 
892
 
 
893
-int32_t
 
894
-test_vqshls_n_s32 (int32_t a)
 
895
+int32x1_t
 
896
+test_vqshls_n_s32 (int32x1_t a)
 
897
 {
 
898
   return vqshls_n_s32 (a, 4);
 
899
 }
 
900
@@ -1060,42 +1060,42 @@ test_vqshld_n_s64 (int64x1_t a)
 
901
 
 
902
 /* { dg-final { scan-assembler-times "\\tuqshl\\tb\[0-9\]+" 2 } } */
 
903
 
 
904
-uint8_t
 
905
-test_vqshlb_u8 (uint8_t a, uint8_t b)
 
906
+uint8x1_t
 
907
+test_vqshlb_u8 (uint8x1_t a, uint8x1_t b)
 
908
 {
 
909
   return vqshlb_u8 (a, b);
 
910
 }
 
911
 
 
912
-uint8_t
 
913
-test_vqshlb_n_u8 (uint8_t a)
 
914
+uint8x1_t
 
915
+test_vqshlb_n_u8 (uint8x1_t a)
 
916
 {
 
917
   return vqshlb_n_u8 (a, 2);
 
918
 }
 
919
 
 
920
 /* { dg-final { scan-assembler-times "\\tuqshl\\th\[0-9\]+" 2 } } */
 
921
 
 
922
-uint16_t
 
923
-test_vqshlh_u16 (uint16_t a, uint16_t b)
 
924
+uint16x1_t
 
925
+test_vqshlh_u16 (uint16x1_t a, uint16x1_t b)
 
926
 {
 
927
   return vqshlh_u16 (a, b);
 
928
 }
 
929
 
 
930
-uint16_t
 
931
-test_vqshlh_n_u16 (uint16_t a)
 
932
+uint16x1_t
 
933
+test_vqshlh_n_u16 (uint16x1_t a)
 
934
 {
 
935
   return vqshlh_n_u16 (a, 3);
 
936
 }
 
937
 
 
938
 /* { dg-final { scan-assembler-times "\\tuqshl\\ts\[0-9\]+" 2 } } */
 
939
 
 
940
-uint32_t
 
941
-test_vqshls_u32 (uint32_t a, uint32_t b)
 
942
+uint32x1_t
 
943
+test_vqshls_u32 (uint32x1_t a, uint32x1_t b)
 
944
 {
 
945
   return vqshls_u32 (a, b);
 
946
 }
 
947
 
 
948
-uint32_t
 
949
-test_vqshls_n_u32 (uint32_t a)
 
950
+uint32x1_t
 
951
+test_vqshls_n_u32 (uint32x1_t a)
 
952
 {
 
953
   return vqshls_n_u32 (a, 4);
 
954
 }
 
955
@@ -1116,23 +1116,23 @@ test_vqshld_n_u64 (uint64x1_t a)
 
956
 
 
957
 /* { dg-final { scan-assembler-times "\\tsqshrun\\tb\[0-9\]+" 1 } } */
 
958
 
 
959
-int8_t
 
960
-test_vqshrunh_n_s16 (int16_t a)
 
961
+int8x1_t
 
962
+test_vqshrunh_n_s16 (int16x1_t a)
 
963
 {
 
964
   return vqshrunh_n_s16 (a, 2);
 
965
 }
 
966
 
 
967
 /* { dg-final { scan-assembler-times "\\tsqshrun\\th\[0-9\]+" 1 } } */
 
968
 
 
969
-int16_t
 
970
-test_vqshruns_n_s32 (int32_t a)
 
971
+int16x1_t
 
972
+test_vqshruns_n_s32 (int32x1_t a)
 
973
 {
 
974
   return vqshruns_n_s32 (a, 3);
 
975
 }
 
976
 
 
977
 /* { dg-final { scan-assembler-times "\\tsqshrun\\ts\[0-9\]+" 1 } } */
 
978
 
 
979
-int32_t
 
980
+int32x1_t
 
981
 test_vqshrund_n_s64 (int64x1_t a)
 
982
 {
 
983
   return vqshrund_n_s64 (a, 4);
 
984
@@ -1140,23 +1140,23 @@ test_vqshrund_n_s64 (int64x1_t a)
 
985
 
 
986
 /* { dg-final { scan-assembler-times "\\tsqrshrun\\tb\[0-9\]+" 1 } } */
 
987
 
 
988
-int8_t
 
989
-test_vqrshrunh_n_s16 (int16_t a)
 
990
+int8x1_t
 
991
+test_vqrshrunh_n_s16 (int16x1_t a)
 
992
 {
 
993
   return vqrshrunh_n_s16 (a, 2);
 
994
 }
 
995
 
 
996
 /* { dg-final { scan-assembler-times "\\tsqrshrun\\th\[0-9\]+" 1 } } */
 
997
 
 
998
-int16_t
 
999
-test_vqrshruns_n_s32 (int32_t a)
 
1000
+int16x1_t
 
1001
+test_vqrshruns_n_s32 (int32x1_t a)
 
1002
 {
 
1003
   return vqrshruns_n_s32 (a, 3);
 
1004
 }
 
1005
 
 
1006
 /* { dg-final { scan-assembler-times "\\tsqrshrun\\ts\[0-9\]+" 1 } } */
 
1007
 
 
1008
-int32_t
 
1009
+int32x1_t
 
1010
 test_vqrshrund_n_s64 (int64x1_t a)
 
1011
 {
 
1012
   return vqrshrund_n_s64 (a, 4);
 
1013
@@ -1164,23 +1164,23 @@ test_vqrshrund_n_s64 (int64x1_t a)
 
1014
 
 
1015
 /* { dg-final { scan-assembler-times "\\tsqshrn\\tb\[0-9\]+" 1 } } */
 
1016
 
 
1017
-int8_t
 
1018
-test_vqshrnh_n_s16 (int16_t a)
 
1019
+int8x1_t
 
1020
+test_vqshrnh_n_s16 (int16x1_t a)
 
1021
 {
 
1022
   return vqshrnh_n_s16 (a, 2);
 
1023
 }
 
1024
 
 
1025
 /* { dg-final { scan-assembler-times "\\tsqshrn\\th\[0-9\]+" 1 } } */
 
1026
 
 
1027
-int16_t
 
1028
-test_vqshrns_n_s32 (int32_t a)
 
1029
+int16x1_t
 
1030
+test_vqshrns_n_s32 (int32x1_t a)
 
1031
 {
 
1032
   return vqshrns_n_s32 (a, 3);
 
1033
 }
 
1034
 
 
1035
 /* { dg-final { scan-assembler-times "\\tsqshrn\\ts\[0-9\]+" 1 } } */
 
1036
 
 
1037
-int32_t
 
1038
+int32x1_t
 
1039
 test_vqshrnd_n_s64 (int64x1_t a)
 
1040
 {
 
1041
   return vqshrnd_n_s64 (a, 4);
 
1042
@@ -1188,23 +1188,23 @@ test_vqshrnd_n_s64 (int64x1_t a)
 
1043
 
 
1044
 /* { dg-final { scan-assembler-times "\\tuqshrn\\tb\[0-9\]+" 1 } } */
 
1045
 
 
1046
-uint8_t
 
1047
-test_vqshrnh_n_u16 (uint16_t a)
 
1048
+uint8x1_t
 
1049
+test_vqshrnh_n_u16 (uint16x1_t a)
 
1050
 {
 
1051
   return vqshrnh_n_u16 (a, 2);
 
1052
 }
 
1053
 
 
1054
 /* { dg-final { scan-assembler-times "\\tuqshrn\\th\[0-9\]+" 1 } } */
 
1055
 
 
1056
-uint16_t
 
1057
-test_vqshrns_n_u32 (uint32_t a)
 
1058
+uint16x1_t
 
1059
+test_vqshrns_n_u32 (uint32x1_t a)
 
1060
 {
 
1061
   return vqshrns_n_u32 (a, 3);
 
1062
 }
 
1063
 
 
1064
 /* { dg-final { scan-assembler-times "\\tuqshrn\\ts\[0-9\]+" 1 } } */
 
1065
 
 
1066
-uint32_t
 
1067
+uint32x1_t
 
1068
 test_vqshrnd_n_u64 (uint64x1_t a)
 
1069
 {
 
1070
   return vqshrnd_n_u64 (a, 4);
 
1071
@@ -1212,23 +1212,23 @@ test_vqshrnd_n_u64 (uint64x1_t a)
 
1072
 
 
1073
 /* { dg-final { scan-assembler-times "\\tsqrshrn\\tb\[0-9\]+" 1 } } */
 
1074
 
 
1075
-int8_t
 
1076
-test_vqrshrnh_n_s16 (int16_t a)
 
1077
+int8x1_t
 
1078
+test_vqrshrnh_n_s16 (int16x1_t a)
 
1079
 {
 
1080
   return vqrshrnh_n_s16 (a, 2);
 
1081
 }
 
1082
 
 
1083
 /* { dg-final { scan-assembler-times "\\tsqrshrn\\th\[0-9\]+" 1 } } */
 
1084
 
 
1085
-int16_t
 
1086
-test_vqrshrns_n_s32 (int32_t a)
 
1087
+int16x1_t
 
1088
+test_vqrshrns_n_s32 (int32x1_t a)
 
1089
 {
 
1090
   return vqrshrns_n_s32 (a, 3);
 
1091
 }
 
1092
 
 
1093
 /* { dg-final { scan-assembler-times "\\tsqrshrn\\ts\[0-9\]+" 1 } } */
 
1094
 
 
1095
-int32_t
 
1096
+int32x1_t
 
1097
 test_vqrshrnd_n_s64 (int64x1_t a)
 
1098
 {
 
1099
   return vqrshrnd_n_s64 (a, 4);
 
1100
@@ -1236,23 +1236,23 @@ test_vqrshrnd_n_s64 (int64x1_t a)
 
1101
 
 
1102
 /* { dg-final { scan-assembler-times "\\tuqrshrn\\tb\[0-9\]+" 1 } } */
 
1103
 
 
1104
-uint8_t
 
1105
-test_vqrshrnh_n_u16 (uint16_t a)
 
1106
+uint8x1_t
 
1107
+test_vqrshrnh_n_u16 (uint16x1_t a)
 
1108
 {
 
1109
   return vqrshrnh_n_u16 (a, 2);
 
1110
 }
 
1111
 
 
1112
 /* { dg-final { scan-assembler-times "\\tuqrshrn\\th\[0-9\]+" 1 } } */
 
1113
 
 
1114
-uint16_t
 
1115
-test_vqrshrns_n_u32 (uint32_t a)
 
1116
+uint16x1_t
 
1117
+test_vqrshrns_n_u32 (uint32x1_t a)
 
1118
 {
 
1119
   return vqrshrns_n_u32 (a, 3);
 
1120
 }
 
1121
 
 
1122
 /* { dg-final { scan-assembler-times "\\tuqrshrn\\ts\[0-9\]+" 1 } } */
 
1123
 
 
1124
-uint32_t
 
1125
+uint32x1_t
 
1126
 test_vqrshrnd_n_u64 (uint64x1_t a)
 
1127
 {
 
1128
   return vqrshrnd_n_u64 (a, 4);
 
1129
Index: b/src/gcc/testsuite/gcc.target/aarch64/vqdmlslh_lane_s16.c
 
1130
===================================================================
 
1131
--- a/src/gcc/testsuite/gcc.target/aarch64/vqdmlslh_lane_s16.c
 
1132
+++ b/src/gcc/testsuite/gcc.target/aarch64/vqdmlslh_lane_s16.c
 
1133
@@ -5,8 +5,8 @@
 
1134
 
 
1135
 #include "arm_neon.h"
 
1136
 
 
1137
-int32_t
 
1138
-t_vqdmlslh_lane_s16 (int32_t a, int16_t b, int16x4_t c)
 
1139
+int32x1_t
 
1140
+t_vqdmlslh_lane_s16 (int32x1_t a, int16x1_t b, int16x4_t c)
 
1141
 {
 
1142
   return vqdmlslh_lane_s16 (a, b, c, 0);
 
1143
 }
 
1144
Index: b/src/gcc/testsuite/ChangeLog
 
1145
===================================================================
 
1146
--- a/src/gcc/testsuite/ChangeLog
 
1147
+++ b/src/gcc/testsuite/ChangeLog
 
1148
@@ -1,15 +1,3 @@
 
1149
-2014-09-11  Alan Lawrence  <alan.lawrence@arm.com>
 
1150
-
 
1151
-       Backport r214953 from mainline
 
1152
-       2014-09-05  Alan Lawrence  <alan.lawrence@arm.com>
 
1153
-
 
1154
-       * gcc.target/aarch64/scalar_intrinsics.c (*): Replace all
 
1155
-       int{32,16,8}x1_t with int{32,16,8}_t.
 
1156
-       * gcc.target/aarch64/simd/vqdmlalh_lane_s16.c: Likewise.
 
1157
-       * gcc.target/aarch64/simd/vqdmlslh_lane_s16.c: Likewise.
 
1158
-       * gcc.target/aarch64/simd/vqdmullh_lane_s16.c: Likewise.
 
1159
-       * gcc.target/aarch64/simd/vqdmulls_lane_s32.c: Likewise.
 
1160
-
 
1161
 2014-09-10  Xinliang David Li  <davidxl@google.com>
 
1162
 
 
1163
        Backport from mainline
 
1164
Index: b/src/gcc/config/aarch64/arm_neon.h
 
1165
===================================================================
 
1166
--- a/src/gcc/config/aarch64/arm_neon.h
 
1167
+++ b/src/gcc/config/aarch64/arm_neon.h
 
1168
@@ -39,6 +39,9 @@ typedef __builtin_aarch64_simd_hi int16x
 
1169
 typedef __builtin_aarch64_simd_si int32x2_t
 
1170
   __attribute__ ((__vector_size__ (8)));
 
1171
 typedef int64_t int64x1_t;
 
1172
+typedef int32_t int32x1_t;
 
1173
+typedef int16_t int16x1_t;
 
1174
+typedef int8_t int8x1_t;
 
1175
 typedef double float64x1_t;
 
1176
 typedef __builtin_aarch64_simd_sf float32x2_t
 
1177
   __attribute__ ((__vector_size__ (8)));
 
1178
@@ -53,6 +56,9 @@ typedef __builtin_aarch64_simd_uhi uint1
 
1179
 typedef __builtin_aarch64_simd_usi uint32x2_t
 
1180
   __attribute__ ((__vector_size__ (8)));
 
1181
 typedef uint64_t uint64x1_t;
 
1182
+typedef uint32_t uint32x1_t;
 
1183
+typedef uint16_t uint16x1_t;
 
1184
+typedef uint8_t uint8x1_t;
 
1185
 typedef __builtin_aarch64_simd_qi int8x16_t
 
1186
   __attribute__ ((__vector_size__ (16)));
 
1187
 typedef __builtin_aarch64_simd_hi int16x8_t
 
1188
@@ -8394,7 +8400,7 @@ vmul_n_u32 (uint32x2_t a, uint32_t b)
 
1189
 #define vmull_high_lane_s16(a, b, c)                                    \
 
1190
   __extension__                                                         \
 
1191
     ({                                                                  \
 
1192
-       int16x4_t b_ = (b);                                              \
 
1193
+       int16x8_t b_ = (b);                                              \
 
1194
        int16x8_t a_ = (a);                                              \
 
1195
        int32x4_t result;                                                \
 
1196
        __asm__ ("smull2 %0.4s, %1.8h, %2.h[%3]"                         \
 
1197
@@ -8407,7 +8413,7 @@ vmul_n_u32 (uint32x2_t a, uint32_t b)
 
1198
 #define vmull_high_lane_s32(a, b, c)                                    \
 
1199
   __extension__                                                         \
 
1200
     ({                                                                  \
 
1201
-       int32x2_t b_ = (b);                                              \
 
1202
+       int32x4_t b_ = (b);                                              \
 
1203
        int32x4_t a_ = (a);                                              \
 
1204
        int64x2_t result;                                                \
 
1205
        __asm__ ("smull2 %0.2d, %1.4s, %2.s[%3]"                         \
 
1206
@@ -8420,7 +8426,7 @@ vmul_n_u32 (uint32x2_t a, uint32_t b)
 
1207
 #define vmull_high_lane_u16(a, b, c)                                    \
 
1208
   __extension__                                                         \
 
1209
     ({                                                                  \
 
1210
-       uint16x4_t b_ = (b);                                             \
 
1211
+       uint16x8_t b_ = (b);                                             \
 
1212
        uint16x8_t a_ = (a);                                             \
 
1213
        uint32x4_t result;                                               \
 
1214
        __asm__ ("umull2 %0.4s, %1.8h, %2.h[%3]"                         \
 
1215
@@ -8433,7 +8439,7 @@ vmul_n_u32 (uint32x2_t a, uint32_t b)
 
1216
 #define vmull_high_lane_u32(a, b, c)                                    \
 
1217
   __extension__                                                         \
 
1218
     ({                                                                  \
 
1219
-       uint32x2_t b_ = (b);                                             \
 
1220
+       uint32x4_t b_ = (b);                                             \
 
1221
        uint32x4_t a_ = (a);                                             \
 
1222
        uint64x2_t result;                                               \
 
1223
        __asm__ ("umull2 %0.2d, %1.4s, %2.s[%3]"                         \
 
1224
@@ -20919,42 +20925,42 @@ vqabsq_s64 (int64x2_t __a)
 
1225
   return (int64x2_t) __builtin_aarch64_sqabsv2di (__a);
 
1226
 }
 
1227
 
 
1228
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1229
-vqabsb_s8 (int8_t __a)
 
1230
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1231
+vqabsb_s8 (int8x1_t __a)
 
1232
 {
 
1233
-  return (int8_t) __builtin_aarch64_sqabsqi (__a);
 
1234
+  return (int8x1_t) __builtin_aarch64_sqabsqi (__a);
 
1235
 }
 
1236
 
 
1237
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1238
-vqabsh_s16 (int16_t __a)
 
1239
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1240
+vqabsh_s16 (int16x1_t __a)
 
1241
 {
 
1242
-  return (int16_t) __builtin_aarch64_sqabshi (__a);
 
1243
+  return (int16x1_t) __builtin_aarch64_sqabshi (__a);
 
1244
 }
 
1245
 
 
1246
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1247
-vqabss_s32 (int32_t __a)
 
1248
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1249
+vqabss_s32 (int32x1_t __a)
 
1250
 {
 
1251
-  return (int32_t) __builtin_aarch64_sqabssi (__a);
 
1252
+  return (int32x1_t) __builtin_aarch64_sqabssi (__a);
 
1253
 }
 
1254
 
 
1255
 /* vqadd */
 
1256
 
 
1257
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1258
-vqaddb_s8 (int8_t __a, int8_t __b)
 
1259
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1260
+vqaddb_s8 (int8x1_t __a, int8x1_t __b)
 
1261
 {
 
1262
-  return (int8_t) __builtin_aarch64_sqaddqi (__a, __b);
 
1263
+  return (int8x1_t) __builtin_aarch64_sqaddqi (__a, __b);
 
1264
 }
 
1265
 
 
1266
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1267
-vqaddh_s16 (int16_t __a, int16_t __b)
 
1268
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1269
+vqaddh_s16 (int16x1_t __a, int16x1_t __b)
 
1270
 {
 
1271
-  return (int16_t) __builtin_aarch64_sqaddhi (__a, __b);
 
1272
+  return (int16x1_t) __builtin_aarch64_sqaddhi (__a, __b);
 
1273
 }
 
1274
 
 
1275
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1276
-vqadds_s32 (int32_t __a, int32_t __b)
 
1277
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1278
+vqadds_s32 (int32x1_t __a, int32x1_t __b)
 
1279
 {
 
1280
-  return (int32_t) __builtin_aarch64_sqaddsi (__a, __b);
 
1281
+  return (int32x1_t) __builtin_aarch64_sqaddsi (__a, __b);
 
1282
 }
 
1283
 
 
1284
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
1285
@@ -20963,22 +20969,22 @@ vqaddd_s64 (int64x1_t __a, int64x1_t __b
 
1286
   return (int64x1_t) __builtin_aarch64_sqadddi (__a, __b);
 
1287
 }
 
1288
 
 
1289
-__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
 
1290
-vqaddb_u8 (uint8_t __a, uint8_t __b)
 
1291
+__extension__ static __inline uint8x1_t __attribute__ ((__always_inline__))
 
1292
+vqaddb_u8 (uint8x1_t __a, uint8x1_t __b)
 
1293
 {
 
1294
-  return (uint8_t) __builtin_aarch64_uqaddqi (__a, __b);
 
1295
+  return (uint8x1_t) __builtin_aarch64_uqaddqi (__a, __b);
 
1296
 }
 
1297
 
 
1298
-__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
 
1299
-vqaddh_u16 (uint16_t __a, uint16_t __b)
 
1300
+__extension__ static __inline uint16x1_t __attribute__ ((__always_inline__))
 
1301
+vqaddh_u16 (uint16x1_t __a, uint16x1_t __b)
 
1302
 {
 
1303
-  return (uint16_t) __builtin_aarch64_uqaddhi (__a, __b);
 
1304
+  return (uint16x1_t) __builtin_aarch64_uqaddhi (__a, __b);
 
1305
 }
 
1306
 
 
1307
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
 
1308
-vqadds_u32 (uint32_t __a, uint32_t __b)
 
1309
+__extension__ static __inline uint32x1_t __attribute__ ((__always_inline__))
 
1310
+vqadds_u32 (uint32x1_t __a, uint32x1_t __b)
 
1311
 {
 
1312
-  return (uint32_t) __builtin_aarch64_uqaddsi (__a, __b);
 
1313
+  return (uint32x1_t) __builtin_aarch64_uqaddsi (__a, __b);
 
1314
 }
 
1315
 
 
1316
 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
 
1317
@@ -21089,26 +21095,26 @@ vqdmlal_n_s32 (int64x2_t __a, int32x2_t
 
1318
   return __builtin_aarch64_sqdmlal_nv2si (__a, __b, __c);
 
1319
 }
 
1320
 
 
1321
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1322
-vqdmlalh_s16 (int32_t __a, int16_t __b, int16_t __c)
 
1323
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1324
+vqdmlalh_s16 (int32x1_t __a, int16x1_t __b, int16x1_t __c)
 
1325
 {
 
1326
   return __builtin_aarch64_sqdmlalhi (__a, __b, __c);
 
1327
 }
 
1328
 
 
1329
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1330
-vqdmlalh_lane_s16 (int32_t __a, int16_t __b, int16x4_t __c, const int __d)
 
1331
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1332
+vqdmlalh_lane_s16 (int32x1_t __a, int16x1_t __b, int16x4_t __c, const int __d)
 
1333
 {
 
1334
   return __builtin_aarch64_sqdmlal_lanehi (__a, __b, __c, __d);
 
1335
 }
 
1336
 
 
1337
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
1338
-vqdmlals_s32 (int64x1_t __a, int32_t __b, int32_t __c)
 
1339
+vqdmlals_s32 (int64x1_t __a, int32x1_t __b, int32x1_t __c)
 
1340
 {
 
1341
   return __builtin_aarch64_sqdmlalsi (__a, __b, __c);
 
1342
 }
 
1343
 
 
1344
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
1345
-vqdmlals_lane_s32 (int64x1_t __a, int32_t __b, int32x2_t __c, const int __d)
 
1346
+vqdmlals_lane_s32 (int64x1_t __a, int32x1_t __b, int32x2_t __c, const int __d)
 
1347
 {
 
1348
   return __builtin_aarch64_sqdmlal_lanesi (__a, __b, __c, __d);
 
1349
 }
 
1350
@@ -21215,26 +21221,26 @@ vqdmlsl_n_s32 (int64x2_t __a, int32x2_t
 
1351
   return __builtin_aarch64_sqdmlsl_nv2si (__a, __b, __c);
 
1352
 }
 
1353
 
 
1354
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1355
-vqdmlslh_s16 (int32_t __a, int16_t __b, int16_t __c)
 
1356
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1357
+vqdmlslh_s16 (int32x1_t __a, int16x1_t __b, int16x1_t __c)
 
1358
 {
 
1359
   return __builtin_aarch64_sqdmlslhi (__a, __b, __c);
 
1360
 }
 
1361
 
 
1362
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1363
-vqdmlslh_lane_s16 (int32_t __a, int16_t __b, int16x4_t __c, const int __d)
 
1364
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1365
+vqdmlslh_lane_s16 (int32x1_t __a, int16x1_t __b, int16x4_t __c, const int __d)
 
1366
 {
 
1367
   return __builtin_aarch64_sqdmlsl_lanehi (__a, __b, __c, __d);
 
1368
 }
 
1369
 
 
1370
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
1371
-vqdmlsls_s32 (int64x1_t __a, int32_t __b, int32_t __c)
 
1372
+vqdmlsls_s32 (int64x1_t __a, int32x1_t __b, int32x1_t __c)
 
1373
 {
 
1374
   return __builtin_aarch64_sqdmlslsi (__a, __b, __c);
 
1375
 }
 
1376
 
 
1377
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
1378
-vqdmlsls_lane_s32 (int64x1_t __a, int32_t __b, int32x2_t __c, const int __d)
 
1379
+vqdmlsls_lane_s32 (int64x1_t __a, int32x1_t __b, int32x2_t __c, const int __d)
 
1380
 {
 
1381
   return __builtin_aarch64_sqdmlsl_lanesi (__a, __b, __c, __d);
 
1382
 }
 
1383
@@ -21265,26 +21271,26 @@ vqdmulhq_lane_s32 (int32x4_t __a, int32x
 
1384
   return __builtin_aarch64_sqdmulh_lanev4si (__a, __b, __c);
 
1385
 }
 
1386
 
 
1387
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1388
-vqdmulhh_s16 (int16_t __a, int16_t __b)
 
1389
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1390
+vqdmulhh_s16 (int16x1_t __a, int16x1_t __b)
 
1391
 {
 
1392
-  return (int16_t) __builtin_aarch64_sqdmulhhi (__a, __b);
 
1393
+  return (int16x1_t) __builtin_aarch64_sqdmulhhi (__a, __b);
 
1394
 }
 
1395
 
 
1396
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1397
-vqdmulhh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
 
1398
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1399
+vqdmulhh_lane_s16 (int16x1_t __a, int16x4_t __b, const int __c)
 
1400
 {
 
1401
   return __builtin_aarch64_sqdmulh_lanehi (__a, __b, __c);
 
1402
 }
 
1403
 
 
1404
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1405
-vqdmulhs_s32 (int32_t __a, int32_t __b)
 
1406
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1407
+vqdmulhs_s32 (int32x1_t __a, int32x1_t __b)
 
1408
 {
 
1409
-  return (int32_t) __builtin_aarch64_sqdmulhsi (__a, __b);
 
1410
+  return (int32x1_t) __builtin_aarch64_sqdmulhsi (__a, __b);
 
1411
 }
 
1412
 
 
1413
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1414
-vqdmulhs_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
 
1415
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1416
+vqdmulhs_lane_s32 (int32x1_t __a, int32x2_t __b, const int __c)
 
1417
 {
 
1418
   return __builtin_aarch64_sqdmulh_lanesi (__a, __b, __c);
 
1419
 }
 
1420
@@ -21387,26 +21393,26 @@ vqdmull_n_s32 (int32x2_t __a, int32_t __
 
1421
   return __builtin_aarch64_sqdmull_nv2si (__a, __b);
 
1422
 }
 
1423
 
 
1424
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1425
-vqdmullh_s16 (int16_t __a, int16_t __b)
 
1426
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1427
+vqdmullh_s16 (int16x1_t __a, int16x1_t __b)
 
1428
 {
 
1429
-  return (int32_t) __builtin_aarch64_sqdmullhi (__a, __b);
 
1430
+  return (int32x1_t) __builtin_aarch64_sqdmullhi (__a, __b);
 
1431
 }
 
1432
 
 
1433
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1434
-vqdmullh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
 
1435
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1436
+vqdmullh_lane_s16 (int16x1_t __a, int16x4_t __b, const int __c)
 
1437
 {
 
1438
   return __builtin_aarch64_sqdmull_lanehi (__a, __b, __c);
 
1439
 }
 
1440
 
 
1441
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
1442
-vqdmulls_s32 (int32_t __a, int32_t __b)
 
1443
+vqdmulls_s32 (int32x1_t __a, int32x1_t __b)
 
1444
 {
 
1445
   return (int64x1_t) __builtin_aarch64_sqdmullsi (__a, __b);
 
1446
 }
 
1447
 
 
1448
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
1449
-vqdmulls_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
 
1450
+vqdmulls_lane_s32 (int32x1_t __a, int32x2_t __b, const int __c)
 
1451
 {
 
1452
   return __builtin_aarch64_sqdmull_lanesi (__a, __b, __c);
 
1453
 }
 
1454
@@ -21449,40 +21455,40 @@ vqmovn_u64 (uint64x2_t __a)
 
1455
   return (uint32x2_t) __builtin_aarch64_uqmovnv2di ((int64x2_t) __a);
 
1456
 }
 
1457
 
 
1458
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1459
-vqmovnh_s16 (int16_t __a)
 
1460
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1461
+vqmovnh_s16 (int16x1_t __a)
 
1462
 {
 
1463
-  return (int8_t) __builtin_aarch64_sqmovnhi (__a);
 
1464
+  return (int8x1_t) __builtin_aarch64_sqmovnhi (__a);
 
1465
 }
 
1466
 
 
1467
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1468
-vqmovns_s32 (int32_t __a)
 
1469
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1470
+vqmovns_s32 (int32x1_t __a)
 
1471
 {
 
1472
-  return (int16_t) __builtin_aarch64_sqmovnsi (__a);
 
1473
+  return (int16x1_t) __builtin_aarch64_sqmovnsi (__a);
 
1474
 }
 
1475
 
 
1476
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1477
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1478
 vqmovnd_s64 (int64x1_t __a)
 
1479
 {
 
1480
-  return (int32_t) __builtin_aarch64_sqmovndi (__a);
 
1481
+  return (int32x1_t) __builtin_aarch64_sqmovndi (__a);
 
1482
 }
 
1483
 
 
1484
-__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
 
1485
-vqmovnh_u16 (uint16_t __a)
 
1486
+__extension__ static __inline uint8x1_t __attribute__ ((__always_inline__))
 
1487
+vqmovnh_u16 (uint16x1_t __a)
 
1488
 {
 
1489
-  return (uint8_t) __builtin_aarch64_uqmovnhi (__a);
 
1490
+  return (uint8x1_t) __builtin_aarch64_uqmovnhi (__a);
 
1491
 }
 
1492
 
 
1493
-__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
 
1494
-vqmovns_u32 (uint32_t __a)
 
1495
+__extension__ static __inline uint16x1_t __attribute__ ((__always_inline__))
 
1496
+vqmovns_u32 (uint32x1_t __a)
 
1497
 {
 
1498
-  return (uint16_t) __builtin_aarch64_uqmovnsi (__a);
 
1499
+  return (uint16x1_t) __builtin_aarch64_uqmovnsi (__a);
 
1500
 }
 
1501
 
 
1502
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
 
1503
+__extension__ static __inline uint32x1_t __attribute__ ((__always_inline__))
 
1504
 vqmovnd_u64 (uint64x1_t __a)
 
1505
 {
 
1506
-  return (uint32_t) __builtin_aarch64_uqmovndi (__a);
 
1507
+  return (uint32x1_t) __builtin_aarch64_uqmovndi (__a);
 
1508
 }
 
1509
 
 
1510
 /* vqmovun */
 
1511
@@ -21505,22 +21511,22 @@ vqmovun_s64 (int64x2_t __a)
 
1512
   return (uint32x2_t) __builtin_aarch64_sqmovunv2di (__a);
 
1513
 }
 
1514
 
 
1515
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1516
-vqmovunh_s16 (int16_t __a)
 
1517
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1518
+vqmovunh_s16 (int16x1_t __a)
 
1519
 {
 
1520
-  return (int8_t) __builtin_aarch64_sqmovunhi (__a);
 
1521
+  return (int8x1_t) __builtin_aarch64_sqmovunhi (__a);
 
1522
 }
 
1523
 
 
1524
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1525
-vqmovuns_s32 (int32_t __a)
 
1526
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1527
+vqmovuns_s32 (int32x1_t __a)
 
1528
 {
 
1529
-  return (int16_t) __builtin_aarch64_sqmovunsi (__a);
 
1530
+  return (int16x1_t) __builtin_aarch64_sqmovunsi (__a);
 
1531
 }
 
1532
 
 
1533
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1534
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1535
 vqmovund_s64 (int64x1_t __a)
 
1536
 {
 
1537
-  return (int32_t) __builtin_aarch64_sqmovundi (__a);
 
1538
+  return (int32x1_t) __builtin_aarch64_sqmovundi (__a);
 
1539
 }
 
1540
 
 
1541
 /* vqneg */
 
1542
@@ -21531,22 +21537,22 @@ vqnegq_s64 (int64x2_t __a)
 
1543
   return (int64x2_t) __builtin_aarch64_sqnegv2di (__a);
 
1544
 }
 
1545
 
 
1546
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1547
-vqnegb_s8 (int8_t __a)
 
1548
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1549
+vqnegb_s8 (int8x1_t __a)
 
1550
 {
 
1551
-  return (int8_t) __builtin_aarch64_sqnegqi (__a);
 
1552
+  return (int8x1_t) __builtin_aarch64_sqnegqi (__a);
 
1553
 }
 
1554
 
 
1555
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1556
-vqnegh_s16 (int16_t __a)
 
1557
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1558
+vqnegh_s16 (int16x1_t __a)
 
1559
 {
 
1560
-  return (int16_t) __builtin_aarch64_sqneghi (__a);
 
1561
+  return (int16x1_t) __builtin_aarch64_sqneghi (__a);
 
1562
 }
 
1563
 
 
1564
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1565
-vqnegs_s32 (int32_t __a)
 
1566
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1567
+vqnegs_s32 (int32x1_t __a)
 
1568
 {
 
1569
-  return (int32_t) __builtin_aarch64_sqnegsi (__a);
 
1570
+  return (int32x1_t) __builtin_aarch64_sqnegsi (__a);
 
1571
 }
 
1572
 
 
1573
 /* vqrdmulh */
 
1574
@@ -21575,26 +21581,26 @@ vqrdmulhq_lane_s32 (int32x4_t __a, int32
 
1575
   return __builtin_aarch64_sqrdmulh_lanev4si (__a, __b, __c);
 
1576
 }
 
1577
 
 
1578
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1579
-vqrdmulhh_s16 (int16_t __a, int16_t __b)
 
1580
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1581
+vqrdmulhh_s16 (int16x1_t __a, int16x1_t __b)
 
1582
 {
 
1583
-  return (int16_t) __builtin_aarch64_sqrdmulhhi (__a, __b);
 
1584
+  return (int16x1_t) __builtin_aarch64_sqrdmulhhi (__a, __b);
 
1585
 }
 
1586
 
 
1587
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1588
-vqrdmulhh_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
 
1589
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1590
+vqrdmulhh_lane_s16 (int16x1_t __a, int16x4_t __b, const int __c)
 
1591
 {
 
1592
   return __builtin_aarch64_sqrdmulh_lanehi (__a, __b, __c);
 
1593
 }
 
1594
 
 
1595
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1596
-vqrdmulhs_s32 (int32_t __a, int32_t __b)
 
1597
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1598
+vqrdmulhs_s32 (int32x1_t __a, int32x1_t __b)
 
1599
 {
 
1600
-  return (int32_t) __builtin_aarch64_sqrdmulhsi (__a, __b);
 
1601
+  return (int32x1_t) __builtin_aarch64_sqrdmulhsi (__a, __b);
 
1602
 }
 
1603
 
 
1604
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1605
-vqrdmulhs_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
 
1606
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1607
+vqrdmulhs_lane_s32 (int32x1_t __a, int32x2_t __b, const int __c)
 
1608
 {
 
1609
   return __builtin_aarch64_sqrdmulh_lanesi (__a, __b, __c);
 
1610
 }
 
1611
@@ -21697,20 +21703,20 @@ vqrshlq_u64 (uint64x2_t __a, int64x2_t _
 
1612
   return (uint64x2_t) __builtin_aarch64_uqrshlv2di ((int64x2_t) __a, __b);
 
1613
 }
 
1614
 
 
1615
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1616
-vqrshlb_s8 (int8_t __a, int8_t __b)
 
1617
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1618
+vqrshlb_s8 (int8x1_t __a, int8x1_t __b)
 
1619
 {
 
1620
   return __builtin_aarch64_sqrshlqi (__a, __b);
 
1621
 }
 
1622
 
 
1623
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1624
-vqrshlh_s16 (int16_t __a, int16_t __b)
 
1625
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1626
+vqrshlh_s16 (int16x1_t __a, int16x1_t __b)
 
1627
 {
 
1628
   return __builtin_aarch64_sqrshlhi (__a, __b);
 
1629
 }
 
1630
 
 
1631
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1632
-vqrshls_s32 (int32_t __a, int32_t __b)
 
1633
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1634
+vqrshls_s32 (int32x1_t __a, int32x1_t __b)
 
1635
 {
 
1636
   return __builtin_aarch64_sqrshlsi (__a, __b);
 
1637
 }
 
1638
@@ -21721,22 +21727,22 @@ vqrshld_s64 (int64x1_t __a, int64x1_t __
 
1639
   return __builtin_aarch64_sqrshldi (__a, __b);
 
1640
 }
 
1641
 
 
1642
-__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
 
1643
-vqrshlb_u8 (uint8_t __a, uint8_t __b)
 
1644
+__extension__ static __inline uint8x1_t __attribute__ ((__always_inline__))
 
1645
+vqrshlb_u8 (uint8x1_t __a, uint8x1_t __b)
 
1646
 {
 
1647
-  return (uint8_t) __builtin_aarch64_uqrshlqi (__a, __b);
 
1648
+  return (uint8x1_t) __builtin_aarch64_uqrshlqi (__a, __b);
 
1649
 }
 
1650
 
 
1651
-__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
 
1652
-vqrshlh_u16 (uint16_t __a, uint16_t __b)
 
1653
+__extension__ static __inline uint16x1_t __attribute__ ((__always_inline__))
 
1654
+vqrshlh_u16 (uint16x1_t __a, uint16x1_t __b)
 
1655
 {
 
1656
-  return (uint16_t) __builtin_aarch64_uqrshlhi (__a, __b);
 
1657
+  return (uint16x1_t) __builtin_aarch64_uqrshlhi (__a, __b);
 
1658
 }
 
1659
 
 
1660
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
 
1661
-vqrshls_u32 (uint32_t __a, uint32_t __b)
 
1662
+__extension__ static __inline uint32x1_t __attribute__ ((__always_inline__))
 
1663
+vqrshls_u32 (uint32x1_t __a, uint32x1_t __b)
 
1664
 {
 
1665
-  return (uint32_t) __builtin_aarch64_uqrshlsi (__a, __b);
 
1666
+  return (uint32x1_t) __builtin_aarch64_uqrshlsi (__a, __b);
 
1667
 }
 
1668
 
 
1669
 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
 
1670
@@ -21783,40 +21789,40 @@ vqrshrn_n_u64 (uint64x2_t __a, const int
 
1671
   return (uint32x2_t) __builtin_aarch64_uqrshrn_nv2di ((int64x2_t) __a, __b);
 
1672
 }
 
1673
 
 
1674
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1675
-vqrshrnh_n_s16 (int16_t __a, const int __b)
 
1676
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1677
+vqrshrnh_n_s16 (int16x1_t __a, const int __b)
 
1678
 {
 
1679
-  return (int8_t) __builtin_aarch64_sqrshrn_nhi (__a, __b);
 
1680
+  return (int8x1_t) __builtin_aarch64_sqrshrn_nhi (__a, __b);
 
1681
 }
 
1682
 
 
1683
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1684
-vqrshrns_n_s32 (int32_t __a, const int __b)
 
1685
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1686
+vqrshrns_n_s32 (int32x1_t __a, const int __b)
 
1687
 {
 
1688
-  return (int16_t) __builtin_aarch64_sqrshrn_nsi (__a, __b);
 
1689
+  return (int16x1_t) __builtin_aarch64_sqrshrn_nsi (__a, __b);
 
1690
 }
 
1691
 
 
1692
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1693
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1694
 vqrshrnd_n_s64 (int64x1_t __a, const int __b)
 
1695
 {
 
1696
-  return (int32_t) __builtin_aarch64_sqrshrn_ndi (__a, __b);
 
1697
+  return (int32x1_t) __builtin_aarch64_sqrshrn_ndi (__a, __b);
 
1698
 }
 
1699
 
 
1700
-__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
 
1701
-vqrshrnh_n_u16 (uint16_t __a, const int __b)
 
1702
+__extension__ static __inline uint8x1_t __attribute__ ((__always_inline__))
 
1703
+vqrshrnh_n_u16 (uint16x1_t __a, const int __b)
 
1704
 {
 
1705
-  return (uint8_t) __builtin_aarch64_uqrshrn_nhi (__a, __b);
 
1706
+  return (uint8x1_t) __builtin_aarch64_uqrshrn_nhi (__a, __b);
 
1707
 }
 
1708
 
 
1709
-__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
 
1710
-vqrshrns_n_u32 (uint32_t __a, const int __b)
 
1711
+__extension__ static __inline uint16x1_t __attribute__ ((__always_inline__))
 
1712
+vqrshrns_n_u32 (uint32x1_t __a, const int __b)
 
1713
 {
 
1714
-  return (uint16_t) __builtin_aarch64_uqrshrn_nsi (__a, __b);
 
1715
+  return (uint16x1_t) __builtin_aarch64_uqrshrn_nsi (__a, __b);
 
1716
 }
 
1717
 
 
1718
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
 
1719
+__extension__ static __inline uint32x1_t __attribute__ ((__always_inline__))
 
1720
 vqrshrnd_n_u64 (uint64x1_t __a, const int __b)
 
1721
 {
 
1722
-  return (uint32_t) __builtin_aarch64_uqrshrn_ndi (__a, __b);
 
1723
+  return (uint32x1_t) __builtin_aarch64_uqrshrn_ndi (__a, __b);
 
1724
 }
 
1725
 
 
1726
 /* vqrshrun */
 
1727
@@ -21839,22 +21845,22 @@ vqrshrun_n_s64 (int64x2_t __a, const int
 
1728
   return (uint32x2_t) __builtin_aarch64_sqrshrun_nv2di (__a, __b);
 
1729
 }
 
1730
 
 
1731
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1732
-vqrshrunh_n_s16 (int16_t __a, const int __b)
 
1733
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1734
+vqrshrunh_n_s16 (int16x1_t __a, const int __b)
 
1735
 {
 
1736
-  return (int8_t) __builtin_aarch64_sqrshrun_nhi (__a, __b);
 
1737
+  return (int8x1_t) __builtin_aarch64_sqrshrun_nhi (__a, __b);
 
1738
 }
 
1739
 
 
1740
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1741
-vqrshruns_n_s32 (int32_t __a, const int __b)
 
1742
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1743
+vqrshruns_n_s32 (int32x1_t __a, const int __b)
 
1744
 {
 
1745
-  return (int16_t) __builtin_aarch64_sqrshrun_nsi (__a, __b);
 
1746
+  return (int16x1_t) __builtin_aarch64_sqrshrun_nsi (__a, __b);
 
1747
 }
 
1748
 
 
1749
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1750
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1751
 vqrshrund_n_s64 (int64x1_t __a, const int __b)
 
1752
 {
 
1753
-  return (int32_t) __builtin_aarch64_sqrshrun_ndi (__a, __b);
 
1754
+  return (int32x1_t) __builtin_aarch64_sqrshrun_ndi (__a, __b);
 
1755
 }
 
1756
 
 
1757
 /* vqshl */
 
1758
@@ -21955,20 +21961,20 @@ vqshlq_u64 (uint64x2_t __a, int64x2_t __
 
1759
   return (uint64x2_t) __builtin_aarch64_uqshlv2di ((int64x2_t) __a, __b);
 
1760
 }
 
1761
 
 
1762
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1763
-vqshlb_s8 (int8_t __a, int8_t __b)
 
1764
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1765
+vqshlb_s8 (int8x1_t __a, int8x1_t __b)
 
1766
 {
 
1767
   return __builtin_aarch64_sqshlqi (__a, __b);
 
1768
 }
 
1769
 
 
1770
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1771
-vqshlh_s16 (int16_t __a, int16_t __b)
 
1772
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1773
+vqshlh_s16 (int16x1_t __a, int16x1_t __b)
 
1774
 {
 
1775
   return __builtin_aarch64_sqshlhi (__a, __b);
 
1776
 }
 
1777
 
 
1778
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1779
-vqshls_s32 (int32_t __a, int32_t __b)
 
1780
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1781
+vqshls_s32 (int32x1_t __a, int32x1_t __b)
 
1782
 {
 
1783
   return __builtin_aarch64_sqshlsi (__a, __b);
 
1784
 }
 
1785
@@ -21979,22 +21985,22 @@ vqshld_s64 (int64x1_t __a, int64x1_t __b
 
1786
   return __builtin_aarch64_sqshldi (__a, __b);
 
1787
 }
 
1788
 
 
1789
-__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
 
1790
-vqshlb_u8 (uint8_t __a, uint8_t __b)
 
1791
+__extension__ static __inline uint8x1_t __attribute__ ((__always_inline__))
 
1792
+vqshlb_u8 (uint8x1_t __a, uint8x1_t __b)
 
1793
 {
 
1794
-  return (uint8_t) __builtin_aarch64_uqshlqi (__a, __b);
 
1795
+  return (uint8x1_t) __builtin_aarch64_uqshlqi (__a, __b);
 
1796
 }
 
1797
 
 
1798
-__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
 
1799
-vqshlh_u16 (uint16_t __a, uint16_t __b)
 
1800
+__extension__ static __inline uint16x1_t __attribute__ ((__always_inline__))
 
1801
+vqshlh_u16 (uint16x1_t __a, uint16x1_t __b)
 
1802
 {
 
1803
-  return (uint16_t) __builtin_aarch64_uqshlhi (__a, __b);
 
1804
+  return (uint16x1_t) __builtin_aarch64_uqshlhi (__a, __b);
 
1805
 }
 
1806
 
 
1807
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
 
1808
-vqshls_u32 (uint32_t __a, uint32_t __b)
 
1809
+__extension__ static __inline uint32x1_t __attribute__ ((__always_inline__))
 
1810
+vqshls_u32 (uint32x1_t __a, uint32x1_t __b)
 
1811
 {
 
1812
-  return (uint32_t) __builtin_aarch64_uqshlsi (__a, __b);
 
1813
+  return (uint32x1_t) __builtin_aarch64_uqshlsi (__a, __b);
 
1814
 }
 
1815
 
 
1816
 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
 
1817
@@ -22099,22 +22105,22 @@ vqshlq_n_u64 (uint64x2_t __a, const int
 
1818
   return (uint64x2_t) __builtin_aarch64_uqshl_nv2di ((int64x2_t) __a, __b);
 
1819
 }
 
1820
 
 
1821
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1822
-vqshlb_n_s8 (int8_t __a, const int __b)
 
1823
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1824
+vqshlb_n_s8 (int8x1_t __a, const int __b)
 
1825
 {
 
1826
-  return (int8_t) __builtin_aarch64_sqshl_nqi (__a, __b);
 
1827
+  return (int8x1_t) __builtin_aarch64_sqshl_nqi (__a, __b);
 
1828
 }
 
1829
 
 
1830
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1831
-vqshlh_n_s16 (int16_t __a, const int __b)
 
1832
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1833
+vqshlh_n_s16 (int16x1_t __a, const int __b)
 
1834
 {
 
1835
-  return (int16_t) __builtin_aarch64_sqshl_nhi (__a, __b);
 
1836
+  return (int16x1_t) __builtin_aarch64_sqshl_nhi (__a, __b);
 
1837
 }
 
1838
 
 
1839
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1840
-vqshls_n_s32 (int32_t __a, const int __b)
 
1841
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1842
+vqshls_n_s32 (int32x1_t __a, const int __b)
 
1843
 {
 
1844
-  return (int32_t) __builtin_aarch64_sqshl_nsi (__a, __b);
 
1845
+  return (int32x1_t) __builtin_aarch64_sqshl_nsi (__a, __b);
 
1846
 }
 
1847
 
 
1848
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
1849
@@ -22123,22 +22129,22 @@ vqshld_n_s64 (int64x1_t __a, const int _
 
1850
   return (int64x1_t) __builtin_aarch64_sqshl_ndi (__a, __b);
 
1851
 }
 
1852
 
 
1853
-__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
 
1854
-vqshlb_n_u8 (uint8_t __a, const int __b)
 
1855
+__extension__ static __inline uint8x1_t __attribute__ ((__always_inline__))
 
1856
+vqshlb_n_u8 (uint8x1_t __a, const int __b)
 
1857
 {
 
1858
-  return (uint8_t) __builtin_aarch64_uqshl_nqi (__a, __b);
 
1859
+  return (uint8x1_t) __builtin_aarch64_uqshl_nqi (__a, __b);
 
1860
 }
 
1861
 
 
1862
-__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
 
1863
-vqshlh_n_u16 (uint16_t __a, const int __b)
 
1864
+__extension__ static __inline uint16x1_t __attribute__ ((__always_inline__))
 
1865
+vqshlh_n_u16 (uint16x1_t __a, const int __b)
 
1866
 {
 
1867
-  return (uint16_t) __builtin_aarch64_uqshl_nhi (__a, __b);
 
1868
+  return (uint16x1_t) __builtin_aarch64_uqshl_nhi (__a, __b);
 
1869
 }
 
1870
 
 
1871
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
 
1872
-vqshls_n_u32 (uint32_t __a, const int __b)
 
1873
+__extension__ static __inline uint32x1_t __attribute__ ((__always_inline__))
 
1874
+vqshls_n_u32 (uint32x1_t __a, const int __b)
 
1875
 {
 
1876
-  return (uint32_t) __builtin_aarch64_uqshl_nsi (__a, __b);
 
1877
+  return (uint32x1_t) __builtin_aarch64_uqshl_nsi (__a, __b);
 
1878
 }
 
1879
 
 
1880
 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
 
1881
@@ -22197,22 +22203,22 @@ vqshluq_n_s64 (int64x2_t __a, const int
 
1882
   return (uint64x2_t) __builtin_aarch64_sqshlu_nv2di (__a, __b);
 
1883
 }
 
1884
 
 
1885
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1886
-vqshlub_n_s8 (int8_t __a, const int __b)
 
1887
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1888
+vqshlub_n_s8 (int8x1_t __a, const int __b)
 
1889
 {
 
1890
-  return (int8_t) __builtin_aarch64_sqshlu_nqi (__a, __b);
 
1891
+  return (int8x1_t) __builtin_aarch64_sqshlu_nqi (__a, __b);
 
1892
 }
 
1893
 
 
1894
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1895
-vqshluh_n_s16 (int16_t __a, const int __b)
 
1896
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1897
+vqshluh_n_s16 (int16x1_t __a, const int __b)
 
1898
 {
 
1899
-  return (int16_t) __builtin_aarch64_sqshlu_nhi (__a, __b);
 
1900
+  return (int16x1_t) __builtin_aarch64_sqshlu_nhi (__a, __b);
 
1901
 }
 
1902
 
 
1903
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1904
-vqshlus_n_s32 (int32_t __a, const int __b)
 
1905
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1906
+vqshlus_n_s32 (int32x1_t __a, const int __b)
 
1907
 {
 
1908
-  return (int32_t) __builtin_aarch64_sqshlu_nsi (__a, __b);
 
1909
+  return (int32x1_t) __builtin_aarch64_sqshlu_nsi (__a, __b);
 
1910
 }
 
1911
 
 
1912
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
1913
@@ -22259,40 +22265,40 @@ vqshrn_n_u64 (uint64x2_t __a, const int
 
1914
   return (uint32x2_t) __builtin_aarch64_uqshrn_nv2di ((int64x2_t) __a, __b);
 
1915
 }
 
1916
 
 
1917
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1918
-vqshrnh_n_s16 (int16_t __a, const int __b)
 
1919
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1920
+vqshrnh_n_s16 (int16x1_t __a, const int __b)
 
1921
 {
 
1922
-  return (int8_t) __builtin_aarch64_sqshrn_nhi (__a, __b);
 
1923
+  return (int8x1_t) __builtin_aarch64_sqshrn_nhi (__a, __b);
 
1924
 }
 
1925
 
 
1926
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1927
-vqshrns_n_s32 (int32_t __a, const int __b)
 
1928
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1929
+vqshrns_n_s32 (int32x1_t __a, const int __b)
 
1930
 {
 
1931
-  return (int16_t) __builtin_aarch64_sqshrn_nsi (__a, __b);
 
1932
+  return (int16x1_t) __builtin_aarch64_sqshrn_nsi (__a, __b);
 
1933
 }
 
1934
 
 
1935
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1936
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1937
 vqshrnd_n_s64 (int64x1_t __a, const int __b)
 
1938
 {
 
1939
-  return (int32_t) __builtin_aarch64_sqshrn_ndi (__a, __b);
 
1940
+  return (int32x1_t) __builtin_aarch64_sqshrn_ndi (__a, __b);
 
1941
 }
 
1942
 
 
1943
-__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
 
1944
-vqshrnh_n_u16 (uint16_t __a, const int __b)
 
1945
+__extension__ static __inline uint8x1_t __attribute__ ((__always_inline__))
 
1946
+vqshrnh_n_u16 (uint16x1_t __a, const int __b)
 
1947
 {
 
1948
-  return (uint8_t) __builtin_aarch64_uqshrn_nhi (__a, __b);
 
1949
+  return (uint8x1_t) __builtin_aarch64_uqshrn_nhi (__a, __b);
 
1950
 }
 
1951
 
 
1952
-__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
 
1953
-vqshrns_n_u32 (uint32_t __a, const int __b)
 
1954
+__extension__ static __inline uint16x1_t __attribute__ ((__always_inline__))
 
1955
+vqshrns_n_u32 (uint32x1_t __a, const int __b)
 
1956
 {
 
1957
-  return (uint16_t) __builtin_aarch64_uqshrn_nsi (__a, __b);
 
1958
+  return (uint16x1_t) __builtin_aarch64_uqshrn_nsi (__a, __b);
 
1959
 }
 
1960
 
 
1961
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
 
1962
+__extension__ static __inline uint32x1_t __attribute__ ((__always_inline__))
 
1963
 vqshrnd_n_u64 (uint64x1_t __a, const int __b)
 
1964
 {
 
1965
-  return (uint32_t) __builtin_aarch64_uqshrn_ndi (__a, __b);
 
1966
+  return (uint32x1_t) __builtin_aarch64_uqshrn_ndi (__a, __b);
 
1967
 }
 
1968
 
 
1969
 /* vqshrun */
 
1970
@@ -22315,42 +22321,42 @@ vqshrun_n_s64 (int64x2_t __a, const int
 
1971
   return (uint32x2_t) __builtin_aarch64_sqshrun_nv2di (__a, __b);
 
1972
 }
 
1973
 
 
1974
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
1975
-vqshrunh_n_s16 (int16_t __a, const int __b)
 
1976
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
1977
+vqshrunh_n_s16 (int16x1_t __a, const int __b)
 
1978
 {
 
1979
-  return (int8_t) __builtin_aarch64_sqshrun_nhi (__a, __b);
 
1980
+  return (int8x1_t) __builtin_aarch64_sqshrun_nhi (__a, __b);
 
1981
 }
 
1982
 
 
1983
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
1984
-vqshruns_n_s32 (int32_t __a, const int __b)
 
1985
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
1986
+vqshruns_n_s32 (int32x1_t __a, const int __b)
 
1987
 {
 
1988
-  return (int16_t) __builtin_aarch64_sqshrun_nsi (__a, __b);
 
1989
+  return (int16x1_t) __builtin_aarch64_sqshrun_nsi (__a, __b);
 
1990
 }
 
1991
 
 
1992
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
1993
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
1994
 vqshrund_n_s64 (int64x1_t __a, const int __b)
 
1995
 {
 
1996
-  return (int32_t) __builtin_aarch64_sqshrun_ndi (__a, __b);
 
1997
+  return (int32x1_t) __builtin_aarch64_sqshrun_ndi (__a, __b);
 
1998
 }
 
1999
 
 
2000
 /* vqsub */
 
2001
 
 
2002
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
2003
-vqsubb_s8 (int8_t __a, int8_t __b)
 
2004
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
2005
+vqsubb_s8 (int8x1_t __a, int8x1_t __b)
 
2006
 {
 
2007
-  return (int8_t) __builtin_aarch64_sqsubqi (__a, __b);
 
2008
+  return (int8x1_t) __builtin_aarch64_sqsubqi (__a, __b);
 
2009
 }
 
2010
 
 
2011
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
2012
-vqsubh_s16 (int16_t __a, int16_t __b)
 
2013
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
2014
+vqsubh_s16 (int16x1_t __a, int16x1_t __b)
 
2015
 {
 
2016
-  return (int16_t) __builtin_aarch64_sqsubhi (__a, __b);
 
2017
+  return (int16x1_t) __builtin_aarch64_sqsubhi (__a, __b);
 
2018
 }
 
2019
 
 
2020
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
2021
-vqsubs_s32 (int32_t __a, int32_t __b)
 
2022
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
2023
+vqsubs_s32 (int32x1_t __a, int32x1_t __b)
 
2024
 {
 
2025
-  return (int32_t) __builtin_aarch64_sqsubsi (__a, __b);
 
2026
+  return (int32x1_t) __builtin_aarch64_sqsubsi (__a, __b);
 
2027
 }
 
2028
 
 
2029
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
2030
@@ -22359,22 +22365,22 @@ vqsubd_s64 (int64x1_t __a, int64x1_t __b
 
2031
   return (int64x1_t) __builtin_aarch64_sqsubdi (__a, __b);
 
2032
 }
 
2033
 
 
2034
-__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
 
2035
-vqsubb_u8 (uint8_t __a, uint8_t __b)
 
2036
+__extension__ static __inline uint8x1_t __attribute__ ((__always_inline__))
 
2037
+vqsubb_u8 (uint8x1_t __a, uint8x1_t __b)
 
2038
 {
 
2039
-  return (uint8_t) __builtin_aarch64_uqsubqi (__a, __b);
 
2040
+  return (uint8x1_t) __builtin_aarch64_uqsubqi (__a, __b);
 
2041
 }
 
2042
 
 
2043
-__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
 
2044
-vqsubh_u16 (uint16_t __a, uint16_t __b)
 
2045
+__extension__ static __inline uint16x1_t __attribute__ ((__always_inline__))
 
2046
+vqsubh_u16 (uint16x1_t __a, uint16x1_t __b)
 
2047
 {
 
2048
-  return (uint16_t) __builtin_aarch64_uqsubhi (__a, __b);
 
2049
+  return (uint16x1_t) __builtin_aarch64_uqsubhi (__a, __b);
 
2050
 }
 
2051
 
 
2052
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
 
2053
-vqsubs_u32 (uint32_t __a, uint32_t __b)
 
2054
+__extension__ static __inline uint32x1_t __attribute__ ((__always_inline__))
 
2055
+vqsubs_u32 (uint32x1_t __a, uint32x1_t __b)
 
2056
 {
 
2057
-  return (uint32_t) __builtin_aarch64_uqsubsi (__a, __b);
 
2058
+  return (uint32x1_t) __builtin_aarch64_uqsubsi (__a, __b);
 
2059
 }
 
2060
 
 
2061
 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
 
2062
@@ -23590,22 +23596,22 @@ vsqaddq_u64 (uint64x2_t __a, int64x2_t _
 
2063
                                                    (int64x2_t) __b);
 
2064
 }
 
2065
 
 
2066
-__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
 
2067
-vsqaddb_u8 (uint8_t __a, int8_t __b)
 
2068
+__extension__ static __inline uint8x1_t __attribute__ ((__always_inline__))
 
2069
+vsqaddb_u8 (uint8x1_t __a, int8x1_t __b)
 
2070
 {
 
2071
-  return (uint8_t) __builtin_aarch64_usqaddqi ((int8_t) __a, __b);
 
2072
+  return (uint8x1_t) __builtin_aarch64_usqaddqi ((int8x1_t) __a, __b);
 
2073
 }
 
2074
 
 
2075
-__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
 
2076
-vsqaddh_u16 (uint16_t __a, int16_t __b)
 
2077
+__extension__ static __inline uint16x1_t __attribute__ ((__always_inline__))
 
2078
+vsqaddh_u16 (uint16x1_t __a, int16x1_t __b)
 
2079
 {
 
2080
-  return (uint16_t) __builtin_aarch64_usqaddhi ((int16_t) __a, __b);
 
2081
+  return (uint16x1_t) __builtin_aarch64_usqaddhi ((int16x1_t) __a, __b);
 
2082
 }
 
2083
 
 
2084
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
 
2085
-vsqadds_u32 (uint32_t __a, int32_t __b)
 
2086
+__extension__ static __inline uint32x1_t __attribute__ ((__always_inline__))
 
2087
+vsqadds_u32 (uint32x1_t __a, int32x1_t __b)
 
2088
 {
 
2089
-  return (uint32_t) __builtin_aarch64_usqaddsi ((int32_t) __a, __b);
 
2090
+  return (uint32x1_t) __builtin_aarch64_usqaddsi ((int32x1_t) __a, __b);
 
2091
 }
 
2092
 
 
2093
 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
 
2094
@@ -25245,22 +25251,22 @@ vuqaddq_s64 (int64x2_t __a, uint64x2_t _
 
2095
   return (int64x2_t) __builtin_aarch64_suqaddv2di (__a, (int64x2_t) __b);
 
2096
 }
 
2097
 
 
2098
-__extension__ static __inline int8_t __attribute__ ((__always_inline__))
 
2099
-vuqaddb_s8 (int8_t __a, uint8_t __b)
 
2100
+__extension__ static __inline int8x1_t __attribute__ ((__always_inline__))
 
2101
+vuqaddb_s8 (int8x1_t __a, uint8x1_t __b)
 
2102
 {
 
2103
-  return (int8_t) __builtin_aarch64_suqaddqi (__a, (int8_t) __b);
 
2104
+  return (int8x1_t) __builtin_aarch64_suqaddqi (__a, (int8x1_t) __b);
 
2105
 }
 
2106
 
 
2107
-__extension__ static __inline int16_t __attribute__ ((__always_inline__))
 
2108
-vuqaddh_s16 (int16_t __a, uint16_t __b)
 
2109
+__extension__ static __inline int16x1_t __attribute__ ((__always_inline__))
 
2110
+vuqaddh_s16 (int16x1_t __a, uint16x1_t __b)
 
2111
 {
 
2112
-  return (int16_t) __builtin_aarch64_suqaddhi (__a, (int16_t) __b);
 
2113
+  return (int16x1_t) __builtin_aarch64_suqaddhi (__a, (int16x1_t) __b);
 
2114
 }
 
2115
 
 
2116
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
 
2117
-vuqadds_s32 (int32_t __a, uint32_t __b)
 
2118
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
 
2119
+vuqadds_s32 (int32x1_t __a, uint32x1_t __b)
 
2120
 {
 
2121
-  return (int32_t) __builtin_aarch64_suqaddsi (__a, (int32_t) __b);
 
2122
+  return (int32x1_t) __builtin_aarch64_suqaddsi (__a, (int32x1_t) __b);
 
2123
 }
 
2124
 
 
2125
 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
 
2126
Index: b/src/gcc/config/aarch64/aarch64.md
 
2127
===================================================================
 
2128
--- a/src/gcc/config/aarch64/aarch64.md
 
2129
+++ b/src/gcc/config/aarch64/aarch64.md
 
2130
@@ -1102,7 +1102,7 @@
 
2131
   add\\t%x0, %x1, %x2
 
2132
   sub\\t%x0, %x1, #%n2
 
2133
   add\\t%d0, %d1, %d2"
 
2134
-  [(set_attr "type" "alu_imm,alu_reg,alu_imm,neon_add")
 
2135
+  [(set_attr "type" "alu_imm,alu_reg,alu_imm,alu_reg")
 
2136
    (set_attr "simd" "*,*,*,yes")]
 
2137
 )
 
2138