1
# DP: updates from the 4.8 branch upto 20130421 (r198115).
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)
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'
1
# DP: Revert 2014-09-11 Aarch64 neon changes, not merged with Linaro.
3
Index: b/src/gcc/ChangeLog
4
===================================================================
5
--- a/src/gcc/ChangeLog
6
+++ b/src/gcc/ChangeLog
8
* config/i386/i386.c (ix86_option_override_internal): Also turn
9
off OPTION_MASK_ABI_X32 for -m16.
11
-2014-09-11 James Greenhalgh <james.greenhalgh@arm.com>
13
- Backport from mainline.
14
- 2014-09-11 James Greenhalgh <james.greenhalgh@arm.com>
16
- * config/aarch64/arm_neon.h (vmull_high_lane_s16): Fix argument
18
- (vmull_high_lane_s32): Likewise.
19
- (vmull_high_lane_u16): Likewise.
20
- (vmull_high_lane_u32): Likewise.
22
-2014-09-11 Alan Lawrence <alan.lawrence@arm.com>
24
- Backport r214946 from mainline
25
- 2014-09-05 Alan Lawrence <alan.lawrence@arm.com>
27
- * config/aarch64/aarch64.md (adddi3_aarch64): Set type to neon_add.
29
-2014-09-11 Alan Lawrence <alan.lawrence@arm.com>
31
- Backport r214953 from mainline
32
- 2014-09-05 Alan Lawrence <alan.lawrence@arm.com>
34
- * config/aarch64/arm_neon.h (int32x1_t, int16x1_t, int8x1_t,
35
- uint32x1_t, uint16x1_t, uint8x1_t): Remove typedefs.
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.
59
2014-09-11 Jason Merrill <jason@redhat.com>
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
71
-t_vqdmullh_lane_s16 (int16_t a, int16x4_t b)
73
+t_vqdmullh_lane_s16 (int16x1_t a, int16x4_t b)
75
return vqdmullh_lane_s16 (a, b, 0);
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
86
-t_vqdmlalh_lane_s16 (int32_t a, int16_t b, int16x4_t c)
88
+t_vqdmlalh_lane_s16 (int32x1_t a, int16x1_t b, int16x4_t c)
90
return vqdmlalh_lane_s16 (a, b, c, 0);
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
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)
103
return vqdmlsls_lane_s32 (a, b, c, 0);
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
110
#include "arm_neon.h"
113
-t_vqdmulls_lane_s32 (int32_t a, int32x2_t b)
114
+t_vqdmulls_lane_s32 (int32x1_t a, int32x2_t b)
116
return vqdmulls_lane_s32 (a, b, 0);
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
123
#include "arm_neon.h"
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)
129
return vqdmlals_lane_s32 (a, b, c, 0);
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)
137
/* { dg-final { scan-assembler-times "aarch64_get_lanev16qi" 2 } } */
141
test_vdupb_lane_s8 (int8x16_t a)
146
res = vdupb_laneq_s8 (a, 2);
153
test_vdupb_lane_u8 (uint8x16_t a)
158
res = vdupb_laneq_u8 (a, 2);
160
@@ -217,20 +217,20 @@ test_vdupb_lane_u8 (uint8x16_t a)
162
/* { dg-final { scan-assembler-times "aarch64_get_lanev8hi" 2 } } */
166
test_vduph_lane_s16 (int16x8_t a)
171
res = vduph_laneq_s16 (a, 2);
178
test_vduph_lane_u16 (uint16x8_t a)
183
res = vduph_laneq_u16 (a, 2);
185
@@ -239,20 +239,20 @@ test_vduph_lane_u16 (uint16x8_t a)
187
/* { dg-final { scan-assembler-times "aarch64_get_lanev4si" 2 } } */
191
test_vdups_lane_s32 (int32x4_t a)
196
res = vdups_laneq_s32 (a, 2);
203
test_vdups_lane_u32 (uint32x4_t a)
208
res = vdups_laneq_u32 (a, 2);
210
@@ -322,24 +322,24 @@ test_vqaddd_u64 (uint64x1_t a, uint64x1_
212
/* { dg-final { scan-assembler-times "\\tuqadd\\ts\[0-9\]+" 1 } } */
215
-test_vqadds_u32 (uint32_t a, uint32_t b)
217
+test_vqadds_u32 (uint32x1_t a, uint32x1_t b)
219
return vqadds_u32 (a, b);
222
/* { dg-final { scan-assembler-times "\\tuqadd\\th\[0-9\]+" 1 } } */
225
-test_vqaddh_u16 (uint16_t a, uint16_t b)
227
+test_vqaddh_u16 (uint16x1_t a, uint16x1_t b)
229
return vqaddh_u16 (a, b);
232
/* { dg-final { scan-assembler-times "\\tuqadd\\tb\[0-9\]+" 1 } } */
235
-test_vqaddb_u8 (uint8_t a, uint8_t b)
237
+test_vqaddb_u8 (uint8x1_t a, uint8x1_t b)
239
return vqaddb_u8 (a, b);
241
@@ -354,40 +354,40 @@ test_vqaddd_s64 (int64x1_t a, int64x1_t
243
/* { dg-final { scan-assembler-times "\\tsqadd\\ts\[0-9\]+, s\[0-9\]+" 1 } } */
246
-test_vqadds_s32 (int32_t a, int32_t b)
248
+test_vqadds_s32 (int32x1_t a, int32x1_t b)
250
return vqadds_s32 (a, b);
253
/* { dg-final { scan-assembler-times "\\tsqadd\\th\[0-9\]+, h\[0-9\]+" 1 } } */
256
-test_vqaddh_s16 (int16_t a, int16_t b)
258
+test_vqaddh_s16 (int16x1_t a, int16x1_t b)
260
return vqaddh_s16 (a, b);
263
/* { dg-final { scan-assembler-times "\\tsqadd\\tb\[0-9\]+, b\[0-9\]+" 1 } } */
266
-test_vqaddb_s8 (int8_t a, int8_t b)
268
+test_vqaddb_s8 (int8x1_t a, int8x1_t b)
270
return vqaddb_s8 (a, b);
273
/* { dg-final { scan-assembler-times "\\tsqdmlal\\ts\[0-9\]+, h\[0-9\]+, h\[0-9\]+" 1 } } */
276
-test_vqdmlalh_s16 (int32_t a, int16_t b, int16_t c)
278
+test_vqdmlalh_s16 (int32x1_t a, int16x1_t b, int16x1_t c)
280
return vqdmlalh_s16 (a, b, c);
283
/* { dg-final { scan-assembler-times "\\tsqdmlal\\ts\[0-9\]+, h\[0-9\]+, v" 1 } } */
286
-test_vqdmlalh_lane_s16 (int32_t a, int16_t b, int16x4_t c)
288
+test_vqdmlalh_lane_s16 (int32x1_t a, int16x1_t b, int16x4_t c)
290
return vqdmlalh_lane_s16 (a, b, c, 3);
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 } } */
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)
299
return vqdmlals_s32 (a, b, c);
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 } } */
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)
308
return vqdmlals_lane_s32 (a, b, c, 1);
311
/* { dg-final { scan-assembler-times "\\tsqdmlsl\\ts\[0-9\]+, h\[0-9\]+, h\[0-9\]+" 1 } } */
314
-test_vqdmlslh_s16 (int32_t a, int16_t b, int16_t c)
316
+test_vqdmlslh_s16 (int32x1_t a, int16x1_t b, int16x1_t c)
318
return vqdmlslh_s16 (a, b, c);
321
/* { dg-final { scan-assembler-times "\\tsqdmlsl\\ts\[0-9\]+, h\[0-9\]+, v" 1 } } */
324
-test_vqdmlslh_lane_s16 (int32_t a, int16_t b, int16x4_t c)
326
+test_vqdmlslh_lane_s16 (int32x1_t a, int16x1_t b, int16x4_t c)
328
return vqdmlslh_lane_s16 (a, b, c, 3);
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 } } */
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)
337
return vqdmlsls_s32 (a, b, c);
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 } } */
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)
346
return vqdmlsls_lane_s32 (a, b, c, 1);
349
/* { dg-final { scan-assembler-times "\\tsqdmulh\\th\[0-9\]+, h\[0-9\]+, h\[0-9\]+" 1 } } */
352
-test_vqdmulhh_s16 (int16_t a, int16_t b)
354
+test_vqdmulhh_s16 (int16x1_t a, int16x1_t b)
356
return vqdmulhh_s16 (a, b);
359
/* { dg-final { scan-assembler-times "\\tsqdmulh\\th\[0-9\]+, h\[0-9\]+, v" 1 } } */
362
-test_vqdmulhh_lane_s16 (int16_t a, int16x4_t b)
364
+test_vqdmulhh_lane_s16 (int16x1_t a, int16x4_t b)
366
return vqdmulhh_lane_s16 (a, b, 3);
369
/* { dg-final { scan-assembler-times "\\tsqdmulh\\ts\[0-9\]+, s\[0-9\]+, s\[0-9\]+" 1 } } */
372
-test_vqdmulhs_s32 (int32_t a, int32_t b)
374
+test_vqdmulhs_s32 (int32x1_t a, int32x1_t b)
376
return vqdmulhs_s32 (a, b);
379
/* { dg-final { scan-assembler-times "\\tsqdmulh\\ts\[0-9\]+, s\[0-9\]+, v" 1 } } */
382
-test_vqdmulhs_lane_s32 (int32_t a, int32x2_t b)
384
+test_vqdmulhs_lane_s32 (int32x1_t a, int32x2_t b)
386
return vqdmulhs_lane_s32 (a, b, 1);
389
/* { dg-final { scan-assembler-times "\\tsqdmull\\ts\[0-9\]+, h\[0-9\]+, h\[0-9\]+" 1 } } */
392
-test_vqdmullh_s16 (int16_t a, int16_t b)
394
+test_vqdmullh_s16 (int16x1_t a, int16x1_t b)
396
return vqdmullh_s16 (a, b);
399
/* { dg-final { scan-assembler-times "\\tsqdmull\\ts\[0-9\]+, h\[0-9\]+, v" 1 } } */
402
-test_vqdmullh_lane_s16 (int16_t a, int16x4_t b)
404
+test_vqdmullh_lane_s16 (int16x1_t a, int16x4_t b)
406
return vqdmullh_lane_s16 (a, b, 3);
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 } } */
412
-test_vqdmulls_s32 (int32_t a, int32_t b)
413
+test_vqdmulls_s32 (int32x1_t a, int32x1_t b)
415
return vqdmulls_s32 (a, b);
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 } } */
421
-test_vqdmulls_lane_s32 (int32_t a, int32x2_t b)
422
+test_vqdmulls_lane_s32 (int32x1_t a, int32x2_t b)
424
return vqdmulls_lane_s32 (a, b, 1);
427
/* { dg-final { scan-assembler-times "\\tsqrdmulh\\th\[0-9\]+, h\[0-9\]+, h\[0-9\]+" 1 } } */
430
-test_vqrdmulhh_s16 (int16_t a, int16_t b)
432
+test_vqrdmulhh_s16 (int16x1_t a, int16x1_t b)
434
return vqrdmulhh_s16 (a, b);
437
/* { dg-final { scan-assembler-times "\\tsqrdmulh\\th\[0-9\]+, h\[0-9\]+, v" 1 } } */
440
-test_vqrdmulhh_lane_s16 (int16_t a, int16x4_t b)
442
+test_vqrdmulhh_lane_s16 (int16x1_t a, int16x4_t b)
444
return vqrdmulhh_lane_s16 (a, b, 3);
447
/* { dg-final { scan-assembler-times "\\tsqrdmulh\\ts\[0-9\]+, s\[0-9\]+, s\[0-9\]+" 1 } } */
450
-test_vqrdmulhs_s32 (int32_t a, int32_t b)
452
+test_vqrdmulhs_s32 (int32x1_t a, int32x1_t b)
454
return vqrdmulhs_s32 (a, b);
457
/* { dg-final { scan-assembler-times "\\tsqrdmulh\\ts\[0-9\]+, s\[0-9\]+, v" 1 } } */
460
-test_vqrdmulhs_lane_s32 (int32_t a, int32x2_t b)
462
+test_vqrdmulhs_lane_s32 (int32x1_t a, int32x2_t b)
464
return vqrdmulhs_lane_s32 (a, b, 1);
467
/* { dg-final { scan-assembler-times "\\tsuqadd\\tb\[0-9\]+" 1 } } */
470
-test_vuqaddb_s8 (int8_t a, int8_t b)
472
+test_vuqaddb_s8 (int8x1_t a, int8x1_t b)
474
return vuqaddb_s8 (a, b);
477
/* { dg-final { scan-assembler-times "\\tsuqadd\\th\[0-9\]+" 1 } } */
480
-test_vuqaddh_s16 (int16_t a, int8_t b)
482
+test_vuqaddh_s16 (int16x1_t a, int8x1_t b)
484
return vuqaddh_s16 (a, b);
487
/* { dg-final { scan-assembler-times "\\tsuqadd\\ts\[0-9\]+" 1 } } */
490
-test_vuqadds_s32 (int32_t a, int8_t b)
492
+test_vuqadds_s32 (int32x1_t a, int8x1_t b)
494
return vuqadds_s32 (a, b);
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 } } */
500
-test_vuqaddd_s64 (int64x1_t a, int8_t b)
501
+test_vuqaddd_s64 (int64x1_t a, int8x1_t b)
503
return vuqaddd_s64 (a, b);
506
/* { dg-final { scan-assembler-times "\\tusqadd\\tb\[0-9\]+" 1 } } */
509
-test_vsqaddb_u8 (uint8_t a, int8_t b)
511
+test_vsqaddb_u8 (uint8x1_t a, int8x1_t b)
513
return vsqaddb_u8 (a, b);
516
/* { dg-final { scan-assembler-times "\\tusqadd\\th\[0-9\]+" 1 } } */
519
-test_vsqaddh_u16 (uint16_t a, int8_t b)
521
+test_vsqaddh_u16 (uint16x1_t a, int8x1_t b)
523
return vsqaddh_u16 (a, b);
526
/* { dg-final { scan-assembler-times "\\tusqadd\\ts\[0-9\]+" 1 } } */
529
-test_vsqadds_u32 (uint32_t a, int8_t b)
531
+test_vsqadds_u32 (uint32x1_t a, int8x1_t b)
533
return vsqadds_u32 (a, b);
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 } } */
539
-test_vsqaddd_u64 (uint64x1_t a, int8_t b)
540
+test_vsqaddd_u64 (uint64x1_t a, int8x1_t b)
542
return vsqaddd_u64 (a, b);
545
/* { dg-final { scan-assembler-times "\\tsqabs\\tb\[0-9\]+" 1 } } */
548
-test_vqabsb_s8 (int8_t a)
550
+test_vqabsb_s8 (int8x1_t a)
552
return vqabsb_s8 (a);
555
/* { dg-final { scan-assembler-times "\\tsqabs\\th\[0-9\]+" 1 } } */
558
-test_vqabsh_s16 (int16_t a)
560
+test_vqabsh_s16 (int16x1_t a)
562
return vqabsh_s16 (a);
565
/* { dg-final { scan-assembler-times "\\tsqabs\\ts\[0-9\]+" 1 } } */
568
-test_vqabss_s32 (int32_t a)
570
+test_vqabss_s32 (int32x1_t a)
572
return vqabss_s32 (a);
575
/* { dg-final { scan-assembler-times "\\tsqneg\\tb\[0-9\]+" 1 } } */
578
-test_vqnegb_s8 (int8_t a)
580
+test_vqnegb_s8 (int8x1_t a)
582
return vqnegb_s8 (a);
585
/* { dg-final { scan-assembler-times "\\tsqneg\\th\[0-9\]+" 1 } } */
588
-test_vqnegh_s16 (int16_t a)
590
+test_vqnegh_s16 (int16x1_t a)
592
return vqnegh_s16 (a);
595
/* { dg-final { scan-assembler-times "\\tsqneg\\ts\[0-9\]+" 1 } } */
598
-test_vqnegs_s32 (int32_t a)
600
+test_vqnegs_s32 (int32x1_t a)
602
return vqnegs_s32 (a);
605
/* { dg-final { scan-assembler-times "\\tsqxtun\\tb\[0-9\]+" 1 } } */
608
-test_vqmovunh_s16 (int16_t a)
610
+test_vqmovunh_s16 (int16x1_t a)
612
return vqmovunh_s16 (a);
615
/* { dg-final { scan-assembler-times "\\tsqxtun\\th\[0-9\]+" 1 } } */
618
-test_vqmovuns_s32 (int32_t a)
620
+test_vqmovuns_s32 (int32x1_t a)
622
return vqmovuns_s32 (a);
625
/* { dg-final { scan-assembler-times "\\tsqxtun\\ts\[0-9\]+" 1 } } */
629
test_vqmovund_s64 (int64x1_t a)
631
return vqmovund_s64 (a);
632
@@ -674,23 +674,23 @@ test_vqmovund_s64 (int64x1_t a)
634
/* { dg-final { scan-assembler-times "\\tsqxtn\\tb\[0-9\]+" 1 } } */
637
-test_vqmovnh_s16 (int16_t a)
639
+test_vqmovnh_s16 (int16x1_t a)
641
return vqmovnh_s16 (a);
644
/* { dg-final { scan-assembler-times "\\tsqxtn\\th\[0-9\]+" 1 } } */
647
-test_vqmovns_s32 (int32_t a)
649
+test_vqmovns_s32 (int32x1_t a)
651
return vqmovns_s32 (a);
654
/* { dg-final { scan-assembler-times "\\tsqxtn\\ts\[0-9\]+" 1 } } */
658
test_vqmovnd_s64 (int64x1_t a)
660
return vqmovnd_s64 (a);
661
@@ -698,23 +698,23 @@ test_vqmovnd_s64 (int64x1_t a)
663
/* { dg-final { scan-assembler-times "\\tuqxtn\\tb\[0-9\]+" 1 } } */
666
-test_vqmovnh_u16 (uint16_t a)
668
+test_vqmovnh_u16 (uint16x1_t a)
670
return vqmovnh_u16 (a);
673
/* { dg-final { scan-assembler-times "\\tuqxtn\\th\[0-9\]+" 1 } } */
676
-test_vqmovns_u32 (uint32_t a)
678
+test_vqmovns_u32 (uint32x1_t a)
680
return vqmovns_u32 (a);
683
/* { dg-final { scan-assembler-times "\\tuqxtn\\ts\[0-9\]+" 1 } } */
687
test_vqmovnd_u64 (uint64x1_t a)
689
return vqmovnd_u64 (a);
690
@@ -753,24 +753,24 @@ test_vqsubd_u64 (uint64x1_t a, uint64x1_
692
/* { dg-final { scan-assembler-times "\\tuqsub\\ts\[0-9\]+" 1 } } */
695
-test_vqsubs_u32 (uint32_t a, uint32_t b)
697
+test_vqsubs_u32 (uint32x1_t a, uint32x1_t b)
699
return vqsubs_u32 (a, b);
702
/* { dg-final { scan-assembler-times "\\tuqsub\\th\[0-9\]+" 1 } } */
705
-test_vqsubh_u16 (uint16_t a, uint16_t b)
707
+test_vqsubh_u16 (uint16x1_t a, uint16x1_t b)
709
return vqsubh_u16 (a, b);
712
/* { dg-final { scan-assembler-times "\\tuqsub\\tb\[0-9\]+" 1 } } */
715
-test_vqsubb_u8 (uint8_t a, uint8_t b)
717
+test_vqsubb_u8 (uint8x1_t a, uint8x1_t b)
719
return vqsubb_u8 (a, b);
721
@@ -785,24 +785,24 @@ test_vqsubd_s64 (int64x1_t a, int64x1_t
723
/* { dg-final { scan-assembler-times "\\tsqsub\\ts\[0-9\]+" 1 } } */
726
-test_vqsubs_s32 (int32_t a, int32_t b)
728
+test_vqsubs_s32 (int32x1_t a, int32x1_t b)
730
return vqsubs_s32 (a, b);
733
/* { dg-final { scan-assembler-times "\\tsqsub\\th\[0-9\]+" 1 } } */
736
-test_vqsubh_s16 (int16_t a, int16_t b)
738
+test_vqsubh_s16 (int16x1_t a, int16x1_t b)
740
return vqsubh_s16 (a, b);
743
/* { dg-final { scan-assembler-times "\\tsqsub\\tb\[0-9\]+" 1 } } */
746
-test_vqsubb_s8 (int8_t a, int8_t b)
748
+test_vqsubb_s8 (int8x1_t a, int8x1_t b)
750
return vqsubb_s8 (a, b);
752
@@ -908,24 +908,24 @@ test_vrsrad_n_u64 (uint64x1_t a, uint64x
754
/* { dg-final { scan-assembler-times "\\tsqrshl\\tb\[0-9\]+" 1 } } */
757
-test_vqrshlb_s8 (int8_t a, int8_t b)
759
+test_vqrshlb_s8 (int8x1_t a, int8x1_t b)
761
return vqrshlb_s8 (a, b);
764
/* { dg-final { scan-assembler-times "\\tsqrshl\\th\[0-9\]+" 1 } } */
767
-test_vqrshlh_s16 (int16_t a, int16_t b)
769
+test_vqrshlh_s16 (int16x1_t a, int16x1_t b)
771
return vqrshlh_s16 (a, b);
774
/* { dg-final { scan-assembler-times "\\tsqrshl\\ts\[0-9\]+" 1 } } */
777
-test_vqrshls_s32 (int32_t a, int32_t b)
779
+test_vqrshls_s32 (int32x1_t a, int32x1_t b)
781
return vqrshls_s32 (a, b);
783
@@ -940,24 +940,24 @@ test_vqrshld_s64 (int64x1_t a, int64x1_t
785
/* { dg-final { scan-assembler-times "\\tuqrshl\\tb\[0-9\]+" 1 } } */
788
-test_vqrshlb_u8 (uint8_t a, uint8_t b)
790
+test_vqrshlb_u8 (uint8x1_t a, uint8x1_t b)
792
return vqrshlb_u8 (a, b);
795
/* { dg-final { scan-assembler-times "\\tuqrshl\\th\[0-9\]+" 1 } } */
798
-test_vqrshlh_u16 (uint16_t a, uint16_t b)
800
+test_vqrshlh_u16 (uint16x1_t a, uint16x1_t b)
802
return vqrshlh_u16 (a, b);
805
/* { dg-final { scan-assembler-times "\\tuqrshl\\ts\[0-9\]+" 1 } } */
808
-test_vqrshls_u32 (uint32_t a, uint32_t b)
810
+test_vqrshls_u32 (uint32x1_t a, uint32x1_t b)
812
return vqrshls_u32 (a, b);
814
@@ -972,24 +972,24 @@ test_vqrshld_u64 (uint64x1_t a, uint64x1
816
/* { dg-final { scan-assembler-times "\\tsqshlu\\tb\[0-9\]+" 1 } } */
819
-test_vqshlub_n_s8 (int8_t a)
821
+test_vqshlub_n_s8 (int8x1_t a)
823
return vqshlub_n_s8 (a, 3);
826
/* { dg-final { scan-assembler-times "\\tsqshlu\\th\[0-9\]+" 1 } } */
829
-test_vqshluh_n_s16 (int16_t a)
831
+test_vqshluh_n_s16 (int16x1_t a)
833
return vqshluh_n_s16 (a, 4);
836
/* { dg-final { scan-assembler-times "\\tsqshlu\\ts\[0-9\]+" 1 } } */
839
-test_vqshlus_n_s32 (int32_t a)
841
+test_vqshlus_n_s32 (int32x1_t a)
843
return vqshlus_n_s32 (a, 5);
845
@@ -1004,42 +1004,42 @@ test_vqshlud_n_s64 (int64x1_t a)
847
/* { dg-final { scan-assembler-times "\\tsqshl\\tb\[0-9\]+" 2 } } */
850
-test_vqshlb_s8 (int8_t a, int8_t b)
852
+test_vqshlb_s8 (int8x1_t a, int8x1_t b)
854
return vqshlb_s8 (a, b);
858
-test_vqshlb_n_s8 (int8_t a)
860
+test_vqshlb_n_s8 (int8x1_t a)
862
return vqshlb_n_s8 (a, 2);
865
/* { dg-final { scan-assembler-times "\\tsqshl\\th\[0-9\]+" 2 } } */
868
-test_vqshlh_s16 (int16_t a, int16_t b)
870
+test_vqshlh_s16 (int16x1_t a, int16x1_t b)
872
return vqshlh_s16 (a, b);
876
-test_vqshlh_n_s16 (int16_t a)
878
+test_vqshlh_n_s16 (int16x1_t a)
880
return vqshlh_n_s16 (a, 3);
883
/* { dg-final { scan-assembler-times "\\tsqshl\\ts\[0-9\]+" 2 } } */
886
-test_vqshls_s32 (int32_t a, int32_t b)
888
+test_vqshls_s32 (int32x1_t a, int32x1_t b)
890
return vqshls_s32 (a, b);
894
-test_vqshls_n_s32 (int32_t a)
896
+test_vqshls_n_s32 (int32x1_t a)
898
return vqshls_n_s32 (a, 4);
900
@@ -1060,42 +1060,42 @@ test_vqshld_n_s64 (int64x1_t a)
902
/* { dg-final { scan-assembler-times "\\tuqshl\\tb\[0-9\]+" 2 } } */
905
-test_vqshlb_u8 (uint8_t a, uint8_t b)
907
+test_vqshlb_u8 (uint8x1_t a, uint8x1_t b)
909
return vqshlb_u8 (a, b);
913
-test_vqshlb_n_u8 (uint8_t a)
915
+test_vqshlb_n_u8 (uint8x1_t a)
917
return vqshlb_n_u8 (a, 2);
920
/* { dg-final { scan-assembler-times "\\tuqshl\\th\[0-9\]+" 2 } } */
923
-test_vqshlh_u16 (uint16_t a, uint16_t b)
925
+test_vqshlh_u16 (uint16x1_t a, uint16x1_t b)
927
return vqshlh_u16 (a, b);
931
-test_vqshlh_n_u16 (uint16_t a)
933
+test_vqshlh_n_u16 (uint16x1_t a)
935
return vqshlh_n_u16 (a, 3);
938
/* { dg-final { scan-assembler-times "\\tuqshl\\ts\[0-9\]+" 2 } } */
941
-test_vqshls_u32 (uint32_t a, uint32_t b)
943
+test_vqshls_u32 (uint32x1_t a, uint32x1_t b)
945
return vqshls_u32 (a, b);
949
-test_vqshls_n_u32 (uint32_t a)
951
+test_vqshls_n_u32 (uint32x1_t a)
953
return vqshls_n_u32 (a, 4);
955
@@ -1116,23 +1116,23 @@ test_vqshld_n_u64 (uint64x1_t a)
957
/* { dg-final { scan-assembler-times "\\tsqshrun\\tb\[0-9\]+" 1 } } */
960
-test_vqshrunh_n_s16 (int16_t a)
962
+test_vqshrunh_n_s16 (int16x1_t a)
964
return vqshrunh_n_s16 (a, 2);
967
/* { dg-final { scan-assembler-times "\\tsqshrun\\th\[0-9\]+" 1 } } */
970
-test_vqshruns_n_s32 (int32_t a)
972
+test_vqshruns_n_s32 (int32x1_t a)
974
return vqshruns_n_s32 (a, 3);
977
/* { dg-final { scan-assembler-times "\\tsqshrun\\ts\[0-9\]+" 1 } } */
981
test_vqshrund_n_s64 (int64x1_t a)
983
return vqshrund_n_s64 (a, 4);
984
@@ -1140,23 +1140,23 @@ test_vqshrund_n_s64 (int64x1_t a)
986
/* { dg-final { scan-assembler-times "\\tsqrshrun\\tb\[0-9\]+" 1 } } */
989
-test_vqrshrunh_n_s16 (int16_t a)
991
+test_vqrshrunh_n_s16 (int16x1_t a)
993
return vqrshrunh_n_s16 (a, 2);
996
/* { dg-final { scan-assembler-times "\\tsqrshrun\\th\[0-9\]+" 1 } } */
999
-test_vqrshruns_n_s32 (int32_t a)
1001
+test_vqrshruns_n_s32 (int32x1_t a)
1003
return vqrshruns_n_s32 (a, 3);
1006
/* { dg-final { scan-assembler-times "\\tsqrshrun\\ts\[0-9\]+" 1 } } */
1010
test_vqrshrund_n_s64 (int64x1_t a)
1012
return vqrshrund_n_s64 (a, 4);
1013
@@ -1164,23 +1164,23 @@ test_vqrshrund_n_s64 (int64x1_t a)
1015
/* { dg-final { scan-assembler-times "\\tsqshrn\\tb\[0-9\]+" 1 } } */
1018
-test_vqshrnh_n_s16 (int16_t a)
1020
+test_vqshrnh_n_s16 (int16x1_t a)
1022
return vqshrnh_n_s16 (a, 2);
1025
/* { dg-final { scan-assembler-times "\\tsqshrn\\th\[0-9\]+" 1 } } */
1028
-test_vqshrns_n_s32 (int32_t a)
1030
+test_vqshrns_n_s32 (int32x1_t a)
1032
return vqshrns_n_s32 (a, 3);
1035
/* { dg-final { scan-assembler-times "\\tsqshrn\\ts\[0-9\]+" 1 } } */
1039
test_vqshrnd_n_s64 (int64x1_t a)
1041
return vqshrnd_n_s64 (a, 4);
1042
@@ -1188,23 +1188,23 @@ test_vqshrnd_n_s64 (int64x1_t a)
1044
/* { dg-final { scan-assembler-times "\\tuqshrn\\tb\[0-9\]+" 1 } } */
1047
-test_vqshrnh_n_u16 (uint16_t a)
1049
+test_vqshrnh_n_u16 (uint16x1_t a)
1051
return vqshrnh_n_u16 (a, 2);
1054
/* { dg-final { scan-assembler-times "\\tuqshrn\\th\[0-9\]+" 1 } } */
1057
-test_vqshrns_n_u32 (uint32_t a)
1059
+test_vqshrns_n_u32 (uint32x1_t a)
1061
return vqshrns_n_u32 (a, 3);
1064
/* { dg-final { scan-assembler-times "\\tuqshrn\\ts\[0-9\]+" 1 } } */
1068
test_vqshrnd_n_u64 (uint64x1_t a)
1070
return vqshrnd_n_u64 (a, 4);
1071
@@ -1212,23 +1212,23 @@ test_vqshrnd_n_u64 (uint64x1_t a)
1073
/* { dg-final { scan-assembler-times "\\tsqrshrn\\tb\[0-9\]+" 1 } } */
1076
-test_vqrshrnh_n_s16 (int16_t a)
1078
+test_vqrshrnh_n_s16 (int16x1_t a)
1080
return vqrshrnh_n_s16 (a, 2);
1083
/* { dg-final { scan-assembler-times "\\tsqrshrn\\th\[0-9\]+" 1 } } */
1086
-test_vqrshrns_n_s32 (int32_t a)
1088
+test_vqrshrns_n_s32 (int32x1_t a)
1090
return vqrshrns_n_s32 (a, 3);
1093
/* { dg-final { scan-assembler-times "\\tsqrshrn\\ts\[0-9\]+" 1 } } */
1097
test_vqrshrnd_n_s64 (int64x1_t a)
1099
return vqrshrnd_n_s64 (a, 4);
1100
@@ -1236,23 +1236,23 @@ test_vqrshrnd_n_s64 (int64x1_t a)
1102
/* { dg-final { scan-assembler-times "\\tuqrshrn\\tb\[0-9\]+" 1 } } */
1105
-test_vqrshrnh_n_u16 (uint16_t a)
1107
+test_vqrshrnh_n_u16 (uint16x1_t a)
1109
return vqrshrnh_n_u16 (a, 2);
1112
/* { dg-final { scan-assembler-times "\\tuqrshrn\\th\[0-9\]+" 1 } } */
1115
-test_vqrshrns_n_u32 (uint32_t a)
1117
+test_vqrshrns_n_u32 (uint32x1_t a)
1119
return vqrshrns_n_u32 (a, 3);
1122
/* { dg-final { scan-assembler-times "\\tuqrshrn\\ts\[0-9\]+" 1 } } */
1126
test_vqrshrnd_n_u64 (uint64x1_t a)
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
1135
#include "arm_neon.h"
1138
-t_vqdmlslh_lane_s16 (int32_t a, int16_t b, int16x4_t c)
1140
+t_vqdmlslh_lane_s16 (int32x1_t a, int16x1_t b, int16x4_t c)
1142
return vqdmlslh_lane_s16 (a, b, c, 0);
1144
Index: b/src/gcc/testsuite/ChangeLog
1145
===================================================================
1146
--- a/src/gcc/testsuite/ChangeLog
1147
+++ b/src/gcc/testsuite/ChangeLog
1149
-2014-09-11 Alan Lawrence <alan.lawrence@arm.com>
1151
- Backport r214953 from mainline
1152
- 2014-09-05 Alan Lawrence <alan.lawrence@arm.com>
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.
1161
2014-09-10 Xinliang David Li <davidxl@google.com>
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) \
1192
- int16x4_t b_ = (b); \
1193
+ int16x8_t b_ = (b); \
1194
int16x8_t a_ = (a); \
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) \
1201
- int32x2_t b_ = (b); \
1202
+ int32x4_t b_ = (b); \
1203
int32x4_t a_ = (a); \
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) \
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) \
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);
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)
1233
- return (int8_t) __builtin_aarch64_sqabsqi (__a);
1234
+ return (int8x1_t) __builtin_aarch64_sqabsqi (__a);
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)
1242
- return (int16_t) __builtin_aarch64_sqabshi (__a);
1243
+ return (int16x1_t) __builtin_aarch64_sqabshi (__a);
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)
1251
- return (int32_t) __builtin_aarch64_sqabssi (__a);
1252
+ return (int32x1_t) __builtin_aarch64_sqabssi (__a);
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)
1262
- return (int8_t) __builtin_aarch64_sqaddqi (__a, __b);
1263
+ return (int8x1_t) __builtin_aarch64_sqaddqi (__a, __b);
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)
1271
- return (int16_t) __builtin_aarch64_sqaddhi (__a, __b);
1272
+ return (int16x1_t) __builtin_aarch64_sqaddhi (__a, __b);
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)
1280
- return (int32_t) __builtin_aarch64_sqaddsi (__a, __b);
1281
+ return (int32x1_t) __builtin_aarch64_sqaddsi (__a, __b);
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);
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)
1294
- return (uint8_t) __builtin_aarch64_uqaddqi (__a, __b);
1295
+ return (uint8x1_t) __builtin_aarch64_uqaddqi (__a, __b);
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)
1303
- return (uint16_t) __builtin_aarch64_uqaddhi (__a, __b);
1304
+ return (uint16x1_t) __builtin_aarch64_uqaddhi (__a, __b);
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)
1312
- return (uint32_t) __builtin_aarch64_uqaddsi (__a, __b);
1313
+ return (uint32x1_t) __builtin_aarch64_uqaddsi (__a, __b);
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);
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)
1326
return __builtin_aarch64_sqdmlalhi (__a, __b, __c);
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)
1334
return __builtin_aarch64_sqdmlal_lanehi (__a, __b, __c, __d);
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)
1341
return __builtin_aarch64_sqdmlalsi (__a, __b, __c);
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)
1348
return __builtin_aarch64_sqdmlal_lanesi (__a, __b, __c, __d);
1350
@@ -21215,26 +21221,26 @@ vqdmlsl_n_s32 (int64x2_t __a, int32x2_t
1351
return __builtin_aarch64_sqdmlsl_nv2si (__a, __b, __c);
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)
1359
return __builtin_aarch64_sqdmlslhi (__a, __b, __c);
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)
1367
return __builtin_aarch64_sqdmlsl_lanehi (__a, __b, __c, __d);
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)
1374
return __builtin_aarch64_sqdmlslsi (__a, __b, __c);
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)
1381
return __builtin_aarch64_sqdmlsl_lanesi (__a, __b, __c, __d);
1383
@@ -21265,26 +21271,26 @@ vqdmulhq_lane_s32 (int32x4_t __a, int32x
1384
return __builtin_aarch64_sqdmulh_lanev4si (__a, __b, __c);
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)
1392
- return (int16_t) __builtin_aarch64_sqdmulhhi (__a, __b);
1393
+ return (int16x1_t) __builtin_aarch64_sqdmulhhi (__a, __b);
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)
1401
return __builtin_aarch64_sqdmulh_lanehi (__a, __b, __c);
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)
1409
- return (int32_t) __builtin_aarch64_sqdmulhsi (__a, __b);
1410
+ return (int32x1_t) __builtin_aarch64_sqdmulhsi (__a, __b);
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)
1418
return __builtin_aarch64_sqdmulh_lanesi (__a, __b, __c);
1420
@@ -21387,26 +21393,26 @@ vqdmull_n_s32 (int32x2_t __a, int32_t __
1421
return __builtin_aarch64_sqdmull_nv2si (__a, __b);
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)
1429
- return (int32_t) __builtin_aarch64_sqdmullhi (__a, __b);
1430
+ return (int32x1_t) __builtin_aarch64_sqdmullhi (__a, __b);
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)
1438
return __builtin_aarch64_sqdmull_lanehi (__a, __b, __c);
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)
1445
return (int64x1_t) __builtin_aarch64_sqdmullsi (__a, __b);
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)
1452
return __builtin_aarch64_sqdmull_lanesi (__a, __b, __c);
1454
@@ -21449,40 +21455,40 @@ vqmovn_u64 (uint64x2_t __a)
1455
return (uint32x2_t) __builtin_aarch64_uqmovnv2di ((int64x2_t) __a);
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)
1463
- return (int8_t) __builtin_aarch64_sqmovnhi (__a);
1464
+ return (int8x1_t) __builtin_aarch64_sqmovnhi (__a);
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)
1472
- return (int16_t) __builtin_aarch64_sqmovnsi (__a);
1473
+ return (int16x1_t) __builtin_aarch64_sqmovnsi (__a);
1476
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
1477
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
1478
vqmovnd_s64 (int64x1_t __a)
1480
- return (int32_t) __builtin_aarch64_sqmovndi (__a);
1481
+ return (int32x1_t) __builtin_aarch64_sqmovndi (__a);
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)
1489
- return (uint8_t) __builtin_aarch64_uqmovnhi (__a);
1490
+ return (uint8x1_t) __builtin_aarch64_uqmovnhi (__a);
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)
1498
- return (uint16_t) __builtin_aarch64_uqmovnsi (__a);
1499
+ return (uint16x1_t) __builtin_aarch64_uqmovnsi (__a);
1502
-__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
1503
+__extension__ static __inline uint32x1_t __attribute__ ((__always_inline__))
1504
vqmovnd_u64 (uint64x1_t __a)
1506
- return (uint32_t) __builtin_aarch64_uqmovndi (__a);
1507
+ return (uint32x1_t) __builtin_aarch64_uqmovndi (__a);
1511
@@ -21505,22 +21511,22 @@ vqmovun_s64 (int64x2_t __a)
1512
return (uint32x2_t) __builtin_aarch64_sqmovunv2di (__a);
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)
1520
- return (int8_t) __builtin_aarch64_sqmovunhi (__a);
1521
+ return (int8x1_t) __builtin_aarch64_sqmovunhi (__a);
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)
1529
- return (int16_t) __builtin_aarch64_sqmovunsi (__a);
1530
+ return (int16x1_t) __builtin_aarch64_sqmovunsi (__a);
1533
-__extension__ static __inline int32_t __attribute__ ((__always_inline__))
1534
+__extension__ static __inline int32x1_t __attribute__ ((__always_inline__))
1535
vqmovund_s64 (int64x1_t __a)
1537
- return (int32_t) __builtin_aarch64_sqmovundi (__a);
1538
+ return (int32x1_t) __builtin_aarch64_sqmovundi (__a);
1542
@@ -21531,22 +21537,22 @@ vqnegq_s64 (int64x2_t __a)
1543
return (int64x2_t) __builtin_aarch64_sqnegv2di (__a);
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)
1551
- return (int8_t) __builtin_aarch64_sqnegqi (__a);
1552
+ return (int8x1_t) __builtin_aarch64_sqnegqi (__a);
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)
1560
- return (int16_t) __builtin_aarch64_sqneghi (__a);
1561
+ return (int16x1_t) __builtin_aarch64_sqneghi (__a);
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)
1569
- return (int32_t) __builtin_aarch64_sqnegsi (__a);
1570
+ return (int32x1_t) __builtin_aarch64_sqnegsi (__a);
1574
@@ -21575,26 +21581,26 @@ vqrdmulhq_lane_s32 (int32x4_t __a, int32
1575
return __builtin_aarch64_sqrdmulh_lanev4si (__a, __b, __c);
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)
1583
- return (int16_t) __builtin_aarch64_sqrdmulhhi (__a, __b);
1584
+ return (int16x1_t) __builtin_aarch64_sqrdmulhhi (__a, __b);
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)
1592
return __builtin_aarch64_sqrdmulh_lanehi (__a, __b, __c);
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)
1600
- return (int32_t) __builtin_aarch64_sqrdmulhsi (__a, __b);
1601
+ return (int32x1_t) __builtin_aarch64_sqrdmulhsi (__a, __b);
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)
1609
return __builtin_aarch64_sqrdmulh_lanesi (__a, __b, __c);
1611
@@ -21697,20 +21703,20 @@ vqrshlq_u64 (uint64x2_t __a, int64x2_t _
1612
return (uint64x2_t) __builtin_aarch64_uqrshlv2di ((int64x2_t) __a, __b);
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)
1620
return __builtin_aarch64_sqrshlqi (__a, __b);
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)
1628
return __builtin_aarch64_sqrshlhi (__a, __b);
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)
1636
return __builtin_aarch64_sqrshlsi (__a, __b);
1638
@@ -21721,22 +21727,22 @@ vqrshld_s64 (int64x1_t __a, int64x1_t __
1639
return __builtin_aarch64_sqrshldi (__a, __b);
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)
1647
- return (uint8_t) __builtin_aarch64_uqrshlqi (__a, __b);
1648
+ return (uint8x1_t) __builtin_aarch64_uqrshlqi (__a, __b);
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)
1656
- return (uint16_t) __builtin_aarch64_uqrshlhi (__a, __b);
1657
+ return (uint16x1_t) __builtin_aarch64_uqrshlhi (__a, __b);
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)
1665
- return (uint32_t) __builtin_aarch64_uqrshlsi (__a, __b);
1666
+ return (uint32x1_t) __builtin_aarch64_uqrshlsi (__a, __b);
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);
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)
1679
- return (int8_t) __builtin_aarch64_sqrshrn_nhi (__a, __b);
1680
+ return (int8x1_t) __builtin_aarch64_sqrshrn_nhi (__a, __b);
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)
1688
- return (int16_t) __builtin_aarch64_sqrshrn_nsi (__a, __b);
1689
+ return (int16x1_t) __builtin_aarch64_sqrshrn_nsi (__a, __b);
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)
1696
- return (int32_t) __builtin_aarch64_sqrshrn_ndi (__a, __b);
1697
+ return (int32x1_t) __builtin_aarch64_sqrshrn_ndi (__a, __b);
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)
1705
- return (uint8_t) __builtin_aarch64_uqrshrn_nhi (__a, __b);
1706
+ return (uint8x1_t) __builtin_aarch64_uqrshrn_nhi (__a, __b);
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)
1714
- return (uint16_t) __builtin_aarch64_uqrshrn_nsi (__a, __b);
1715
+ return (uint16x1_t) __builtin_aarch64_uqrshrn_nsi (__a, __b);
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)
1722
- return (uint32_t) __builtin_aarch64_uqrshrn_ndi (__a, __b);
1723
+ return (uint32x1_t) __builtin_aarch64_uqrshrn_ndi (__a, __b);
1727
@@ -21839,22 +21845,22 @@ vqrshrun_n_s64 (int64x2_t __a, const int
1728
return (uint32x2_t) __builtin_aarch64_sqrshrun_nv2di (__a, __b);
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)
1736
- return (int8_t) __builtin_aarch64_sqrshrun_nhi (__a, __b);
1737
+ return (int8x1_t) __builtin_aarch64_sqrshrun_nhi (__a, __b);
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)
1745
- return (int16_t) __builtin_aarch64_sqrshrun_nsi (__a, __b);
1746
+ return (int16x1_t) __builtin_aarch64_sqrshrun_nsi (__a, __b);
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)
1753
- return (int32_t) __builtin_aarch64_sqrshrun_ndi (__a, __b);
1754
+ return (int32x1_t) __builtin_aarch64_sqrshrun_ndi (__a, __b);
1758
@@ -21955,20 +21961,20 @@ vqshlq_u64 (uint64x2_t __a, int64x2_t __
1759
return (uint64x2_t) __builtin_aarch64_uqshlv2di ((int64x2_t) __a, __b);
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)
1767
return __builtin_aarch64_sqshlqi (__a, __b);
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)
1775
return __builtin_aarch64_sqshlhi (__a, __b);
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)
1783
return __builtin_aarch64_sqshlsi (__a, __b);
1785
@@ -21979,22 +21985,22 @@ vqshld_s64 (int64x1_t __a, int64x1_t __b
1786
return __builtin_aarch64_sqshldi (__a, __b);
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)
1794
- return (uint8_t) __builtin_aarch64_uqshlqi (__a, __b);
1795
+ return (uint8x1_t) __builtin_aarch64_uqshlqi (__a, __b);
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)
1803
- return (uint16_t) __builtin_aarch64_uqshlhi (__a, __b);
1804
+ return (uint16x1_t) __builtin_aarch64_uqshlhi (__a, __b);
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)
1812
- return (uint32_t) __builtin_aarch64_uqshlsi (__a, __b);
1813
+ return (uint32x1_t) __builtin_aarch64_uqshlsi (__a, __b);
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);
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)
1826
- return (int8_t) __builtin_aarch64_sqshl_nqi (__a, __b);
1827
+ return (int8x1_t) __builtin_aarch64_sqshl_nqi (__a, __b);
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)
1835
- return (int16_t) __builtin_aarch64_sqshl_nhi (__a, __b);
1836
+ return (int16x1_t) __builtin_aarch64_sqshl_nhi (__a, __b);
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)
1844
- return (int32_t) __builtin_aarch64_sqshl_nsi (__a, __b);
1845
+ return (int32x1_t) __builtin_aarch64_sqshl_nsi (__a, __b);
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);
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)
1858
- return (uint8_t) __builtin_aarch64_uqshl_nqi (__a, __b);
1859
+ return (uint8x1_t) __builtin_aarch64_uqshl_nqi (__a, __b);
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)
1867
- return (uint16_t) __builtin_aarch64_uqshl_nhi (__a, __b);
1868
+ return (uint16x1_t) __builtin_aarch64_uqshl_nhi (__a, __b);
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)
1876
- return (uint32_t) __builtin_aarch64_uqshl_nsi (__a, __b);
1877
+ return (uint32x1_t) __builtin_aarch64_uqshl_nsi (__a, __b);
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);
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)
1890
- return (int8_t) __builtin_aarch64_sqshlu_nqi (__a, __b);
1891
+ return (int8x1_t) __builtin_aarch64_sqshlu_nqi (__a, __b);
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)
1899
- return (int16_t) __builtin_aarch64_sqshlu_nhi (__a, __b);
1900
+ return (int16x1_t) __builtin_aarch64_sqshlu_nhi (__a, __b);
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)
1908
- return (int32_t) __builtin_aarch64_sqshlu_nsi (__a, __b);
1909
+ return (int32x1_t) __builtin_aarch64_sqshlu_nsi (__a, __b);
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);
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)
1922
- return (int8_t) __builtin_aarch64_sqshrn_nhi (__a, __b);
1923
+ return (int8x1_t) __builtin_aarch64_sqshrn_nhi (__a, __b);
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)
1931
- return (int16_t) __builtin_aarch64_sqshrn_nsi (__a, __b);
1932
+ return (int16x1_t) __builtin_aarch64_sqshrn_nsi (__a, __b);
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)
1939
- return (int32_t) __builtin_aarch64_sqshrn_ndi (__a, __b);
1940
+ return (int32x1_t) __builtin_aarch64_sqshrn_ndi (__a, __b);
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)
1948
- return (uint8_t) __builtin_aarch64_uqshrn_nhi (__a, __b);
1949
+ return (uint8x1_t) __builtin_aarch64_uqshrn_nhi (__a, __b);
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)
1957
- return (uint16_t) __builtin_aarch64_uqshrn_nsi (__a, __b);
1958
+ return (uint16x1_t) __builtin_aarch64_uqshrn_nsi (__a, __b);
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)
1965
- return (uint32_t) __builtin_aarch64_uqshrn_ndi (__a, __b);
1966
+ return (uint32x1_t) __builtin_aarch64_uqshrn_ndi (__a, __b);
1970
@@ -22315,42 +22321,42 @@ vqshrun_n_s64 (int64x2_t __a, const int
1971
return (uint32x2_t) __builtin_aarch64_sqshrun_nv2di (__a, __b);
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)
1979
- return (int8_t) __builtin_aarch64_sqshrun_nhi (__a, __b);
1980
+ return (int8x1_t) __builtin_aarch64_sqshrun_nhi (__a, __b);
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)
1988
- return (int16_t) __builtin_aarch64_sqshrun_nsi (__a, __b);
1989
+ return (int16x1_t) __builtin_aarch64_sqshrun_nsi (__a, __b);
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)
1996
- return (int32_t) __builtin_aarch64_sqshrun_ndi (__a, __b);
1997
+ return (int32x1_t) __builtin_aarch64_sqshrun_ndi (__a, __b);
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)
2007
- return (int8_t) __builtin_aarch64_sqsubqi (__a, __b);
2008
+ return (int8x1_t) __builtin_aarch64_sqsubqi (__a, __b);
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)
2016
- return (int16_t) __builtin_aarch64_sqsubhi (__a, __b);
2017
+ return (int16x1_t) __builtin_aarch64_sqsubhi (__a, __b);
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)
2025
- return (int32_t) __builtin_aarch64_sqsubsi (__a, __b);
2026
+ return (int32x1_t) __builtin_aarch64_sqsubsi (__a, __b);
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);
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)
2039
- return (uint8_t) __builtin_aarch64_uqsubqi (__a, __b);
2040
+ return (uint8x1_t) __builtin_aarch64_uqsubqi (__a, __b);
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)
2048
- return (uint16_t) __builtin_aarch64_uqsubhi (__a, __b);
2049
+ return (uint16x1_t) __builtin_aarch64_uqsubhi (__a, __b);
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)
2057
- return (uint32_t) __builtin_aarch64_uqsubsi (__a, __b);
2058
+ return (uint32x1_t) __builtin_aarch64_uqsubsi (__a, __b);
2061
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
2062
@@ -23590,22 +23596,22 @@ vsqaddq_u64 (uint64x2_t __a, int64x2_t _
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)
2071
- return (uint8_t) __builtin_aarch64_usqaddqi ((int8_t) __a, __b);
2072
+ return (uint8x1_t) __builtin_aarch64_usqaddqi ((int8x1_t) __a, __b);
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)
2080
- return (uint16_t) __builtin_aarch64_usqaddhi ((int16_t) __a, __b);
2081
+ return (uint16x1_t) __builtin_aarch64_usqaddhi ((int16x1_t) __a, __b);
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)
2089
- return (uint32_t) __builtin_aarch64_usqaddsi ((int32_t) __a, __b);
2090
+ return (uint32x1_t) __builtin_aarch64_usqaddsi ((int32x1_t) __a, __b);
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);
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)
2103
- return (int8_t) __builtin_aarch64_suqaddqi (__a, (int8_t) __b);
2104
+ return (int8x1_t) __builtin_aarch64_suqaddqi (__a, (int8x1_t) __b);
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)
2112
- return (int16_t) __builtin_aarch64_suqaddhi (__a, (int16_t) __b);
2113
+ return (int16x1_t) __builtin_aarch64_suqaddhi (__a, (int16x1_t) __b);
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)
2121
- return (int32_t) __builtin_aarch64_suqaddsi (__a, (int32_t) __b);
2122
+ return (int32x1_t) __builtin_aarch64_suqaddsi (__a, (int32x1_t) __b);
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 @@
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")]