OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [arm/] [arm_neon.h] - Blame information for rev 737

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 709 jeremybenn
/* ARM NEON intrinsics include file. This file is generated automatically
2
   using neon-gen.ml.  Please do not edit manually.
3
 
4
   Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
5
   Contributed by CodeSourcery.
6
 
7
   This file is part of GCC.
8
 
9
   GCC is free software; you can redistribute it and/or modify it
10
   under the terms of the GNU General Public License as published
11
   by the Free Software Foundation; either version 3, or (at your
12
   option) any later version.
13
 
14
   GCC is distributed in the hope that it will be useful, but WITHOUT
15
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16
   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
17
   License for more details.
18
 
19
   Under Section 7 of GPL version 3, you are granted additional
20
   permissions described in the GCC Runtime Library Exception, version
21
   3.1, as published by the Free Software Foundation.
22
 
23
   You should have received a copy of the GNU General Public License and
24
   a copy of the GCC Runtime Library Exception along with this program;
25
   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
26
   <http://www.gnu.org/licenses/>.  */
27
 
28
#ifndef _GCC_ARM_NEON_H
29
#define _GCC_ARM_NEON_H 1
30
 
31
#ifndef __ARM_NEON__
32
#error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
33
#else
34
 
35
#ifdef __cplusplus
36
extern "C" {
37
#endif
38
 
39
#include <stdint.h>
40
 
41
typedef __builtin_neon_qi int8x8_t      __attribute__ ((__vector_size__ (8)));
42
typedef __builtin_neon_hi int16x4_t     __attribute__ ((__vector_size__ (8)));
43
typedef __builtin_neon_si int32x2_t     __attribute__ ((__vector_size__ (8)));
44
typedef __builtin_neon_di int64x1_t;
45
typedef __builtin_neon_sf float32x2_t   __attribute__ ((__vector_size__ (8)));
46
typedef __builtin_neon_poly8 poly8x8_t  __attribute__ ((__vector_size__ (8)));
47
typedef __builtin_neon_poly16 poly16x4_t        __attribute__ ((__vector_size__ (8)));
48
typedef __builtin_neon_uqi uint8x8_t    __attribute__ ((__vector_size__ (8)));
49
typedef __builtin_neon_uhi uint16x4_t   __attribute__ ((__vector_size__ (8)));
50
typedef __builtin_neon_usi uint32x2_t   __attribute__ ((__vector_size__ (8)));
51
typedef __builtin_neon_udi uint64x1_t;
52
typedef __builtin_neon_qi int8x16_t     __attribute__ ((__vector_size__ (16)));
53
typedef __builtin_neon_hi int16x8_t     __attribute__ ((__vector_size__ (16)));
54
typedef __builtin_neon_si int32x4_t     __attribute__ ((__vector_size__ (16)));
55
typedef __builtin_neon_di int64x2_t     __attribute__ ((__vector_size__ (16)));
56
typedef __builtin_neon_sf float32x4_t   __attribute__ ((__vector_size__ (16)));
57
typedef __builtin_neon_poly8 poly8x16_t __attribute__ ((__vector_size__ (16)));
58
typedef __builtin_neon_poly16 poly16x8_t        __attribute__ ((__vector_size__ (16)));
59
typedef __builtin_neon_uqi uint8x16_t   __attribute__ ((__vector_size__ (16)));
60
typedef __builtin_neon_uhi uint16x8_t   __attribute__ ((__vector_size__ (16)));
61
typedef __builtin_neon_usi uint32x4_t   __attribute__ ((__vector_size__ (16)));
62
typedef __builtin_neon_udi uint64x2_t   __attribute__ ((__vector_size__ (16)));
63
 
64
typedef float float32_t;
65
typedef __builtin_neon_poly8 poly8_t;
66
typedef __builtin_neon_poly16 poly16_t;
67
 
68
typedef struct int8x8x2_t
69
{
70
  int8x8_t val[2];
71
} int8x8x2_t;
72
 
73
typedef struct int8x16x2_t
74
{
75
  int8x16_t val[2];
76
} int8x16x2_t;
77
 
78
typedef struct int16x4x2_t
79
{
80
  int16x4_t val[2];
81
} int16x4x2_t;
82
 
83
typedef struct int16x8x2_t
84
{
85
  int16x8_t val[2];
86
} int16x8x2_t;
87
 
88
typedef struct int32x2x2_t
89
{
90
  int32x2_t val[2];
91
} int32x2x2_t;
92
 
93
typedef struct int32x4x2_t
94
{
95
  int32x4_t val[2];
96
} int32x4x2_t;
97
 
98
typedef struct int64x1x2_t
99
{
100
  int64x1_t val[2];
101
} int64x1x2_t;
102
 
103
typedef struct int64x2x2_t
104
{
105
  int64x2_t val[2];
106
} int64x2x2_t;
107
 
108
typedef struct uint8x8x2_t
109
{
110
  uint8x8_t val[2];
111
} uint8x8x2_t;
112
 
113
typedef struct uint8x16x2_t
114
{
115
  uint8x16_t val[2];
116
} uint8x16x2_t;
117
 
118
typedef struct uint16x4x2_t
119
{
120
  uint16x4_t val[2];
121
} uint16x4x2_t;
122
 
123
typedef struct uint16x8x2_t
124
{
125
  uint16x8_t val[2];
126
} uint16x8x2_t;
127
 
128
typedef struct uint32x2x2_t
129
{
130
  uint32x2_t val[2];
131
} uint32x2x2_t;
132
 
133
typedef struct uint32x4x2_t
134
{
135
  uint32x4_t val[2];
136
} uint32x4x2_t;
137
 
138
typedef struct uint64x1x2_t
139
{
140
  uint64x1_t val[2];
141
} uint64x1x2_t;
142
 
143
typedef struct uint64x2x2_t
144
{
145
  uint64x2_t val[2];
146
} uint64x2x2_t;
147
 
148
typedef struct float32x2x2_t
149
{
150
  float32x2_t val[2];
151
} float32x2x2_t;
152
 
153
typedef struct float32x4x2_t
154
{
155
  float32x4_t val[2];
156
} float32x4x2_t;
157
 
158
typedef struct poly8x8x2_t
159
{
160
  poly8x8_t val[2];
161
} poly8x8x2_t;
162
 
163
typedef struct poly8x16x2_t
164
{
165
  poly8x16_t val[2];
166
} poly8x16x2_t;
167
 
168
typedef struct poly16x4x2_t
169
{
170
  poly16x4_t val[2];
171
} poly16x4x2_t;
172
 
173
typedef struct poly16x8x2_t
174
{
175
  poly16x8_t val[2];
176
} poly16x8x2_t;
177
 
178
typedef struct int8x8x3_t
179
{
180
  int8x8_t val[3];
181
} int8x8x3_t;
182
 
183
typedef struct int8x16x3_t
184
{
185
  int8x16_t val[3];
186
} int8x16x3_t;
187
 
188
typedef struct int16x4x3_t
189
{
190
  int16x4_t val[3];
191
} int16x4x3_t;
192
 
193
typedef struct int16x8x3_t
194
{
195
  int16x8_t val[3];
196
} int16x8x3_t;
197
 
198
typedef struct int32x2x3_t
199
{
200
  int32x2_t val[3];
201
} int32x2x3_t;
202
 
203
typedef struct int32x4x3_t
204
{
205
  int32x4_t val[3];
206
} int32x4x3_t;
207
 
208
typedef struct int64x1x3_t
209
{
210
  int64x1_t val[3];
211
} int64x1x3_t;
212
 
213
typedef struct int64x2x3_t
214
{
215
  int64x2_t val[3];
216
} int64x2x3_t;
217
 
218
typedef struct uint8x8x3_t
219
{
220
  uint8x8_t val[3];
221
} uint8x8x3_t;
222
 
223
typedef struct uint8x16x3_t
224
{
225
  uint8x16_t val[3];
226
} uint8x16x3_t;
227
 
228
typedef struct uint16x4x3_t
229
{
230
  uint16x4_t val[3];
231
} uint16x4x3_t;
232
 
233
typedef struct uint16x8x3_t
234
{
235
  uint16x8_t val[3];
236
} uint16x8x3_t;
237
 
238
typedef struct uint32x2x3_t
239
{
240
  uint32x2_t val[3];
241
} uint32x2x3_t;
242
 
243
typedef struct uint32x4x3_t
244
{
245
  uint32x4_t val[3];
246
} uint32x4x3_t;
247
 
248
typedef struct uint64x1x3_t
249
{
250
  uint64x1_t val[3];
251
} uint64x1x3_t;
252
 
253
typedef struct uint64x2x3_t
254
{
255
  uint64x2_t val[3];
256
} uint64x2x3_t;
257
 
258
typedef struct float32x2x3_t
259
{
260
  float32x2_t val[3];
261
} float32x2x3_t;
262
 
263
typedef struct float32x4x3_t
264
{
265
  float32x4_t val[3];
266
} float32x4x3_t;
267
 
268
typedef struct poly8x8x3_t
269
{
270
  poly8x8_t val[3];
271
} poly8x8x3_t;
272
 
273
typedef struct poly8x16x3_t
274
{
275
  poly8x16_t val[3];
276
} poly8x16x3_t;
277
 
278
typedef struct poly16x4x3_t
279
{
280
  poly16x4_t val[3];
281
} poly16x4x3_t;
282
 
283
typedef struct poly16x8x3_t
284
{
285
  poly16x8_t val[3];
286
} poly16x8x3_t;
287
 
288
typedef struct int8x8x4_t
289
{
290
  int8x8_t val[4];
291
} int8x8x4_t;
292
 
293
typedef struct int8x16x4_t
294
{
295
  int8x16_t val[4];
296
} int8x16x4_t;
297
 
298
typedef struct int16x4x4_t
299
{
300
  int16x4_t val[4];
301
} int16x4x4_t;
302
 
303
typedef struct int16x8x4_t
304
{
305
  int16x8_t val[4];
306
} int16x8x4_t;
307
 
308
typedef struct int32x2x4_t
309
{
310
  int32x2_t val[4];
311
} int32x2x4_t;
312
 
313
typedef struct int32x4x4_t
314
{
315
  int32x4_t val[4];
316
} int32x4x4_t;
317
 
318
typedef struct int64x1x4_t
319
{
320
  int64x1_t val[4];
321
} int64x1x4_t;
322
 
323
typedef struct int64x2x4_t
324
{
325
  int64x2_t val[4];
326
} int64x2x4_t;
327
 
328
typedef struct uint8x8x4_t
329
{
330
  uint8x8_t val[4];
331
} uint8x8x4_t;
332
 
333
typedef struct uint8x16x4_t
334
{
335
  uint8x16_t val[4];
336
} uint8x16x4_t;
337
 
338
typedef struct uint16x4x4_t
339
{
340
  uint16x4_t val[4];
341
} uint16x4x4_t;
342
 
343
typedef struct uint16x8x4_t
344
{
345
  uint16x8_t val[4];
346
} uint16x8x4_t;
347
 
348
typedef struct uint32x2x4_t
349
{
350
  uint32x2_t val[4];
351
} uint32x2x4_t;
352
 
353
typedef struct uint32x4x4_t
354
{
355
  uint32x4_t val[4];
356
} uint32x4x4_t;
357
 
358
typedef struct uint64x1x4_t
359
{
360
  uint64x1_t val[4];
361
} uint64x1x4_t;
362
 
363
typedef struct uint64x2x4_t
364
{
365
  uint64x2_t val[4];
366
} uint64x2x4_t;
367
 
368
typedef struct float32x2x4_t
369
{
370
  float32x2_t val[4];
371
} float32x2x4_t;
372
 
373
typedef struct float32x4x4_t
374
{
375
  float32x4_t val[4];
376
} float32x4x4_t;
377
 
378
typedef struct poly8x8x4_t
379
{
380
  poly8x8_t val[4];
381
} poly8x8x4_t;
382
 
383
typedef struct poly8x16x4_t
384
{
385
  poly8x16_t val[4];
386
} poly8x16x4_t;
387
 
388
typedef struct poly16x4x4_t
389
{
390
  poly16x4_t val[4];
391
} poly16x4x4_t;
392
 
393
typedef struct poly16x8x4_t
394
{
395
  poly16x8_t val[4];
396
} poly16x8x4_t;
397
 
398
 
399
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
400
vadd_s8 (int8x8_t __a, int8x8_t __b)
401
{
402
  return (int8x8_t)__builtin_neon_vaddv8qi (__a, __b, 1);
403
}
404
 
405
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
406
vadd_s16 (int16x4_t __a, int16x4_t __b)
407
{
408
  return (int16x4_t)__builtin_neon_vaddv4hi (__a, __b, 1);
409
}
410
 
411
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
412
vadd_s32 (int32x2_t __a, int32x2_t __b)
413
{
414
  return (int32x2_t)__builtin_neon_vaddv2si (__a, __b, 1);
415
}
416
 
417
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
418
vadd_f32 (float32x2_t __a, float32x2_t __b)
419
{
420
  return (float32x2_t)__builtin_neon_vaddv2sf (__a, __b, 3);
421
}
422
 
423
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
424
vadd_u8 (uint8x8_t __a, uint8x8_t __b)
425
{
426
  return (uint8x8_t)__builtin_neon_vaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
427
}
428
 
429
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
430
vadd_u16 (uint16x4_t __a, uint16x4_t __b)
431
{
432
  return (uint16x4_t)__builtin_neon_vaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
433
}
434
 
435
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
436
vadd_u32 (uint32x2_t __a, uint32x2_t __b)
437
{
438
  return (uint32x2_t)__builtin_neon_vaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
439
}
440
 
441
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
442
vadd_s64 (int64x1_t __a, int64x1_t __b)
443
{
444
  return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1);
445
}
446
 
447
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
448
vadd_u64 (uint64x1_t __a, uint64x1_t __b)
449
{
450
  return (uint64x1_t)__builtin_neon_vadddi ((int64x1_t) __a, (int64x1_t) __b, 0);
451
}
452
 
453
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
454
vaddq_s8 (int8x16_t __a, int8x16_t __b)
455
{
456
  return (int8x16_t)__builtin_neon_vaddv16qi (__a, __b, 1);
457
}
458
 
459
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
460
vaddq_s16 (int16x8_t __a, int16x8_t __b)
461
{
462
  return (int16x8_t)__builtin_neon_vaddv8hi (__a, __b, 1);
463
}
464
 
465
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
466
vaddq_s32 (int32x4_t __a, int32x4_t __b)
467
{
468
  return (int32x4_t)__builtin_neon_vaddv4si (__a, __b, 1);
469
}
470
 
471
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
472
vaddq_s64 (int64x2_t __a, int64x2_t __b)
473
{
474
  return (int64x2_t)__builtin_neon_vaddv2di (__a, __b, 1);
475
}
476
 
477
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
478
vaddq_f32 (float32x4_t __a, float32x4_t __b)
479
{
480
  return (float32x4_t)__builtin_neon_vaddv4sf (__a, __b, 3);
481
}
482
 
483
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
484
vaddq_u8 (uint8x16_t __a, uint8x16_t __b)
485
{
486
  return (uint8x16_t)__builtin_neon_vaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
487
}
488
 
489
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
490
vaddq_u16 (uint16x8_t __a, uint16x8_t __b)
491
{
492
  return (uint16x8_t)__builtin_neon_vaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
493
}
494
 
495
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
496
vaddq_u32 (uint32x4_t __a, uint32x4_t __b)
497
{
498
  return (uint32x4_t)__builtin_neon_vaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
499
}
500
 
501
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
502
vaddq_u64 (uint64x2_t __a, uint64x2_t __b)
503
{
504
  return (uint64x2_t)__builtin_neon_vaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
505
}
506
 
507
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
508
vaddl_s8 (int8x8_t __a, int8x8_t __b)
509
{
510
  return (int16x8_t)__builtin_neon_vaddlv8qi (__a, __b, 1);
511
}
512
 
513
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
514
vaddl_s16 (int16x4_t __a, int16x4_t __b)
515
{
516
  return (int32x4_t)__builtin_neon_vaddlv4hi (__a, __b, 1);
517
}
518
 
519
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
520
vaddl_s32 (int32x2_t __a, int32x2_t __b)
521
{
522
  return (int64x2_t)__builtin_neon_vaddlv2si (__a, __b, 1);
523
}
524
 
525
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
526
vaddl_u8 (uint8x8_t __a, uint8x8_t __b)
527
{
528
  return (uint16x8_t)__builtin_neon_vaddlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
529
}
530
 
531
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
532
vaddl_u16 (uint16x4_t __a, uint16x4_t __b)
533
{
534
  return (uint32x4_t)__builtin_neon_vaddlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
535
}
536
 
537
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
538
vaddl_u32 (uint32x2_t __a, uint32x2_t __b)
539
{
540
  return (uint64x2_t)__builtin_neon_vaddlv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
541
}
542
 
543
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
544
vaddw_s8 (int16x8_t __a, int8x8_t __b)
545
{
546
  return (int16x8_t)__builtin_neon_vaddwv8qi (__a, __b, 1);
547
}
548
 
549
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
550
vaddw_s16 (int32x4_t __a, int16x4_t __b)
551
{
552
  return (int32x4_t)__builtin_neon_vaddwv4hi (__a, __b, 1);
553
}
554
 
555
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
556
vaddw_s32 (int64x2_t __a, int32x2_t __b)
557
{
558
  return (int64x2_t)__builtin_neon_vaddwv2si (__a, __b, 1);
559
}
560
 
561
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
562
vaddw_u8 (uint16x8_t __a, uint8x8_t __b)
563
{
564
  return (uint16x8_t)__builtin_neon_vaddwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0);
565
}
566
 
567
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
568
vaddw_u16 (uint32x4_t __a, uint16x4_t __b)
569
{
570
  return (uint32x4_t)__builtin_neon_vaddwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0);
571
}
572
 
573
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
574
vaddw_u32 (uint64x2_t __a, uint32x2_t __b)
575
{
576
  return (uint64x2_t)__builtin_neon_vaddwv2si ((int64x2_t) __a, (int32x2_t) __b, 0);
577
}
578
 
579
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
580
vhadd_s8 (int8x8_t __a, int8x8_t __b)
581
{
582
  return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 1);
583
}
584
 
585
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
586
vhadd_s16 (int16x4_t __a, int16x4_t __b)
587
{
588
  return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 1);
589
}
590
 
591
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
592
vhadd_s32 (int32x2_t __a, int32x2_t __b)
593
{
594
  return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 1);
595
}
596
 
597
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
598
vhadd_u8 (uint8x8_t __a, uint8x8_t __b)
599
{
600
  return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
601
}
602
 
603
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
604
vhadd_u16 (uint16x4_t __a, uint16x4_t __b)
605
{
606
  return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
607
}
608
 
609
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
610
vhadd_u32 (uint32x2_t __a, uint32x2_t __b)
611
{
612
  return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
613
}
614
 
615
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
616
vhaddq_s8 (int8x16_t __a, int8x16_t __b)
617
{
618
  return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 1);
619
}
620
 
621
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
622
vhaddq_s16 (int16x8_t __a, int16x8_t __b)
623
{
624
  return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 1);
625
}
626
 
627
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
628
vhaddq_s32 (int32x4_t __a, int32x4_t __b)
629
{
630
  return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 1);
631
}
632
 
633
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
634
vhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
635
{
636
  return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
637
}
638
 
639
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
640
vhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
641
{
642
  return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
643
}
644
 
645
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
646
vhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
647
{
648
  return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
649
}
650
 
651
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
652
vrhadd_s8 (int8x8_t __a, int8x8_t __b)
653
{
654
  return (int8x8_t)__builtin_neon_vhaddv8qi (__a, __b, 5);
655
}
656
 
657
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
658
vrhadd_s16 (int16x4_t __a, int16x4_t __b)
659
{
660
  return (int16x4_t)__builtin_neon_vhaddv4hi (__a, __b, 5);
661
}
662
 
663
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
664
vrhadd_s32 (int32x2_t __a, int32x2_t __b)
665
{
666
  return (int32x2_t)__builtin_neon_vhaddv2si (__a, __b, 5);
667
}
668
 
669
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
670
vrhadd_u8 (uint8x8_t __a, uint8x8_t __b)
671
{
672
  return (uint8x8_t)__builtin_neon_vhaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 4);
673
}
674
 
675
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
676
vrhadd_u16 (uint16x4_t __a, uint16x4_t __b)
677
{
678
  return (uint16x4_t)__builtin_neon_vhaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 4);
679
}
680
 
681
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
682
vrhadd_u32 (uint32x2_t __a, uint32x2_t __b)
683
{
684
  return (uint32x2_t)__builtin_neon_vhaddv2si ((int32x2_t) __a, (int32x2_t) __b, 4);
685
}
686
 
687
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
688
vrhaddq_s8 (int8x16_t __a, int8x16_t __b)
689
{
690
  return (int8x16_t)__builtin_neon_vhaddv16qi (__a, __b, 5);
691
}
692
 
693
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
694
vrhaddq_s16 (int16x8_t __a, int16x8_t __b)
695
{
696
  return (int16x8_t)__builtin_neon_vhaddv8hi (__a, __b, 5);
697
}
698
 
699
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
700
vrhaddq_s32 (int32x4_t __a, int32x4_t __b)
701
{
702
  return (int32x4_t)__builtin_neon_vhaddv4si (__a, __b, 5);
703
}
704
 
705
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
706
vrhaddq_u8 (uint8x16_t __a, uint8x16_t __b)
707
{
708
  return (uint8x16_t)__builtin_neon_vhaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 4);
709
}
710
 
711
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
712
vrhaddq_u16 (uint16x8_t __a, uint16x8_t __b)
713
{
714
  return (uint16x8_t)__builtin_neon_vhaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
715
}
716
 
717
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
718
vrhaddq_u32 (uint32x4_t __a, uint32x4_t __b)
719
{
720
  return (uint32x4_t)__builtin_neon_vhaddv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
721
}
722
 
723
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
724
vqadd_s8 (int8x8_t __a, int8x8_t __b)
725
{
726
  return (int8x8_t)__builtin_neon_vqaddv8qi (__a, __b, 1);
727
}
728
 
729
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
730
vqadd_s16 (int16x4_t __a, int16x4_t __b)
731
{
732
  return (int16x4_t)__builtin_neon_vqaddv4hi (__a, __b, 1);
733
}
734
 
735
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
736
vqadd_s32 (int32x2_t __a, int32x2_t __b)
737
{
738
  return (int32x2_t)__builtin_neon_vqaddv2si (__a, __b, 1);
739
}
740
 
741
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
742
vqadd_s64 (int64x1_t __a, int64x1_t __b)
743
{
744
  return (int64x1_t)__builtin_neon_vqadddi (__a, __b, 1);
745
}
746
 
747
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
748
vqadd_u8 (uint8x8_t __a, uint8x8_t __b)
749
{
750
  return (uint8x8_t)__builtin_neon_vqaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
751
}
752
 
753
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
754
vqadd_u16 (uint16x4_t __a, uint16x4_t __b)
755
{
756
  return (uint16x4_t)__builtin_neon_vqaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
757
}
758
 
759
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
760
vqadd_u32 (uint32x2_t __a, uint32x2_t __b)
761
{
762
  return (uint32x2_t)__builtin_neon_vqaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
763
}
764
 
765
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
766
vqadd_u64 (uint64x1_t __a, uint64x1_t __b)
767
{
768
  return (uint64x1_t)__builtin_neon_vqadddi ((int64x1_t) __a, (int64x1_t) __b, 0);
769
}
770
 
771
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
772
vqaddq_s8 (int8x16_t __a, int8x16_t __b)
773
{
774
  return (int8x16_t)__builtin_neon_vqaddv16qi (__a, __b, 1);
775
}
776
 
777
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
778
vqaddq_s16 (int16x8_t __a, int16x8_t __b)
779
{
780
  return (int16x8_t)__builtin_neon_vqaddv8hi (__a, __b, 1);
781
}
782
 
783
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
784
vqaddq_s32 (int32x4_t __a, int32x4_t __b)
785
{
786
  return (int32x4_t)__builtin_neon_vqaddv4si (__a, __b, 1);
787
}
788
 
789
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
790
vqaddq_s64 (int64x2_t __a, int64x2_t __b)
791
{
792
  return (int64x2_t)__builtin_neon_vqaddv2di (__a, __b, 1);
793
}
794
 
795
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
796
vqaddq_u8 (uint8x16_t __a, uint8x16_t __b)
797
{
798
  return (uint8x16_t)__builtin_neon_vqaddv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
799
}
800
 
801
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
802
vqaddq_u16 (uint16x8_t __a, uint16x8_t __b)
803
{
804
  return (uint16x8_t)__builtin_neon_vqaddv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
805
}
806
 
807
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
808
vqaddq_u32 (uint32x4_t __a, uint32x4_t __b)
809
{
810
  return (uint32x4_t)__builtin_neon_vqaddv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
811
}
812
 
813
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
814
vqaddq_u64 (uint64x2_t __a, uint64x2_t __b)
815
{
816
  return (uint64x2_t)__builtin_neon_vqaddv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
817
}
818
 
819
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
820
vaddhn_s16 (int16x8_t __a, int16x8_t __b)
821
{
822
  return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 1);
823
}
824
 
825
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
826
vaddhn_s32 (int32x4_t __a, int32x4_t __b)
827
{
828
  return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 1);
829
}
830
 
831
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
832
vaddhn_s64 (int64x2_t __a, int64x2_t __b)
833
{
834
  return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 1);
835
}
836
 
837
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
838
vaddhn_u16 (uint16x8_t __a, uint16x8_t __b)
839
{
840
  return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
841
}
842
 
843
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
844
vaddhn_u32 (uint32x4_t __a, uint32x4_t __b)
845
{
846
  return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
847
}
848
 
849
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
850
vaddhn_u64 (uint64x2_t __a, uint64x2_t __b)
851
{
852
  return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
853
}
854
 
855
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
856
vraddhn_s16 (int16x8_t __a, int16x8_t __b)
857
{
858
  return (int8x8_t)__builtin_neon_vaddhnv8hi (__a, __b, 5);
859
}
860
 
861
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
862
vraddhn_s32 (int32x4_t __a, int32x4_t __b)
863
{
864
  return (int16x4_t)__builtin_neon_vaddhnv4si (__a, __b, 5);
865
}
866
 
867
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
868
vraddhn_s64 (int64x2_t __a, int64x2_t __b)
869
{
870
  return (int32x2_t)__builtin_neon_vaddhnv2di (__a, __b, 5);
871
}
872
 
873
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
874
vraddhn_u16 (uint16x8_t __a, uint16x8_t __b)
875
{
876
  return (uint8x8_t)__builtin_neon_vaddhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
877
}
878
 
879
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
880
vraddhn_u32 (uint32x4_t __a, uint32x4_t __b)
881
{
882
  return (uint16x4_t)__builtin_neon_vaddhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
883
}
884
 
885
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
886
vraddhn_u64 (uint64x2_t __a, uint64x2_t __b)
887
{
888
  return (uint32x2_t)__builtin_neon_vaddhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4);
889
}
890
 
891
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
892
vmul_s8 (int8x8_t __a, int8x8_t __b)
893
{
894
  return (int8x8_t)__builtin_neon_vmulv8qi (__a, __b, 1);
895
}
896
 
897
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
898
vmul_s16 (int16x4_t __a, int16x4_t __b)
899
{
900
  return (int16x4_t)__builtin_neon_vmulv4hi (__a, __b, 1);
901
}
902
 
903
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
904
vmul_s32 (int32x2_t __a, int32x2_t __b)
905
{
906
  return (int32x2_t)__builtin_neon_vmulv2si (__a, __b, 1);
907
}
908
 
909
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
910
vmul_f32 (float32x2_t __a, float32x2_t __b)
911
{
912
  return (float32x2_t)__builtin_neon_vmulv2sf (__a, __b, 3);
913
}
914
 
915
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
916
vmul_u8 (uint8x8_t __a, uint8x8_t __b)
917
{
918
  return (uint8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
919
}
920
 
921
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
922
vmul_u16 (uint16x4_t __a, uint16x4_t __b)
923
{
924
  return (uint16x4_t)__builtin_neon_vmulv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
925
}
926
 
927
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
928
vmul_u32 (uint32x2_t __a, uint32x2_t __b)
929
{
930
  return (uint32x2_t)__builtin_neon_vmulv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
931
}
932
 
933
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
934
vmul_p8 (poly8x8_t __a, poly8x8_t __b)
935
{
936
  return (poly8x8_t)__builtin_neon_vmulv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
937
}
938
 
939
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
940
vmulq_s8 (int8x16_t __a, int8x16_t __b)
941
{
942
  return (int8x16_t)__builtin_neon_vmulv16qi (__a, __b, 1);
943
}
944
 
945
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
946
vmulq_s16 (int16x8_t __a, int16x8_t __b)
947
{
948
  return (int16x8_t)__builtin_neon_vmulv8hi (__a, __b, 1);
949
}
950
 
951
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
952
vmulq_s32 (int32x4_t __a, int32x4_t __b)
953
{
954
  return (int32x4_t)__builtin_neon_vmulv4si (__a, __b, 1);
955
}
956
 
957
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
958
vmulq_f32 (float32x4_t __a, float32x4_t __b)
959
{
960
  return (float32x4_t)__builtin_neon_vmulv4sf (__a, __b, 3);
961
}
962
 
963
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
964
vmulq_u8 (uint8x16_t __a, uint8x16_t __b)
965
{
966
  return (uint8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
967
}
968
 
969
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
970
vmulq_u16 (uint16x8_t __a, uint16x8_t __b)
971
{
972
  return (uint16x8_t)__builtin_neon_vmulv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
973
}
974
 
975
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
976
vmulq_u32 (uint32x4_t __a, uint32x4_t __b)
977
{
978
  return (uint32x4_t)__builtin_neon_vmulv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
979
}
980
 
981
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
982
vmulq_p8 (poly8x16_t __a, poly8x16_t __b)
983
{
984
  return (poly8x16_t)__builtin_neon_vmulv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
985
}
986
 
987
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
988
vqdmulh_s16 (int16x4_t __a, int16x4_t __b)
989
{
990
  return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 1);
991
}
992
 
993
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
994
vqdmulh_s32 (int32x2_t __a, int32x2_t __b)
995
{
996
  return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 1);
997
}
998
 
999
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1000
vqdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1001
{
1002
  return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 1);
1003
}
1004
 
1005
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1006
vqdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1007
{
1008
  return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 1);
1009
}
1010
 
1011
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1012
vqrdmulh_s16 (int16x4_t __a, int16x4_t __b)
1013
{
1014
  return (int16x4_t)__builtin_neon_vqdmulhv4hi (__a, __b, 5);
1015
}
1016
 
1017
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1018
vqrdmulh_s32 (int32x2_t __a, int32x2_t __b)
1019
{
1020
  return (int32x2_t)__builtin_neon_vqdmulhv2si (__a, __b, 5);
1021
}
1022
 
1023
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1024
vqrdmulhq_s16 (int16x8_t __a, int16x8_t __b)
1025
{
1026
  return (int16x8_t)__builtin_neon_vqdmulhv8hi (__a, __b, 5);
1027
}
1028
 
1029
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1030
vqrdmulhq_s32 (int32x4_t __a, int32x4_t __b)
1031
{
1032
  return (int32x4_t)__builtin_neon_vqdmulhv4si (__a, __b, 5);
1033
}
1034
 
1035
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1036
vmull_s8 (int8x8_t __a, int8x8_t __b)
1037
{
1038
  return (int16x8_t)__builtin_neon_vmullv8qi (__a, __b, 1);
1039
}
1040
 
1041
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1042
vmull_s16 (int16x4_t __a, int16x4_t __b)
1043
{
1044
  return (int32x4_t)__builtin_neon_vmullv4hi (__a, __b, 1);
1045
}
1046
 
1047
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1048
vmull_s32 (int32x2_t __a, int32x2_t __b)
1049
{
1050
  return (int64x2_t)__builtin_neon_vmullv2si (__a, __b, 1);
1051
}
1052
 
1053
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1054
vmull_u8 (uint8x8_t __a, uint8x8_t __b)
1055
{
1056
  return (uint16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1057
}
1058
 
1059
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1060
vmull_u16 (uint16x4_t __a, uint16x4_t __b)
1061
{
1062
  return (uint32x4_t)__builtin_neon_vmullv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1063
}
1064
 
1065
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1066
vmull_u32 (uint32x2_t __a, uint32x2_t __b)
1067
{
1068
  return (uint64x2_t)__builtin_neon_vmullv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1069
}
1070
 
1071
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
1072
vmull_p8 (poly8x8_t __a, poly8x8_t __b)
1073
{
1074
  return (poly16x8_t)__builtin_neon_vmullv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
1075
}
1076
 
1077
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1078
vqdmull_s16 (int16x4_t __a, int16x4_t __b)
1079
{
1080
  return (int32x4_t)__builtin_neon_vqdmullv4hi (__a, __b, 1);
1081
}
1082
 
1083
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1084
vqdmull_s32 (int32x2_t __a, int32x2_t __b)
1085
{
1086
  return (int64x2_t)__builtin_neon_vqdmullv2si (__a, __b, 1);
1087
}
1088
 
1089
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1090
vmla_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1091
{
1092
  return (int8x8_t)__builtin_neon_vmlav8qi (__a, __b, __c, 1);
1093
}
1094
 
1095
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1096
vmla_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1097
{
1098
  return (int16x4_t)__builtin_neon_vmlav4hi (__a, __b, __c, 1);
1099
}
1100
 
1101
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1102
vmla_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1103
{
1104
  return (int32x2_t)__builtin_neon_vmlav2si (__a, __b, __c, 1);
1105
}
1106
 
1107
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1108
vmla_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1109
{
1110
  return (float32x2_t)__builtin_neon_vmlav2sf (__a, __b, __c, 3);
1111
}
1112
 
1113
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1114
vmla_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1115
{
1116
  return (uint8x8_t)__builtin_neon_vmlav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1117
}
1118
 
1119
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1120
vmla_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1121
{
1122
  return (uint16x4_t)__builtin_neon_vmlav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1123
}
1124
 
1125
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1126
vmla_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1127
{
1128
  return (uint32x2_t)__builtin_neon_vmlav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1129
}
1130
 
1131
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1132
vmlaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1133
{
1134
  return (int8x16_t)__builtin_neon_vmlav16qi (__a, __b, __c, 1);
1135
}
1136
 
1137
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1138
vmlaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1139
{
1140
  return (int16x8_t)__builtin_neon_vmlav8hi (__a, __b, __c, 1);
1141
}
1142
 
1143
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1144
vmlaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1145
{
1146
  return (int32x4_t)__builtin_neon_vmlav4si (__a, __b, __c, 1);
1147
}
1148
 
1149
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1150
vmlaq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1151
{
1152
  return (float32x4_t)__builtin_neon_vmlav4sf (__a, __b, __c, 3);
1153
}
1154
 
1155
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1156
vmlaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1157
{
1158
  return (uint8x16_t)__builtin_neon_vmlav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
1159
}
1160
 
1161
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1162
vmlaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1163
{
1164
  return (uint16x8_t)__builtin_neon_vmlav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
1165
}
1166
 
1167
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1168
vmlaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1169
{
1170
  return (uint32x4_t)__builtin_neon_vmlav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
1171
}
1172
 
1173
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1174
vmlal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1175
{
1176
  return (int16x8_t)__builtin_neon_vmlalv8qi (__a, __b, __c, 1);
1177
}
1178
 
1179
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1180
vmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1181
{
1182
  return (int32x4_t)__builtin_neon_vmlalv4hi (__a, __b, __c, 1);
1183
}
1184
 
1185
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1186
vmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1187
{
1188
  return (int64x2_t)__builtin_neon_vmlalv2si (__a, __b, __c, 1);
1189
}
1190
 
1191
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1192
vmlal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1193
{
1194
  return (uint16x8_t)__builtin_neon_vmlalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1195
}
1196
 
1197
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1198
vmlal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1199
{
1200
  return (uint32x4_t)__builtin_neon_vmlalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1201
}
1202
 
1203
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1204
vmlal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1205
{
1206
  return (uint64x2_t)__builtin_neon_vmlalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1207
}
1208
 
1209
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1210
vqdmlal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1211
{
1212
  return (int32x4_t)__builtin_neon_vqdmlalv4hi (__a, __b, __c, 1);
1213
}
1214
 
1215
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1216
vqdmlal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1217
{
1218
  return (int64x2_t)__builtin_neon_vqdmlalv2si (__a, __b, __c, 1);
1219
}
1220
 
1221
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1222
vmls_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
1223
{
1224
  return (int8x8_t)__builtin_neon_vmlsv8qi (__a, __b, __c, 1);
1225
}
1226
 
1227
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1228
vmls_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
1229
{
1230
  return (int16x4_t)__builtin_neon_vmlsv4hi (__a, __b, __c, 1);
1231
}
1232
 
1233
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1234
vmls_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
1235
{
1236
  return (int32x2_t)__builtin_neon_vmlsv2si (__a, __b, __c, 1);
1237
}
1238
 
1239
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1240
vmls_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c)
1241
{
1242
  return (float32x2_t)__builtin_neon_vmlsv2sf (__a, __b, __c, 3);
1243
}
1244
 
1245
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1246
vmls_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
1247
{
1248
  return (uint8x8_t)__builtin_neon_vmlsv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1249
}
1250
 
1251
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1252
vmls_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
1253
{
1254
  return (uint16x4_t)__builtin_neon_vmlsv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1255
}
1256
 
1257
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1258
vmls_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
1259
{
1260
  return (uint32x2_t)__builtin_neon_vmlsv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1261
}
1262
 
1263
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1264
vmlsq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
1265
{
1266
  return (int8x16_t)__builtin_neon_vmlsv16qi (__a, __b, __c, 1);
1267
}
1268
 
1269
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1270
vmlsq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
1271
{
1272
  return (int16x8_t)__builtin_neon_vmlsv8hi (__a, __b, __c, 1);
1273
}
1274
 
1275
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1276
vmlsq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
1277
{
1278
  return (int32x4_t)__builtin_neon_vmlsv4si (__a, __b, __c, 1);
1279
}
1280
 
1281
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1282
vmlsq_f32 (float32x4_t __a, float32x4_t __b, float32x4_t __c)
1283
{
1284
  return (float32x4_t)__builtin_neon_vmlsv4sf (__a, __b, __c, 3);
1285
}
1286
 
1287
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1288
vmlsq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
1289
{
1290
  return (uint8x16_t)__builtin_neon_vmlsv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
1291
}
1292
 
1293
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1294
vmlsq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
1295
{
1296
  return (uint16x8_t)__builtin_neon_vmlsv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
1297
}
1298
 
1299
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1300
vmlsq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
1301
{
1302
  return (uint32x4_t)__builtin_neon_vmlsv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
1303
}
1304
 
1305
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1306
vmlsl_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
1307
{
1308
  return (int16x8_t)__builtin_neon_vmlslv8qi (__a, __b, __c, 1);
1309
}
1310
 
1311
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1312
vmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1313
{
1314
  return (int32x4_t)__builtin_neon_vmlslv4hi (__a, __b, __c, 1);
1315
}
1316
 
1317
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1318
vmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1319
{
1320
  return (int64x2_t)__builtin_neon_vmlslv2si (__a, __b, __c, 1);
1321
}
1322
 
1323
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1324
vmlsl_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
1325
{
1326
  return (uint16x8_t)__builtin_neon_vmlslv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
1327
}
1328
 
1329
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1330
vmlsl_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
1331
{
1332
  return (uint32x4_t)__builtin_neon_vmlslv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
1333
}
1334
 
1335
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1336
vmlsl_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
1337
{
1338
  return (uint64x2_t)__builtin_neon_vmlslv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
1339
}
1340
 
1341
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1342
vqdmlsl_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
1343
{
1344
  return (int32x4_t)__builtin_neon_vqdmlslv4hi (__a, __b, __c, 1);
1345
}
1346
 
1347
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1348
vqdmlsl_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
1349
{
1350
  return (int64x2_t)__builtin_neon_vqdmlslv2si (__a, __b, __c, 1);
1351
}
1352
 
1353
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1354
vsub_s8 (int8x8_t __a, int8x8_t __b)
1355
{
1356
  return (int8x8_t)__builtin_neon_vsubv8qi (__a, __b, 1);
1357
}
1358
 
1359
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1360
vsub_s16 (int16x4_t __a, int16x4_t __b)
1361
{
1362
  return (int16x4_t)__builtin_neon_vsubv4hi (__a, __b, 1);
1363
}
1364
 
1365
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1366
vsub_s32 (int32x2_t __a, int32x2_t __b)
1367
{
1368
  return (int32x2_t)__builtin_neon_vsubv2si (__a, __b, 1);
1369
}
1370
 
1371
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
1372
vsub_f32 (float32x2_t __a, float32x2_t __b)
1373
{
1374
  return (float32x2_t)__builtin_neon_vsubv2sf (__a, __b, 3);
1375
}
1376
 
1377
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1378
vsub_u8 (uint8x8_t __a, uint8x8_t __b)
1379
{
1380
  return (uint8x8_t)__builtin_neon_vsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1381
}
1382
 
1383
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1384
vsub_u16 (uint16x4_t __a, uint16x4_t __b)
1385
{
1386
  return (uint16x4_t)__builtin_neon_vsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1387
}
1388
 
1389
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1390
vsub_u32 (uint32x2_t __a, uint32x2_t __b)
1391
{
1392
  return (uint32x2_t)__builtin_neon_vsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1393
}
1394
 
1395
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
1396
vsub_s64 (int64x1_t __a, int64x1_t __b)
1397
{
1398
  return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1);
1399
}
1400
 
1401
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
1402
vsub_u64 (uint64x1_t __a, uint64x1_t __b)
1403
{
1404
  return (uint64x1_t)__builtin_neon_vsubdi ((int64x1_t) __a, (int64x1_t) __b, 0);
1405
}
1406
 
1407
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1408
vsubq_s8 (int8x16_t __a, int8x16_t __b)
1409
{
1410
  return (int8x16_t)__builtin_neon_vsubv16qi (__a, __b, 1);
1411
}
1412
 
1413
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1414
vsubq_s16 (int16x8_t __a, int16x8_t __b)
1415
{
1416
  return (int16x8_t)__builtin_neon_vsubv8hi (__a, __b, 1);
1417
}
1418
 
1419
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1420
vsubq_s32 (int32x4_t __a, int32x4_t __b)
1421
{
1422
  return (int32x4_t)__builtin_neon_vsubv4si (__a, __b, 1);
1423
}
1424
 
1425
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1426
vsubq_s64 (int64x2_t __a, int64x2_t __b)
1427
{
1428
  return (int64x2_t)__builtin_neon_vsubv2di (__a, __b, 1);
1429
}
1430
 
1431
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
1432
vsubq_f32 (float32x4_t __a, float32x4_t __b)
1433
{
1434
  return (float32x4_t)__builtin_neon_vsubv4sf (__a, __b, 3);
1435
}
1436
 
1437
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1438
vsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1439
{
1440
  return (uint8x16_t)__builtin_neon_vsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1441
}
1442
 
1443
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1444
vsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1445
{
1446
  return (uint16x8_t)__builtin_neon_vsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1447
}
1448
 
1449
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1450
vsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1451
{
1452
  return (uint32x4_t)__builtin_neon_vsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1453
}
1454
 
1455
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1456
vsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1457
{
1458
  return (uint64x2_t)__builtin_neon_vsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1459
}
1460
 
1461
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1462
vsubl_s8 (int8x8_t __a, int8x8_t __b)
1463
{
1464
  return (int16x8_t)__builtin_neon_vsublv8qi (__a, __b, 1);
1465
}
1466
 
1467
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1468
vsubl_s16 (int16x4_t __a, int16x4_t __b)
1469
{
1470
  return (int32x4_t)__builtin_neon_vsublv4hi (__a, __b, 1);
1471
}
1472
 
1473
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1474
vsubl_s32 (int32x2_t __a, int32x2_t __b)
1475
{
1476
  return (int64x2_t)__builtin_neon_vsublv2si (__a, __b, 1);
1477
}
1478
 
1479
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1480
vsubl_u8 (uint8x8_t __a, uint8x8_t __b)
1481
{
1482
  return (uint16x8_t)__builtin_neon_vsublv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1483
}
1484
 
1485
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1486
vsubl_u16 (uint16x4_t __a, uint16x4_t __b)
1487
{
1488
  return (uint32x4_t)__builtin_neon_vsublv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1489
}
1490
 
1491
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1492
vsubl_u32 (uint32x2_t __a, uint32x2_t __b)
1493
{
1494
  return (uint64x2_t)__builtin_neon_vsublv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1495
}
1496
 
1497
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1498
vsubw_s8 (int16x8_t __a, int8x8_t __b)
1499
{
1500
  return (int16x8_t)__builtin_neon_vsubwv8qi (__a, __b, 1);
1501
}
1502
 
1503
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1504
vsubw_s16 (int32x4_t __a, int16x4_t __b)
1505
{
1506
  return (int32x4_t)__builtin_neon_vsubwv4hi (__a, __b, 1);
1507
}
1508
 
1509
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1510
vsubw_s32 (int64x2_t __a, int32x2_t __b)
1511
{
1512
  return (int64x2_t)__builtin_neon_vsubwv2si (__a, __b, 1);
1513
}
1514
 
1515
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1516
vsubw_u8 (uint16x8_t __a, uint8x8_t __b)
1517
{
1518
  return (uint16x8_t)__builtin_neon_vsubwv8qi ((int16x8_t) __a, (int8x8_t) __b, 0);
1519
}
1520
 
1521
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1522
vsubw_u16 (uint32x4_t __a, uint16x4_t __b)
1523
{
1524
  return (uint32x4_t)__builtin_neon_vsubwv4hi ((int32x4_t) __a, (int16x4_t) __b, 0);
1525
}
1526
 
1527
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1528
vsubw_u32 (uint64x2_t __a, uint32x2_t __b)
1529
{
1530
  return (uint64x2_t)__builtin_neon_vsubwv2si ((int64x2_t) __a, (int32x2_t) __b, 0);
1531
}
1532
 
1533
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1534
vhsub_s8 (int8x8_t __a, int8x8_t __b)
1535
{
1536
  return (int8x8_t)__builtin_neon_vhsubv8qi (__a, __b, 1);
1537
}
1538
 
1539
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1540
vhsub_s16 (int16x4_t __a, int16x4_t __b)
1541
{
1542
  return (int16x4_t)__builtin_neon_vhsubv4hi (__a, __b, 1);
1543
}
1544
 
1545
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1546
vhsub_s32 (int32x2_t __a, int32x2_t __b)
1547
{
1548
  return (int32x2_t)__builtin_neon_vhsubv2si (__a, __b, 1);
1549
}
1550
 
1551
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1552
vhsub_u8 (uint8x8_t __a, uint8x8_t __b)
1553
{
1554
  return (uint8x8_t)__builtin_neon_vhsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1555
}
1556
 
1557
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1558
vhsub_u16 (uint16x4_t __a, uint16x4_t __b)
1559
{
1560
  return (uint16x4_t)__builtin_neon_vhsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1561
}
1562
 
1563
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1564
vhsub_u32 (uint32x2_t __a, uint32x2_t __b)
1565
{
1566
  return (uint32x2_t)__builtin_neon_vhsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1567
}
1568
 
1569
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1570
vhsubq_s8 (int8x16_t __a, int8x16_t __b)
1571
{
1572
  return (int8x16_t)__builtin_neon_vhsubv16qi (__a, __b, 1);
1573
}
1574
 
1575
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1576
vhsubq_s16 (int16x8_t __a, int16x8_t __b)
1577
{
1578
  return (int16x8_t)__builtin_neon_vhsubv8hi (__a, __b, 1);
1579
}
1580
 
1581
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1582
vhsubq_s32 (int32x4_t __a, int32x4_t __b)
1583
{
1584
  return (int32x4_t)__builtin_neon_vhsubv4si (__a, __b, 1);
1585
}
1586
 
1587
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1588
vhsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1589
{
1590
  return (uint8x16_t)__builtin_neon_vhsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1591
}
1592
 
1593
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1594
vhsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1595
{
1596
  return (uint16x8_t)__builtin_neon_vhsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1597
}
1598
 
1599
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1600
vhsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1601
{
1602
  return (uint32x4_t)__builtin_neon_vhsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1603
}
1604
 
1605
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1606
vqsub_s8 (int8x8_t __a, int8x8_t __b)
1607
{
1608
  return (int8x8_t)__builtin_neon_vqsubv8qi (__a, __b, 1);
1609
}
1610
 
1611
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1612
vqsub_s16 (int16x4_t __a, int16x4_t __b)
1613
{
1614
  return (int16x4_t)__builtin_neon_vqsubv4hi (__a, __b, 1);
1615
}
1616
 
1617
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1618
vqsub_s32 (int32x2_t __a, int32x2_t __b)
1619
{
1620
  return (int32x2_t)__builtin_neon_vqsubv2si (__a, __b, 1);
1621
}
1622
 
1623
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
1624
vqsub_s64 (int64x1_t __a, int64x1_t __b)
1625
{
1626
  return (int64x1_t)__builtin_neon_vqsubdi (__a, __b, 1);
1627
}
1628
 
1629
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1630
vqsub_u8 (uint8x8_t __a, uint8x8_t __b)
1631
{
1632
  return (uint8x8_t)__builtin_neon_vqsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1633
}
1634
 
1635
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1636
vqsub_u16 (uint16x4_t __a, uint16x4_t __b)
1637
{
1638
  return (uint16x4_t)__builtin_neon_vqsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1639
}
1640
 
1641
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1642
vqsub_u32 (uint32x2_t __a, uint32x2_t __b)
1643
{
1644
  return (uint32x2_t)__builtin_neon_vqsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1645
}
1646
 
1647
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
1648
vqsub_u64 (uint64x1_t __a, uint64x1_t __b)
1649
{
1650
  return (uint64x1_t)__builtin_neon_vqsubdi ((int64x1_t) __a, (int64x1_t) __b, 0);
1651
}
1652
 
1653
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
1654
vqsubq_s8 (int8x16_t __a, int8x16_t __b)
1655
{
1656
  return (int8x16_t)__builtin_neon_vqsubv16qi (__a, __b, 1);
1657
}
1658
 
1659
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
1660
vqsubq_s16 (int16x8_t __a, int16x8_t __b)
1661
{
1662
  return (int16x8_t)__builtin_neon_vqsubv8hi (__a, __b, 1);
1663
}
1664
 
1665
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
1666
vqsubq_s32 (int32x4_t __a, int32x4_t __b)
1667
{
1668
  return (int32x4_t)__builtin_neon_vqsubv4si (__a, __b, 1);
1669
}
1670
 
1671
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
1672
vqsubq_s64 (int64x2_t __a, int64x2_t __b)
1673
{
1674
  return (int64x2_t)__builtin_neon_vqsubv2di (__a, __b, 1);
1675
}
1676
 
1677
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1678
vqsubq_u8 (uint8x16_t __a, uint8x16_t __b)
1679
{
1680
  return (uint8x16_t)__builtin_neon_vqsubv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1681
}
1682
 
1683
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1684
vqsubq_u16 (uint16x8_t __a, uint16x8_t __b)
1685
{
1686
  return (uint16x8_t)__builtin_neon_vqsubv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1687
}
1688
 
1689
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1690
vqsubq_u32 (uint32x4_t __a, uint32x4_t __b)
1691
{
1692
  return (uint32x4_t)__builtin_neon_vqsubv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1693
}
1694
 
1695
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
1696
vqsubq_u64 (uint64x2_t __a, uint64x2_t __b)
1697
{
1698
  return (uint64x2_t)__builtin_neon_vqsubv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1699
}
1700
 
1701
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1702
vsubhn_s16 (int16x8_t __a, int16x8_t __b)
1703
{
1704
  return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 1);
1705
}
1706
 
1707
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1708
vsubhn_s32 (int32x4_t __a, int32x4_t __b)
1709
{
1710
  return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 1);
1711
}
1712
 
1713
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1714
vsubhn_s64 (int64x2_t __a, int64x2_t __b)
1715
{
1716
  return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 1);
1717
}
1718
 
1719
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1720
vsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
1721
{
1722
  return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1723
}
1724
 
1725
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1726
vsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
1727
{
1728
  return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1729
}
1730
 
1731
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1732
vsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
1733
{
1734
  return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
1735
}
1736
 
1737
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
1738
vrsubhn_s16 (int16x8_t __a, int16x8_t __b)
1739
{
1740
  return (int8x8_t)__builtin_neon_vsubhnv8hi (__a, __b, 5);
1741
}
1742
 
1743
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
1744
vrsubhn_s32 (int32x4_t __a, int32x4_t __b)
1745
{
1746
  return (int16x4_t)__builtin_neon_vsubhnv4si (__a, __b, 5);
1747
}
1748
 
1749
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
1750
vrsubhn_s64 (int64x2_t __a, int64x2_t __b)
1751
{
1752
  return (int32x2_t)__builtin_neon_vsubhnv2di (__a, __b, 5);
1753
}
1754
 
1755
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1756
vrsubhn_u16 (uint16x8_t __a, uint16x8_t __b)
1757
{
1758
  return (uint8x8_t)__builtin_neon_vsubhnv8hi ((int16x8_t) __a, (int16x8_t) __b, 4);
1759
}
1760
 
1761
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1762
vrsubhn_u32 (uint32x4_t __a, uint32x4_t __b)
1763
{
1764
  return (uint16x4_t)__builtin_neon_vsubhnv4si ((int32x4_t) __a, (int32x4_t) __b, 4);
1765
}
1766
 
1767
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1768
vrsubhn_u64 (uint64x2_t __a, uint64x2_t __b)
1769
{
1770
  return (uint32x2_t)__builtin_neon_vsubhnv2di ((int64x2_t) __a, (int64x2_t) __b, 4);
1771
}
1772
 
1773
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1774
vceq_s8 (int8x8_t __a, int8x8_t __b)
1775
{
1776
  return (uint8x8_t)__builtin_neon_vceqv8qi (__a, __b, 1);
1777
}
1778
 
1779
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1780
vceq_s16 (int16x4_t __a, int16x4_t __b)
1781
{
1782
  return (uint16x4_t)__builtin_neon_vceqv4hi (__a, __b, 1);
1783
}
1784
 
1785
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1786
vceq_s32 (int32x2_t __a, int32x2_t __b)
1787
{
1788
  return (uint32x2_t)__builtin_neon_vceqv2si (__a, __b, 1);
1789
}
1790
 
1791
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1792
vceq_f32 (float32x2_t __a, float32x2_t __b)
1793
{
1794
  return (uint32x2_t)__builtin_neon_vceqv2sf (__a, __b, 3);
1795
}
1796
 
1797
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1798
vceq_u8 (uint8x8_t __a, uint8x8_t __b)
1799
{
1800
  return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1801
}
1802
 
1803
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1804
vceq_u16 (uint16x4_t __a, uint16x4_t __b)
1805
{
1806
  return (uint16x4_t)__builtin_neon_vceqv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1807
}
1808
 
1809
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1810
vceq_u32 (uint32x2_t __a, uint32x2_t __b)
1811
{
1812
  return (uint32x2_t)__builtin_neon_vceqv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1813
}
1814
 
1815
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1816
vceq_p8 (poly8x8_t __a, poly8x8_t __b)
1817
{
1818
  return (uint8x8_t)__builtin_neon_vceqv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
1819
}
1820
 
1821
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1822
vceqq_s8 (int8x16_t __a, int8x16_t __b)
1823
{
1824
  return (uint8x16_t)__builtin_neon_vceqv16qi (__a, __b, 1);
1825
}
1826
 
1827
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1828
vceqq_s16 (int16x8_t __a, int16x8_t __b)
1829
{
1830
  return (uint16x8_t)__builtin_neon_vceqv8hi (__a, __b, 1);
1831
}
1832
 
1833
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1834
vceqq_s32 (int32x4_t __a, int32x4_t __b)
1835
{
1836
  return (uint32x4_t)__builtin_neon_vceqv4si (__a, __b, 1);
1837
}
1838
 
1839
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1840
vceqq_f32 (float32x4_t __a, float32x4_t __b)
1841
{
1842
  return (uint32x4_t)__builtin_neon_vceqv4sf (__a, __b, 3);
1843
}
1844
 
1845
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1846
vceqq_u8 (uint8x16_t __a, uint8x16_t __b)
1847
{
1848
  return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1849
}
1850
 
1851
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1852
vceqq_u16 (uint16x8_t __a, uint16x8_t __b)
1853
{
1854
  return (uint16x8_t)__builtin_neon_vceqv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1855
}
1856
 
1857
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1858
vceqq_u32 (uint32x4_t __a, uint32x4_t __b)
1859
{
1860
  return (uint32x4_t)__builtin_neon_vceqv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1861
}
1862
 
1863
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1864
vceqq_p8 (poly8x16_t __a, poly8x16_t __b)
1865
{
1866
  return (uint8x16_t)__builtin_neon_vceqv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
1867
}
1868
 
1869
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1870
vcge_s8 (int8x8_t __a, int8x8_t __b)
1871
{
1872
  return (uint8x8_t)__builtin_neon_vcgev8qi (__a, __b, 1);
1873
}
1874
 
1875
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1876
vcge_s16 (int16x4_t __a, int16x4_t __b)
1877
{
1878
  return (uint16x4_t)__builtin_neon_vcgev4hi (__a, __b, 1);
1879
}
1880
 
1881
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1882
vcge_s32 (int32x2_t __a, int32x2_t __b)
1883
{
1884
  return (uint32x2_t)__builtin_neon_vcgev2si (__a, __b, 1);
1885
}
1886
 
1887
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1888
vcge_f32 (float32x2_t __a, float32x2_t __b)
1889
{
1890
  return (uint32x2_t)__builtin_neon_vcgev2sf (__a, __b, 3);
1891
}
1892
 
1893
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1894
vcge_u8 (uint8x8_t __a, uint8x8_t __b)
1895
{
1896
  return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
1897
}
1898
 
1899
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1900
vcge_u16 (uint16x4_t __a, uint16x4_t __b)
1901
{
1902
  return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
1903
}
1904
 
1905
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1906
vcge_u32 (uint32x2_t __a, uint32x2_t __b)
1907
{
1908
  return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
1909
}
1910
 
1911
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1912
vcgeq_s8 (int8x16_t __a, int8x16_t __b)
1913
{
1914
  return (uint8x16_t)__builtin_neon_vcgev16qi (__a, __b, 1);
1915
}
1916
 
1917
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1918
vcgeq_s16 (int16x8_t __a, int16x8_t __b)
1919
{
1920
  return (uint16x8_t)__builtin_neon_vcgev8hi (__a, __b, 1);
1921
}
1922
 
1923
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1924
vcgeq_s32 (int32x4_t __a, int32x4_t __b)
1925
{
1926
  return (uint32x4_t)__builtin_neon_vcgev4si (__a, __b, 1);
1927
}
1928
 
1929
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1930
vcgeq_f32 (float32x4_t __a, float32x4_t __b)
1931
{
1932
  return (uint32x4_t)__builtin_neon_vcgev4sf (__a, __b, 3);
1933
}
1934
 
1935
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1936
vcgeq_u8 (uint8x16_t __a, uint8x16_t __b)
1937
{
1938
  return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
1939
}
1940
 
1941
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
1942
vcgeq_u16 (uint16x8_t __a, uint16x8_t __b)
1943
{
1944
  return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
1945
}
1946
 
1947
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
1948
vcgeq_u32 (uint32x4_t __a, uint32x4_t __b)
1949
{
1950
  return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
1951
}
1952
 
1953
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1954
vcle_s8 (int8x8_t __a, int8x8_t __b)
1955
{
1956
  return (uint8x8_t)__builtin_neon_vcgev8qi (__b, __a, 1);
1957
}
1958
 
1959
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1960
vcle_s16 (int16x4_t __a, int16x4_t __b)
1961
{
1962
  return (uint16x4_t)__builtin_neon_vcgev4hi (__b, __a, 1);
1963
}
1964
 
1965
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1966
vcle_s32 (int32x2_t __a, int32x2_t __b)
1967
{
1968
  return (uint32x2_t)__builtin_neon_vcgev2si (__b, __a, 1);
1969
}
1970
 
1971
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1972
vcle_f32 (float32x2_t __a, float32x2_t __b)
1973
{
1974
  return (uint32x2_t)__builtin_neon_vcgev2sf (__b, __a, 3);
1975
}
1976
 
1977
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
1978
vcle_u8 (uint8x8_t __a, uint8x8_t __b)
1979
{
1980
  return (uint8x8_t)__builtin_neon_vcgeuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0);
1981
}
1982
 
1983
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
1984
vcle_u16 (uint16x4_t __a, uint16x4_t __b)
1985
{
1986
  return (uint16x4_t)__builtin_neon_vcgeuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0);
1987
}
1988
 
1989
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
1990
vcle_u32 (uint32x2_t __a, uint32x2_t __b)
1991
{
1992
  return (uint32x2_t)__builtin_neon_vcgeuv2si ((int32x2_t) __b, (int32x2_t) __a, 0);
1993
}
1994
 
1995
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
1996
vcleq_s8 (int8x16_t __a, int8x16_t __b)
1997
{
1998
  return (uint8x16_t)__builtin_neon_vcgev16qi (__b, __a, 1);
1999
}
2000
 
2001
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2002
vcleq_s16 (int16x8_t __a, int16x8_t __b)
2003
{
2004
  return (uint16x8_t)__builtin_neon_vcgev8hi (__b, __a, 1);
2005
}
2006
 
2007
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2008
vcleq_s32 (int32x4_t __a, int32x4_t __b)
2009
{
2010
  return (uint32x4_t)__builtin_neon_vcgev4si (__b, __a, 1);
2011
}
2012
 
2013
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2014
vcleq_f32 (float32x4_t __a, float32x4_t __b)
2015
{
2016
  return (uint32x4_t)__builtin_neon_vcgev4sf (__b, __a, 3);
2017
}
2018
 
2019
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2020
vcleq_u8 (uint8x16_t __a, uint8x16_t __b)
2021
{
2022
  return (uint8x16_t)__builtin_neon_vcgeuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0);
2023
}
2024
 
2025
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2026
vcleq_u16 (uint16x8_t __a, uint16x8_t __b)
2027
{
2028
  return (uint16x8_t)__builtin_neon_vcgeuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0);
2029
}
2030
 
2031
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2032
vcleq_u32 (uint32x4_t __a, uint32x4_t __b)
2033
{
2034
  return (uint32x4_t)__builtin_neon_vcgeuv4si ((int32x4_t) __b, (int32x4_t) __a, 0);
2035
}
2036
 
2037
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2038
vcgt_s8 (int8x8_t __a, int8x8_t __b)
2039
{
2040
  return (uint8x8_t)__builtin_neon_vcgtv8qi (__a, __b, 1);
2041
}
2042
 
2043
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2044
vcgt_s16 (int16x4_t __a, int16x4_t __b)
2045
{
2046
  return (uint16x4_t)__builtin_neon_vcgtv4hi (__a, __b, 1);
2047
}
2048
 
2049
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2050
vcgt_s32 (int32x2_t __a, int32x2_t __b)
2051
{
2052
  return (uint32x2_t)__builtin_neon_vcgtv2si (__a, __b, 1);
2053
}
2054
 
2055
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2056
vcgt_f32 (float32x2_t __a, float32x2_t __b)
2057
{
2058
  return (uint32x2_t)__builtin_neon_vcgtv2sf (__a, __b, 3);
2059
}
2060
 
2061
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2062
vcgt_u8 (uint8x8_t __a, uint8x8_t __b)
2063
{
2064
  return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2065
}
2066
 
2067
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2068
vcgt_u16 (uint16x4_t __a, uint16x4_t __b)
2069
{
2070
  return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2071
}
2072
 
2073
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2074
vcgt_u32 (uint32x2_t __a, uint32x2_t __b)
2075
{
2076
  return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2077
}
2078
 
2079
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2080
vcgtq_s8 (int8x16_t __a, int8x16_t __b)
2081
{
2082
  return (uint8x16_t)__builtin_neon_vcgtv16qi (__a, __b, 1);
2083
}
2084
 
2085
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2086
vcgtq_s16 (int16x8_t __a, int16x8_t __b)
2087
{
2088
  return (uint16x8_t)__builtin_neon_vcgtv8hi (__a, __b, 1);
2089
}
2090
 
2091
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2092
vcgtq_s32 (int32x4_t __a, int32x4_t __b)
2093
{
2094
  return (uint32x4_t)__builtin_neon_vcgtv4si (__a, __b, 1);
2095
}
2096
 
2097
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2098
vcgtq_f32 (float32x4_t __a, float32x4_t __b)
2099
{
2100
  return (uint32x4_t)__builtin_neon_vcgtv4sf (__a, __b, 3);
2101
}
2102
 
2103
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2104
vcgtq_u8 (uint8x16_t __a, uint8x16_t __b)
2105
{
2106
  return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2107
}
2108
 
2109
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2110
vcgtq_u16 (uint16x8_t __a, uint16x8_t __b)
2111
{
2112
  return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2113
}
2114
 
2115
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2116
vcgtq_u32 (uint32x4_t __a, uint32x4_t __b)
2117
{
2118
  return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2119
}
2120
 
2121
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2122
vclt_s8 (int8x8_t __a, int8x8_t __b)
2123
{
2124
  return (uint8x8_t)__builtin_neon_vcgtv8qi (__b, __a, 1);
2125
}
2126
 
2127
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2128
vclt_s16 (int16x4_t __a, int16x4_t __b)
2129
{
2130
  return (uint16x4_t)__builtin_neon_vcgtv4hi (__b, __a, 1);
2131
}
2132
 
2133
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2134
vclt_s32 (int32x2_t __a, int32x2_t __b)
2135
{
2136
  return (uint32x2_t)__builtin_neon_vcgtv2si (__b, __a, 1);
2137
}
2138
 
2139
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2140
vclt_f32 (float32x2_t __a, float32x2_t __b)
2141
{
2142
  return (uint32x2_t)__builtin_neon_vcgtv2sf (__b, __a, 3);
2143
}
2144
 
2145
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2146
vclt_u8 (uint8x8_t __a, uint8x8_t __b)
2147
{
2148
  return (uint8x8_t)__builtin_neon_vcgtuv8qi ((int8x8_t) __b, (int8x8_t) __a, 0);
2149
}
2150
 
2151
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2152
vclt_u16 (uint16x4_t __a, uint16x4_t __b)
2153
{
2154
  return (uint16x4_t)__builtin_neon_vcgtuv4hi ((int16x4_t) __b, (int16x4_t) __a, 0);
2155
}
2156
 
2157
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2158
vclt_u32 (uint32x2_t __a, uint32x2_t __b)
2159
{
2160
  return (uint32x2_t)__builtin_neon_vcgtuv2si ((int32x2_t) __b, (int32x2_t) __a, 0);
2161
}
2162
 
2163
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2164
vcltq_s8 (int8x16_t __a, int8x16_t __b)
2165
{
2166
  return (uint8x16_t)__builtin_neon_vcgtv16qi (__b, __a, 1);
2167
}
2168
 
2169
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2170
vcltq_s16 (int16x8_t __a, int16x8_t __b)
2171
{
2172
  return (uint16x8_t)__builtin_neon_vcgtv8hi (__b, __a, 1);
2173
}
2174
 
2175
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2176
vcltq_s32 (int32x4_t __a, int32x4_t __b)
2177
{
2178
  return (uint32x4_t)__builtin_neon_vcgtv4si (__b, __a, 1);
2179
}
2180
 
2181
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2182
vcltq_f32 (float32x4_t __a, float32x4_t __b)
2183
{
2184
  return (uint32x4_t)__builtin_neon_vcgtv4sf (__b, __a, 3);
2185
}
2186
 
2187
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2188
vcltq_u8 (uint8x16_t __a, uint8x16_t __b)
2189
{
2190
  return (uint8x16_t)__builtin_neon_vcgtuv16qi ((int8x16_t) __b, (int8x16_t) __a, 0);
2191
}
2192
 
2193
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2194
vcltq_u16 (uint16x8_t __a, uint16x8_t __b)
2195
{
2196
  return (uint16x8_t)__builtin_neon_vcgtuv8hi ((int16x8_t) __b, (int16x8_t) __a, 0);
2197
}
2198
 
2199
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2200
vcltq_u32 (uint32x4_t __a, uint32x4_t __b)
2201
{
2202
  return (uint32x4_t)__builtin_neon_vcgtuv4si ((int32x4_t) __b, (int32x4_t) __a, 0);
2203
}
2204
 
2205
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2206
vcage_f32 (float32x2_t __a, float32x2_t __b)
2207
{
2208
  return (uint32x2_t)__builtin_neon_vcagev2sf (__a, __b, 3);
2209
}
2210
 
2211
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2212
vcageq_f32 (float32x4_t __a, float32x4_t __b)
2213
{
2214
  return (uint32x4_t)__builtin_neon_vcagev4sf (__a, __b, 3);
2215
}
2216
 
2217
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2218
vcale_f32 (float32x2_t __a, float32x2_t __b)
2219
{
2220
  return (uint32x2_t)__builtin_neon_vcagev2sf (__b, __a, 3);
2221
}
2222
 
2223
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2224
vcaleq_f32 (float32x4_t __a, float32x4_t __b)
2225
{
2226
  return (uint32x4_t)__builtin_neon_vcagev4sf (__b, __a, 3);
2227
}
2228
 
2229
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2230
vcagt_f32 (float32x2_t __a, float32x2_t __b)
2231
{
2232
  return (uint32x2_t)__builtin_neon_vcagtv2sf (__a, __b, 3);
2233
}
2234
 
2235
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2236
vcagtq_f32 (float32x4_t __a, float32x4_t __b)
2237
{
2238
  return (uint32x4_t)__builtin_neon_vcagtv4sf (__a, __b, 3);
2239
}
2240
 
2241
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2242
vcalt_f32 (float32x2_t __a, float32x2_t __b)
2243
{
2244
  return (uint32x2_t)__builtin_neon_vcagtv2sf (__b, __a, 3);
2245
}
2246
 
2247
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2248
vcaltq_f32 (float32x4_t __a, float32x4_t __b)
2249
{
2250
  return (uint32x4_t)__builtin_neon_vcagtv4sf (__b, __a, 3);
2251
}
2252
 
2253
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2254
vtst_s8 (int8x8_t __a, int8x8_t __b)
2255
{
2256
  return (uint8x8_t)__builtin_neon_vtstv8qi (__a, __b, 1);
2257
}
2258
 
2259
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2260
vtst_s16 (int16x4_t __a, int16x4_t __b)
2261
{
2262
  return (uint16x4_t)__builtin_neon_vtstv4hi (__a, __b, 1);
2263
}
2264
 
2265
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2266
vtst_s32 (int32x2_t __a, int32x2_t __b)
2267
{
2268
  return (uint32x2_t)__builtin_neon_vtstv2si (__a, __b, 1);
2269
}
2270
 
2271
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2272
vtst_u8 (uint8x8_t __a, uint8x8_t __b)
2273
{
2274
  return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2275
}
2276
 
2277
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2278
vtst_u16 (uint16x4_t __a, uint16x4_t __b)
2279
{
2280
  return (uint16x4_t)__builtin_neon_vtstv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2281
}
2282
 
2283
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2284
vtst_u32 (uint32x2_t __a, uint32x2_t __b)
2285
{
2286
  return (uint32x2_t)__builtin_neon_vtstv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2287
}
2288
 
2289
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2290
vtst_p8 (poly8x8_t __a, poly8x8_t __b)
2291
{
2292
  return (uint8x8_t)__builtin_neon_vtstv8qi ((int8x8_t) __a, (int8x8_t) __b, 2);
2293
}
2294
 
2295
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2296
vtstq_s8 (int8x16_t __a, int8x16_t __b)
2297
{
2298
  return (uint8x16_t)__builtin_neon_vtstv16qi (__a, __b, 1);
2299
}
2300
 
2301
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2302
vtstq_s16 (int16x8_t __a, int16x8_t __b)
2303
{
2304
  return (uint16x8_t)__builtin_neon_vtstv8hi (__a, __b, 1);
2305
}
2306
 
2307
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2308
vtstq_s32 (int32x4_t __a, int32x4_t __b)
2309
{
2310
  return (uint32x4_t)__builtin_neon_vtstv4si (__a, __b, 1);
2311
}
2312
 
2313
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2314
vtstq_u8 (uint8x16_t __a, uint8x16_t __b)
2315
{
2316
  return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2317
}
2318
 
2319
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2320
vtstq_u16 (uint16x8_t __a, uint16x8_t __b)
2321
{
2322
  return (uint16x8_t)__builtin_neon_vtstv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2323
}
2324
 
2325
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2326
vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
2327
{
2328
  return (uint32x4_t)__builtin_neon_vtstv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2329
}
2330
 
2331
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2332
vtstq_p8 (poly8x16_t __a, poly8x16_t __b)
2333
{
2334
  return (uint8x16_t)__builtin_neon_vtstv16qi ((int8x16_t) __a, (int8x16_t) __b, 2);
2335
}
2336
 
2337
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2338
vabd_s8 (int8x8_t __a, int8x8_t __b)
2339
{
2340
  return (int8x8_t)__builtin_neon_vabdv8qi (__a, __b, 1);
2341
}
2342
 
2343
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2344
vabd_s16 (int16x4_t __a, int16x4_t __b)
2345
{
2346
  return (int16x4_t)__builtin_neon_vabdv4hi (__a, __b, 1);
2347
}
2348
 
2349
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2350
vabd_s32 (int32x2_t __a, int32x2_t __b)
2351
{
2352
  return (int32x2_t)__builtin_neon_vabdv2si (__a, __b, 1);
2353
}
2354
 
2355
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2356
vabd_f32 (float32x2_t __a, float32x2_t __b)
2357
{
2358
  return (float32x2_t)__builtin_neon_vabdv2sf (__a, __b, 3);
2359
}
2360
 
2361
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2362
vabd_u8 (uint8x8_t __a, uint8x8_t __b)
2363
{
2364
  return (uint8x8_t)__builtin_neon_vabdv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2365
}
2366
 
2367
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2368
vabd_u16 (uint16x4_t __a, uint16x4_t __b)
2369
{
2370
  return (uint16x4_t)__builtin_neon_vabdv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2371
}
2372
 
2373
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2374
vabd_u32 (uint32x2_t __a, uint32x2_t __b)
2375
{
2376
  return (uint32x2_t)__builtin_neon_vabdv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2377
}
2378
 
2379
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2380
vabdq_s8 (int8x16_t __a, int8x16_t __b)
2381
{
2382
  return (int8x16_t)__builtin_neon_vabdv16qi (__a, __b, 1);
2383
}
2384
 
2385
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2386
vabdq_s16 (int16x8_t __a, int16x8_t __b)
2387
{
2388
  return (int16x8_t)__builtin_neon_vabdv8hi (__a, __b, 1);
2389
}
2390
 
2391
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2392
vabdq_s32 (int32x4_t __a, int32x4_t __b)
2393
{
2394
  return (int32x4_t)__builtin_neon_vabdv4si (__a, __b, 1);
2395
}
2396
 
2397
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
2398
vabdq_f32 (float32x4_t __a, float32x4_t __b)
2399
{
2400
  return (float32x4_t)__builtin_neon_vabdv4sf (__a, __b, 3);
2401
}
2402
 
2403
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2404
vabdq_u8 (uint8x16_t __a, uint8x16_t __b)
2405
{
2406
  return (uint8x16_t)__builtin_neon_vabdv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2407
}
2408
 
2409
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2410
vabdq_u16 (uint16x8_t __a, uint16x8_t __b)
2411
{
2412
  return (uint16x8_t)__builtin_neon_vabdv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2413
}
2414
 
2415
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2416
vabdq_u32 (uint32x4_t __a, uint32x4_t __b)
2417
{
2418
  return (uint32x4_t)__builtin_neon_vabdv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2419
}
2420
 
2421
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2422
vabdl_s8 (int8x8_t __a, int8x8_t __b)
2423
{
2424
  return (int16x8_t)__builtin_neon_vabdlv8qi (__a, __b, 1);
2425
}
2426
 
2427
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2428
vabdl_s16 (int16x4_t __a, int16x4_t __b)
2429
{
2430
  return (int32x4_t)__builtin_neon_vabdlv4hi (__a, __b, 1);
2431
}
2432
 
2433
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
2434
vabdl_s32 (int32x2_t __a, int32x2_t __b)
2435
{
2436
  return (int64x2_t)__builtin_neon_vabdlv2si (__a, __b, 1);
2437
}
2438
 
2439
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2440
vabdl_u8 (uint8x8_t __a, uint8x8_t __b)
2441
{
2442
  return (uint16x8_t)__builtin_neon_vabdlv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2443
}
2444
 
2445
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2446
vabdl_u16 (uint16x4_t __a, uint16x4_t __b)
2447
{
2448
  return (uint32x4_t)__builtin_neon_vabdlv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2449
}
2450
 
2451
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
2452
vabdl_u32 (uint32x2_t __a, uint32x2_t __b)
2453
{
2454
  return (uint64x2_t)__builtin_neon_vabdlv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2455
}
2456
 
2457
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2458
vaba_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
2459
{
2460
  return (int8x8_t)__builtin_neon_vabav8qi (__a, __b, __c, 1);
2461
}
2462
 
2463
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2464
vaba_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c)
2465
{
2466
  return (int16x4_t)__builtin_neon_vabav4hi (__a, __b, __c, 1);
2467
}
2468
 
2469
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2470
vaba_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c)
2471
{
2472
  return (int32x2_t)__builtin_neon_vabav2si (__a, __b, __c, 1);
2473
}
2474
 
2475
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2476
vaba_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
2477
{
2478
  return (uint8x8_t)__builtin_neon_vabav8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
2479
}
2480
 
2481
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2482
vaba_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
2483
{
2484
  return (uint16x4_t)__builtin_neon_vabav4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
2485
}
2486
 
2487
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2488
vaba_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
2489
{
2490
  return (uint32x2_t)__builtin_neon_vabav2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
2491
}
2492
 
2493
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2494
vabaq_s8 (int8x16_t __a, int8x16_t __b, int8x16_t __c)
2495
{
2496
  return (int8x16_t)__builtin_neon_vabav16qi (__a, __b, __c, 1);
2497
}
2498
 
2499
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2500
vabaq_s16 (int16x8_t __a, int16x8_t __b, int16x8_t __c)
2501
{
2502
  return (int16x8_t)__builtin_neon_vabav8hi (__a, __b, __c, 1);
2503
}
2504
 
2505
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2506
vabaq_s32 (int32x4_t __a, int32x4_t __b, int32x4_t __c)
2507
{
2508
  return (int32x4_t)__builtin_neon_vabav4si (__a, __b, __c, 1);
2509
}
2510
 
2511
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2512
vabaq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
2513
{
2514
  return (uint8x16_t)__builtin_neon_vabav16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c, 0);
2515
}
2516
 
2517
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2518
vabaq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
2519
{
2520
  return (uint16x8_t)__builtin_neon_vabav8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c, 0);
2521
}
2522
 
2523
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2524
vabaq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
2525
{
2526
  return (uint32x4_t)__builtin_neon_vabav4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c, 0);
2527
}
2528
 
2529
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2530
vabal_s8 (int16x8_t __a, int8x8_t __b, int8x8_t __c)
2531
{
2532
  return (int16x8_t)__builtin_neon_vabalv8qi (__a, __b, __c, 1);
2533
}
2534
 
2535
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2536
vabal_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c)
2537
{
2538
  return (int32x4_t)__builtin_neon_vabalv4hi (__a, __b, __c, 1);
2539
}
2540
 
2541
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
2542
vabal_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c)
2543
{
2544
  return (int64x2_t)__builtin_neon_vabalv2si (__a, __b, __c, 1);
2545
}
2546
 
2547
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2548
vabal_u8 (uint16x8_t __a, uint8x8_t __b, uint8x8_t __c)
2549
{
2550
  return (uint16x8_t)__builtin_neon_vabalv8qi ((int16x8_t) __a, (int8x8_t) __b, (int8x8_t) __c, 0);
2551
}
2552
 
2553
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2554
vabal_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c)
2555
{
2556
  return (uint32x4_t)__builtin_neon_vabalv4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, 0);
2557
}
2558
 
2559
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
2560
vabal_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c)
2561
{
2562
  return (uint64x2_t)__builtin_neon_vabalv2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, 0);
2563
}
2564
 
2565
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2566
vmax_s8 (int8x8_t __a, int8x8_t __b)
2567
{
2568
  return (int8x8_t)__builtin_neon_vmaxv8qi (__a, __b, 1);
2569
}
2570
 
2571
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2572
vmax_s16 (int16x4_t __a, int16x4_t __b)
2573
{
2574
  return (int16x4_t)__builtin_neon_vmaxv4hi (__a, __b, 1);
2575
}
2576
 
2577
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2578
vmax_s32 (int32x2_t __a, int32x2_t __b)
2579
{
2580
  return (int32x2_t)__builtin_neon_vmaxv2si (__a, __b, 1);
2581
}
2582
 
2583
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2584
vmax_f32 (float32x2_t __a, float32x2_t __b)
2585
{
2586
  return (float32x2_t)__builtin_neon_vmaxv2sf (__a, __b, 3);
2587
}
2588
 
2589
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2590
vmax_u8 (uint8x8_t __a, uint8x8_t __b)
2591
{
2592
  return (uint8x8_t)__builtin_neon_vmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2593
}
2594
 
2595
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2596
vmax_u16 (uint16x4_t __a, uint16x4_t __b)
2597
{
2598
  return (uint16x4_t)__builtin_neon_vmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2599
}
2600
 
2601
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2602
vmax_u32 (uint32x2_t __a, uint32x2_t __b)
2603
{
2604
  return (uint32x2_t)__builtin_neon_vmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2605
}
2606
 
2607
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2608
vmaxq_s8 (int8x16_t __a, int8x16_t __b)
2609
{
2610
  return (int8x16_t)__builtin_neon_vmaxv16qi (__a, __b, 1);
2611
}
2612
 
2613
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2614
vmaxq_s16 (int16x8_t __a, int16x8_t __b)
2615
{
2616
  return (int16x8_t)__builtin_neon_vmaxv8hi (__a, __b, 1);
2617
}
2618
 
2619
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2620
vmaxq_s32 (int32x4_t __a, int32x4_t __b)
2621
{
2622
  return (int32x4_t)__builtin_neon_vmaxv4si (__a, __b, 1);
2623
}
2624
 
2625
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
2626
vmaxq_f32 (float32x4_t __a, float32x4_t __b)
2627
{
2628
  return (float32x4_t)__builtin_neon_vmaxv4sf (__a, __b, 3);
2629
}
2630
 
2631
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2632
vmaxq_u8 (uint8x16_t __a, uint8x16_t __b)
2633
{
2634
  return (uint8x16_t)__builtin_neon_vmaxv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2635
}
2636
 
2637
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2638
vmaxq_u16 (uint16x8_t __a, uint16x8_t __b)
2639
{
2640
  return (uint16x8_t)__builtin_neon_vmaxv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2641
}
2642
 
2643
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2644
vmaxq_u32 (uint32x4_t __a, uint32x4_t __b)
2645
{
2646
  return (uint32x4_t)__builtin_neon_vmaxv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2647
}
2648
 
2649
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2650
vmin_s8 (int8x8_t __a, int8x8_t __b)
2651
{
2652
  return (int8x8_t)__builtin_neon_vminv8qi (__a, __b, 1);
2653
}
2654
 
2655
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2656
vmin_s16 (int16x4_t __a, int16x4_t __b)
2657
{
2658
  return (int16x4_t)__builtin_neon_vminv4hi (__a, __b, 1);
2659
}
2660
 
2661
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2662
vmin_s32 (int32x2_t __a, int32x2_t __b)
2663
{
2664
  return (int32x2_t)__builtin_neon_vminv2si (__a, __b, 1);
2665
}
2666
 
2667
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2668
vmin_f32 (float32x2_t __a, float32x2_t __b)
2669
{
2670
  return (float32x2_t)__builtin_neon_vminv2sf (__a, __b, 3);
2671
}
2672
 
2673
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2674
vmin_u8 (uint8x8_t __a, uint8x8_t __b)
2675
{
2676
  return (uint8x8_t)__builtin_neon_vminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2677
}
2678
 
2679
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2680
vmin_u16 (uint16x4_t __a, uint16x4_t __b)
2681
{
2682
  return (uint16x4_t)__builtin_neon_vminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2683
}
2684
 
2685
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2686
vmin_u32 (uint32x2_t __a, uint32x2_t __b)
2687
{
2688
  return (uint32x2_t)__builtin_neon_vminv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2689
}
2690
 
2691
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
2692
vminq_s8 (int8x16_t __a, int8x16_t __b)
2693
{
2694
  return (int8x16_t)__builtin_neon_vminv16qi (__a, __b, 1);
2695
}
2696
 
2697
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2698
vminq_s16 (int16x8_t __a, int16x8_t __b)
2699
{
2700
  return (int16x8_t)__builtin_neon_vminv8hi (__a, __b, 1);
2701
}
2702
 
2703
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2704
vminq_s32 (int32x4_t __a, int32x4_t __b)
2705
{
2706
  return (int32x4_t)__builtin_neon_vminv4si (__a, __b, 1);
2707
}
2708
 
2709
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
2710
vminq_f32 (float32x4_t __a, float32x4_t __b)
2711
{
2712
  return (float32x4_t)__builtin_neon_vminv4sf (__a, __b, 3);
2713
}
2714
 
2715
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
2716
vminq_u8 (uint8x16_t __a, uint8x16_t __b)
2717
{
2718
  return (uint8x16_t)__builtin_neon_vminv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
2719
}
2720
 
2721
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2722
vminq_u16 (uint16x8_t __a, uint16x8_t __b)
2723
{
2724
  return (uint16x8_t)__builtin_neon_vminv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
2725
}
2726
 
2727
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2728
vminq_u32 (uint32x4_t __a, uint32x4_t __b)
2729
{
2730
  return (uint32x4_t)__builtin_neon_vminv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
2731
}
2732
 
2733
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2734
vpadd_s8 (int8x8_t __a, int8x8_t __b)
2735
{
2736
  return (int8x8_t)__builtin_neon_vpaddv8qi (__a, __b, 1);
2737
}
2738
 
2739
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2740
vpadd_s16 (int16x4_t __a, int16x4_t __b)
2741
{
2742
  return (int16x4_t)__builtin_neon_vpaddv4hi (__a, __b, 1);
2743
}
2744
 
2745
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2746
vpadd_s32 (int32x2_t __a, int32x2_t __b)
2747
{
2748
  return (int32x2_t)__builtin_neon_vpaddv2si (__a, __b, 1);
2749
}
2750
 
2751
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2752
vpadd_f32 (float32x2_t __a, float32x2_t __b)
2753
{
2754
  return (float32x2_t)__builtin_neon_vpaddv2sf (__a, __b, 3);
2755
}
2756
 
2757
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2758
vpadd_u8 (uint8x8_t __a, uint8x8_t __b)
2759
{
2760
  return (uint8x8_t)__builtin_neon_vpaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2761
}
2762
 
2763
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2764
vpadd_u16 (uint16x4_t __a, uint16x4_t __b)
2765
{
2766
  return (uint16x4_t)__builtin_neon_vpaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2767
}
2768
 
2769
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2770
vpadd_u32 (uint32x2_t __a, uint32x2_t __b)
2771
{
2772
  return (uint32x2_t)__builtin_neon_vpaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2773
}
2774
 
2775
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2776
vpaddl_s8 (int8x8_t __a)
2777
{
2778
  return (int16x4_t)__builtin_neon_vpaddlv8qi (__a, 1);
2779
}
2780
 
2781
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2782
vpaddl_s16 (int16x4_t __a)
2783
{
2784
  return (int32x2_t)__builtin_neon_vpaddlv4hi (__a, 1);
2785
}
2786
 
2787
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
2788
vpaddl_s32 (int32x2_t __a)
2789
{
2790
  return (int64x1_t)__builtin_neon_vpaddlv2si (__a, 1);
2791
}
2792
 
2793
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2794
vpaddl_u8 (uint8x8_t __a)
2795
{
2796
  return (uint16x4_t)__builtin_neon_vpaddlv8qi ((int8x8_t) __a, 0);
2797
}
2798
 
2799
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2800
vpaddl_u16 (uint16x4_t __a)
2801
{
2802
  return (uint32x2_t)__builtin_neon_vpaddlv4hi ((int16x4_t) __a, 0);
2803
}
2804
 
2805
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
2806
vpaddl_u32 (uint32x2_t __a)
2807
{
2808
  return (uint64x1_t)__builtin_neon_vpaddlv2si ((int32x2_t) __a, 0);
2809
}
2810
 
2811
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2812
vpaddlq_s8 (int8x16_t __a)
2813
{
2814
  return (int16x8_t)__builtin_neon_vpaddlv16qi (__a, 1);
2815
}
2816
 
2817
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2818
vpaddlq_s16 (int16x8_t __a)
2819
{
2820
  return (int32x4_t)__builtin_neon_vpaddlv8hi (__a, 1);
2821
}
2822
 
2823
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
2824
vpaddlq_s32 (int32x4_t __a)
2825
{
2826
  return (int64x2_t)__builtin_neon_vpaddlv4si (__a, 1);
2827
}
2828
 
2829
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2830
vpaddlq_u8 (uint8x16_t __a)
2831
{
2832
  return (uint16x8_t)__builtin_neon_vpaddlv16qi ((int8x16_t) __a, 0);
2833
}
2834
 
2835
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2836
vpaddlq_u16 (uint16x8_t __a)
2837
{
2838
  return (uint32x4_t)__builtin_neon_vpaddlv8hi ((int16x8_t) __a, 0);
2839
}
2840
 
2841
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
2842
vpaddlq_u32 (uint32x4_t __a)
2843
{
2844
  return (uint64x2_t)__builtin_neon_vpaddlv4si ((int32x4_t) __a, 0);
2845
}
2846
 
2847
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2848
vpadal_s8 (int16x4_t __a, int8x8_t __b)
2849
{
2850
  return (int16x4_t)__builtin_neon_vpadalv8qi (__a, __b, 1);
2851
}
2852
 
2853
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2854
vpadal_s16 (int32x2_t __a, int16x4_t __b)
2855
{
2856
  return (int32x2_t)__builtin_neon_vpadalv4hi (__a, __b, 1);
2857
}
2858
 
2859
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
2860
vpadal_s32 (int64x1_t __a, int32x2_t __b)
2861
{
2862
  return (int64x1_t)__builtin_neon_vpadalv2si (__a, __b, 1);
2863
}
2864
 
2865
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2866
vpadal_u8 (uint16x4_t __a, uint8x8_t __b)
2867
{
2868
  return (uint16x4_t)__builtin_neon_vpadalv8qi ((int16x4_t) __a, (int8x8_t) __b, 0);
2869
}
2870
 
2871
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2872
vpadal_u16 (uint32x2_t __a, uint16x4_t __b)
2873
{
2874
  return (uint32x2_t)__builtin_neon_vpadalv4hi ((int32x2_t) __a, (int16x4_t) __b, 0);
2875
}
2876
 
2877
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
2878
vpadal_u32 (uint64x1_t __a, uint32x2_t __b)
2879
{
2880
  return (uint64x1_t)__builtin_neon_vpadalv2si ((int64x1_t) __a, (int32x2_t) __b, 0);
2881
}
2882
 
2883
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
2884
vpadalq_s8 (int16x8_t __a, int8x16_t __b)
2885
{
2886
  return (int16x8_t)__builtin_neon_vpadalv16qi (__a, __b, 1);
2887
}
2888
 
2889
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
2890
vpadalq_s16 (int32x4_t __a, int16x8_t __b)
2891
{
2892
  return (int32x4_t)__builtin_neon_vpadalv8hi (__a, __b, 1);
2893
}
2894
 
2895
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
2896
vpadalq_s32 (int64x2_t __a, int32x4_t __b)
2897
{
2898
  return (int64x2_t)__builtin_neon_vpadalv4si (__a, __b, 1);
2899
}
2900
 
2901
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
2902
vpadalq_u8 (uint16x8_t __a, uint8x16_t __b)
2903
{
2904
  return (uint16x8_t)__builtin_neon_vpadalv16qi ((int16x8_t) __a, (int8x16_t) __b, 0);
2905
}
2906
 
2907
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
2908
vpadalq_u16 (uint32x4_t __a, uint16x8_t __b)
2909
{
2910
  return (uint32x4_t)__builtin_neon_vpadalv8hi ((int32x4_t) __a, (int16x8_t) __b, 0);
2911
}
2912
 
2913
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
2914
vpadalq_u32 (uint64x2_t __a, uint32x4_t __b)
2915
{
2916
  return (uint64x2_t)__builtin_neon_vpadalv4si ((int64x2_t) __a, (int32x4_t) __b, 0);
2917
}
2918
 
2919
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2920
vpmax_s8 (int8x8_t __a, int8x8_t __b)
2921
{
2922
  return (int8x8_t)__builtin_neon_vpmaxv8qi (__a, __b, 1);
2923
}
2924
 
2925
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2926
vpmax_s16 (int16x4_t __a, int16x4_t __b)
2927
{
2928
  return (int16x4_t)__builtin_neon_vpmaxv4hi (__a, __b, 1);
2929
}
2930
 
2931
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2932
vpmax_s32 (int32x2_t __a, int32x2_t __b)
2933
{
2934
  return (int32x2_t)__builtin_neon_vpmaxv2si (__a, __b, 1);
2935
}
2936
 
2937
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2938
vpmax_f32 (float32x2_t __a, float32x2_t __b)
2939
{
2940
  return (float32x2_t)__builtin_neon_vpmaxv2sf (__a, __b, 3);
2941
}
2942
 
2943
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2944
vpmax_u8 (uint8x8_t __a, uint8x8_t __b)
2945
{
2946
  return (uint8x8_t)__builtin_neon_vpmaxv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2947
}
2948
 
2949
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2950
vpmax_u16 (uint16x4_t __a, uint16x4_t __b)
2951
{
2952
  return (uint16x4_t)__builtin_neon_vpmaxv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2953
}
2954
 
2955
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2956
vpmax_u32 (uint32x2_t __a, uint32x2_t __b)
2957
{
2958
  return (uint32x2_t)__builtin_neon_vpmaxv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
2959
}
2960
 
2961
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
2962
vpmin_s8 (int8x8_t __a, int8x8_t __b)
2963
{
2964
  return (int8x8_t)__builtin_neon_vpminv8qi (__a, __b, 1);
2965
}
2966
 
2967
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
2968
vpmin_s16 (int16x4_t __a, int16x4_t __b)
2969
{
2970
  return (int16x4_t)__builtin_neon_vpminv4hi (__a, __b, 1);
2971
}
2972
 
2973
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
2974
vpmin_s32 (int32x2_t __a, int32x2_t __b)
2975
{
2976
  return (int32x2_t)__builtin_neon_vpminv2si (__a, __b, 1);
2977
}
2978
 
2979
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
2980
vpmin_f32 (float32x2_t __a, float32x2_t __b)
2981
{
2982
  return (float32x2_t)__builtin_neon_vpminv2sf (__a, __b, 3);
2983
}
2984
 
2985
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
2986
vpmin_u8 (uint8x8_t __a, uint8x8_t __b)
2987
{
2988
  return (uint8x8_t)__builtin_neon_vpminv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
2989
}
2990
 
2991
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
2992
vpmin_u16 (uint16x4_t __a, uint16x4_t __b)
2993
{
2994
  return (uint16x4_t)__builtin_neon_vpminv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
2995
}
2996
 
2997
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
2998
vpmin_u32 (uint32x2_t __a, uint32x2_t __b)
2999
{
3000
  return (uint32x2_t)__builtin_neon_vpminv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
3001
}
3002
 
3003
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
3004
vrecps_f32 (float32x2_t __a, float32x2_t __b)
3005
{
3006
  return (float32x2_t)__builtin_neon_vrecpsv2sf (__a, __b, 3);
3007
}
3008
 
3009
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
3010
vrecpsq_f32 (float32x4_t __a, float32x4_t __b)
3011
{
3012
  return (float32x4_t)__builtin_neon_vrecpsv4sf (__a, __b, 3);
3013
}
3014
 
3015
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
3016
vrsqrts_f32 (float32x2_t __a, float32x2_t __b)
3017
{
3018
  return (float32x2_t)__builtin_neon_vrsqrtsv2sf (__a, __b, 3);
3019
}
3020
 
3021
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
3022
vrsqrtsq_f32 (float32x4_t __a, float32x4_t __b)
3023
{
3024
  return (float32x4_t)__builtin_neon_vrsqrtsv4sf (__a, __b, 3);
3025
}
3026
 
3027
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3028
vshl_s8 (int8x8_t __a, int8x8_t __b)
3029
{
3030
  return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 1);
3031
}
3032
 
3033
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3034
vshl_s16 (int16x4_t __a, int16x4_t __b)
3035
{
3036
  return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 1);
3037
}
3038
 
3039
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3040
vshl_s32 (int32x2_t __a, int32x2_t __b)
3041
{
3042
  return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 1);
3043
}
3044
 
3045
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3046
vshl_s64 (int64x1_t __a, int64x1_t __b)
3047
{
3048
  return (int64x1_t)__builtin_neon_vshldi (__a, __b, 1);
3049
}
3050
 
3051
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3052
vshl_u8 (uint8x8_t __a, int8x8_t __b)
3053
{
3054
  return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 0);
3055
}
3056
 
3057
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3058
vshl_u16 (uint16x4_t __a, int16x4_t __b)
3059
{
3060
  return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 0);
3061
}
3062
 
3063
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3064
vshl_u32 (uint32x2_t __a, int32x2_t __b)
3065
{
3066
  return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 0);
3067
}
3068
 
3069
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3070
vshl_u64 (uint64x1_t __a, int64x1_t __b)
3071
{
3072
  return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 0);
3073
}
3074
 
3075
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3076
vshlq_s8 (int8x16_t __a, int8x16_t __b)
3077
{
3078
  return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 1);
3079
}
3080
 
3081
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3082
vshlq_s16 (int16x8_t __a, int16x8_t __b)
3083
{
3084
  return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 1);
3085
}
3086
 
3087
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3088
vshlq_s32 (int32x4_t __a, int32x4_t __b)
3089
{
3090
  return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 1);
3091
}
3092
 
3093
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3094
vshlq_s64 (int64x2_t __a, int64x2_t __b)
3095
{
3096
  return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 1);
3097
}
3098
 
3099
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3100
vshlq_u8 (uint8x16_t __a, int8x16_t __b)
3101
{
3102
  return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 0);
3103
}
3104
 
3105
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3106
vshlq_u16 (uint16x8_t __a, int16x8_t __b)
3107
{
3108
  return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 0);
3109
}
3110
 
3111
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3112
vshlq_u32 (uint32x4_t __a, int32x4_t __b)
3113
{
3114
  return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 0);
3115
}
3116
 
3117
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3118
vshlq_u64 (uint64x2_t __a, int64x2_t __b)
3119
{
3120
  return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 0);
3121
}
3122
 
3123
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3124
vrshl_s8 (int8x8_t __a, int8x8_t __b)
3125
{
3126
  return (int8x8_t)__builtin_neon_vshlv8qi (__a, __b, 5);
3127
}
3128
 
3129
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3130
vrshl_s16 (int16x4_t __a, int16x4_t __b)
3131
{
3132
  return (int16x4_t)__builtin_neon_vshlv4hi (__a, __b, 5);
3133
}
3134
 
3135
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3136
vrshl_s32 (int32x2_t __a, int32x2_t __b)
3137
{
3138
  return (int32x2_t)__builtin_neon_vshlv2si (__a, __b, 5);
3139
}
3140
 
3141
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3142
vrshl_s64 (int64x1_t __a, int64x1_t __b)
3143
{
3144
  return (int64x1_t)__builtin_neon_vshldi (__a, __b, 5);
3145
}
3146
 
3147
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3148
vrshl_u8 (uint8x8_t __a, int8x8_t __b)
3149
{
3150
  return (uint8x8_t)__builtin_neon_vshlv8qi ((int8x8_t) __a, __b, 4);
3151
}
3152
 
3153
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3154
vrshl_u16 (uint16x4_t __a, int16x4_t __b)
3155
{
3156
  return (uint16x4_t)__builtin_neon_vshlv4hi ((int16x4_t) __a, __b, 4);
3157
}
3158
 
3159
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3160
vrshl_u32 (uint32x2_t __a, int32x2_t __b)
3161
{
3162
  return (uint32x2_t)__builtin_neon_vshlv2si ((int32x2_t) __a, __b, 4);
3163
}
3164
 
3165
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3166
vrshl_u64 (uint64x1_t __a, int64x1_t __b)
3167
{
3168
  return (uint64x1_t)__builtin_neon_vshldi ((int64x1_t) __a, __b, 4);
3169
}
3170
 
3171
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3172
vrshlq_s8 (int8x16_t __a, int8x16_t __b)
3173
{
3174
  return (int8x16_t)__builtin_neon_vshlv16qi (__a, __b, 5);
3175
}
3176
 
3177
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3178
vrshlq_s16 (int16x8_t __a, int16x8_t __b)
3179
{
3180
  return (int16x8_t)__builtin_neon_vshlv8hi (__a, __b, 5);
3181
}
3182
 
3183
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3184
vrshlq_s32 (int32x4_t __a, int32x4_t __b)
3185
{
3186
  return (int32x4_t)__builtin_neon_vshlv4si (__a, __b, 5);
3187
}
3188
 
3189
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3190
vrshlq_s64 (int64x2_t __a, int64x2_t __b)
3191
{
3192
  return (int64x2_t)__builtin_neon_vshlv2di (__a, __b, 5);
3193
}
3194
 
3195
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3196
vrshlq_u8 (uint8x16_t __a, int8x16_t __b)
3197
{
3198
  return (uint8x16_t)__builtin_neon_vshlv16qi ((int8x16_t) __a, __b, 4);
3199
}
3200
 
3201
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3202
vrshlq_u16 (uint16x8_t __a, int16x8_t __b)
3203
{
3204
  return (uint16x8_t)__builtin_neon_vshlv8hi ((int16x8_t) __a, __b, 4);
3205
}
3206
 
3207
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3208
vrshlq_u32 (uint32x4_t __a, int32x4_t __b)
3209
{
3210
  return (uint32x4_t)__builtin_neon_vshlv4si ((int32x4_t) __a, __b, 4);
3211
}
3212
 
3213
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3214
vrshlq_u64 (uint64x2_t __a, int64x2_t __b)
3215
{
3216
  return (uint64x2_t)__builtin_neon_vshlv2di ((int64x2_t) __a, __b, 4);
3217
}
3218
 
3219
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3220
vqshl_s8 (int8x8_t __a, int8x8_t __b)
3221
{
3222
  return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 1);
3223
}
3224
 
3225
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3226
vqshl_s16 (int16x4_t __a, int16x4_t __b)
3227
{
3228
  return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 1);
3229
}
3230
 
3231
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3232
vqshl_s32 (int32x2_t __a, int32x2_t __b)
3233
{
3234
  return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 1);
3235
}
3236
 
3237
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3238
vqshl_s64 (int64x1_t __a, int64x1_t __b)
3239
{
3240
  return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 1);
3241
}
3242
 
3243
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3244
vqshl_u8 (uint8x8_t __a, int8x8_t __b)
3245
{
3246
  return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 0);
3247
}
3248
 
3249
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3250
vqshl_u16 (uint16x4_t __a, int16x4_t __b)
3251
{
3252
  return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 0);
3253
}
3254
 
3255
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3256
vqshl_u32 (uint32x2_t __a, int32x2_t __b)
3257
{
3258
  return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 0);
3259
}
3260
 
3261
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3262
vqshl_u64 (uint64x1_t __a, int64x1_t __b)
3263
{
3264
  return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 0);
3265
}
3266
 
3267
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3268
vqshlq_s8 (int8x16_t __a, int8x16_t __b)
3269
{
3270
  return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 1);
3271
}
3272
 
3273
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3274
vqshlq_s16 (int16x8_t __a, int16x8_t __b)
3275
{
3276
  return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 1);
3277
}
3278
 
3279
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3280
vqshlq_s32 (int32x4_t __a, int32x4_t __b)
3281
{
3282
  return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 1);
3283
}
3284
 
3285
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3286
vqshlq_s64 (int64x2_t __a, int64x2_t __b)
3287
{
3288
  return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 1);
3289
}
3290
 
3291
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3292
vqshlq_u8 (uint8x16_t __a, int8x16_t __b)
3293
{
3294
  return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 0);
3295
}
3296
 
3297
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3298
vqshlq_u16 (uint16x8_t __a, int16x8_t __b)
3299
{
3300
  return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 0);
3301
}
3302
 
3303
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3304
vqshlq_u32 (uint32x4_t __a, int32x4_t __b)
3305
{
3306
  return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 0);
3307
}
3308
 
3309
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3310
vqshlq_u64 (uint64x2_t __a, int64x2_t __b)
3311
{
3312
  return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 0);
3313
}
3314
 
3315
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3316
vqrshl_s8 (int8x8_t __a, int8x8_t __b)
3317
{
3318
  return (int8x8_t)__builtin_neon_vqshlv8qi (__a, __b, 5);
3319
}
3320
 
3321
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3322
vqrshl_s16 (int16x4_t __a, int16x4_t __b)
3323
{
3324
  return (int16x4_t)__builtin_neon_vqshlv4hi (__a, __b, 5);
3325
}
3326
 
3327
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3328
vqrshl_s32 (int32x2_t __a, int32x2_t __b)
3329
{
3330
  return (int32x2_t)__builtin_neon_vqshlv2si (__a, __b, 5);
3331
}
3332
 
3333
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3334
vqrshl_s64 (int64x1_t __a, int64x1_t __b)
3335
{
3336
  return (int64x1_t)__builtin_neon_vqshldi (__a, __b, 5);
3337
}
3338
 
3339
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3340
vqrshl_u8 (uint8x8_t __a, int8x8_t __b)
3341
{
3342
  return (uint8x8_t)__builtin_neon_vqshlv8qi ((int8x8_t) __a, __b, 4);
3343
}
3344
 
3345
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3346
vqrshl_u16 (uint16x4_t __a, int16x4_t __b)
3347
{
3348
  return (uint16x4_t)__builtin_neon_vqshlv4hi ((int16x4_t) __a, __b, 4);
3349
}
3350
 
3351
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3352
vqrshl_u32 (uint32x2_t __a, int32x2_t __b)
3353
{
3354
  return (uint32x2_t)__builtin_neon_vqshlv2si ((int32x2_t) __a, __b, 4);
3355
}
3356
 
3357
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3358
vqrshl_u64 (uint64x1_t __a, int64x1_t __b)
3359
{
3360
  return (uint64x1_t)__builtin_neon_vqshldi ((int64x1_t) __a, __b, 4);
3361
}
3362
 
3363
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3364
vqrshlq_s8 (int8x16_t __a, int8x16_t __b)
3365
{
3366
  return (int8x16_t)__builtin_neon_vqshlv16qi (__a, __b, 5);
3367
}
3368
 
3369
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3370
vqrshlq_s16 (int16x8_t __a, int16x8_t __b)
3371
{
3372
  return (int16x8_t)__builtin_neon_vqshlv8hi (__a, __b, 5);
3373
}
3374
 
3375
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3376
vqrshlq_s32 (int32x4_t __a, int32x4_t __b)
3377
{
3378
  return (int32x4_t)__builtin_neon_vqshlv4si (__a, __b, 5);
3379
}
3380
 
3381
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3382
vqrshlq_s64 (int64x2_t __a, int64x2_t __b)
3383
{
3384
  return (int64x2_t)__builtin_neon_vqshlv2di (__a, __b, 5);
3385
}
3386
 
3387
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3388
vqrshlq_u8 (uint8x16_t __a, int8x16_t __b)
3389
{
3390
  return (uint8x16_t)__builtin_neon_vqshlv16qi ((int8x16_t) __a, __b, 4);
3391
}
3392
 
3393
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3394
vqrshlq_u16 (uint16x8_t __a, int16x8_t __b)
3395
{
3396
  return (uint16x8_t)__builtin_neon_vqshlv8hi ((int16x8_t) __a, __b, 4);
3397
}
3398
 
3399
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3400
vqrshlq_u32 (uint32x4_t __a, int32x4_t __b)
3401
{
3402
  return (uint32x4_t)__builtin_neon_vqshlv4si ((int32x4_t) __a, __b, 4);
3403
}
3404
 
3405
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3406
vqrshlq_u64 (uint64x2_t __a, int64x2_t __b)
3407
{
3408
  return (uint64x2_t)__builtin_neon_vqshlv2di ((int64x2_t) __a, __b, 4);
3409
}
3410
 
3411
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3412
vshr_n_s8 (int8x8_t __a, const int __b)
3413
{
3414
  return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 1);
3415
}
3416
 
3417
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3418
vshr_n_s16 (int16x4_t __a, const int __b)
3419
{
3420
  return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 1);
3421
}
3422
 
3423
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3424
vshr_n_s32 (int32x2_t __a, const int __b)
3425
{
3426
  return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 1);
3427
}
3428
 
3429
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3430
vshr_n_s64 (int64x1_t __a, const int __b)
3431
{
3432
  return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 1);
3433
}
3434
 
3435
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3436
vshr_n_u8 (uint8x8_t __a, const int __b)
3437
{
3438
  return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 0);
3439
}
3440
 
3441
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3442
vshr_n_u16 (uint16x4_t __a, const int __b)
3443
{
3444
  return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 0);
3445
}
3446
 
3447
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3448
vshr_n_u32 (uint32x2_t __a, const int __b)
3449
{
3450
  return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 0);
3451
}
3452
 
3453
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3454
vshr_n_u64 (uint64x1_t __a, const int __b)
3455
{
3456
  return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 0);
3457
}
3458
 
3459
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3460
vshrq_n_s8 (int8x16_t __a, const int __b)
3461
{
3462
  return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 1);
3463
}
3464
 
3465
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3466
vshrq_n_s16 (int16x8_t __a, const int __b)
3467
{
3468
  return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 1);
3469
}
3470
 
3471
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3472
vshrq_n_s32 (int32x4_t __a, const int __b)
3473
{
3474
  return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 1);
3475
}
3476
 
3477
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3478
vshrq_n_s64 (int64x2_t __a, const int __b)
3479
{
3480
  return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 1);
3481
}
3482
 
3483
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3484
vshrq_n_u8 (uint8x16_t __a, const int __b)
3485
{
3486
  return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 0);
3487
}
3488
 
3489
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3490
vshrq_n_u16 (uint16x8_t __a, const int __b)
3491
{
3492
  return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 0);
3493
}
3494
 
3495
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3496
vshrq_n_u32 (uint32x4_t __a, const int __b)
3497
{
3498
  return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 0);
3499
}
3500
 
3501
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3502
vshrq_n_u64 (uint64x2_t __a, const int __b)
3503
{
3504
  return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 0);
3505
}
3506
 
3507
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3508
vrshr_n_s8 (int8x8_t __a, const int __b)
3509
{
3510
  return (int8x8_t)__builtin_neon_vshr_nv8qi (__a, __b, 5);
3511
}
3512
 
3513
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3514
vrshr_n_s16 (int16x4_t __a, const int __b)
3515
{
3516
  return (int16x4_t)__builtin_neon_vshr_nv4hi (__a, __b, 5);
3517
}
3518
 
3519
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3520
vrshr_n_s32 (int32x2_t __a, const int __b)
3521
{
3522
  return (int32x2_t)__builtin_neon_vshr_nv2si (__a, __b, 5);
3523
}
3524
 
3525
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3526
vrshr_n_s64 (int64x1_t __a, const int __b)
3527
{
3528
  return (int64x1_t)__builtin_neon_vshr_ndi (__a, __b, 5);
3529
}
3530
 
3531
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3532
vrshr_n_u8 (uint8x8_t __a, const int __b)
3533
{
3534
  return (uint8x8_t)__builtin_neon_vshr_nv8qi ((int8x8_t) __a, __b, 4);
3535
}
3536
 
3537
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3538
vrshr_n_u16 (uint16x4_t __a, const int __b)
3539
{
3540
  return (uint16x4_t)__builtin_neon_vshr_nv4hi ((int16x4_t) __a, __b, 4);
3541
}
3542
 
3543
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3544
vrshr_n_u32 (uint32x2_t __a, const int __b)
3545
{
3546
  return (uint32x2_t)__builtin_neon_vshr_nv2si ((int32x2_t) __a, __b, 4);
3547
}
3548
 
3549
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3550
vrshr_n_u64 (uint64x1_t __a, const int __b)
3551
{
3552
  return (uint64x1_t)__builtin_neon_vshr_ndi ((int64x1_t) __a, __b, 4);
3553
}
3554
 
3555
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3556
vrshrq_n_s8 (int8x16_t __a, const int __b)
3557
{
3558
  return (int8x16_t)__builtin_neon_vshr_nv16qi (__a, __b, 5);
3559
}
3560
 
3561
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3562
vrshrq_n_s16 (int16x8_t __a, const int __b)
3563
{
3564
  return (int16x8_t)__builtin_neon_vshr_nv8hi (__a, __b, 5);
3565
}
3566
 
3567
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3568
vrshrq_n_s32 (int32x4_t __a, const int __b)
3569
{
3570
  return (int32x4_t)__builtin_neon_vshr_nv4si (__a, __b, 5);
3571
}
3572
 
3573
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3574
vrshrq_n_s64 (int64x2_t __a, const int __b)
3575
{
3576
  return (int64x2_t)__builtin_neon_vshr_nv2di (__a, __b, 5);
3577
}
3578
 
3579
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3580
vrshrq_n_u8 (uint8x16_t __a, const int __b)
3581
{
3582
  return (uint8x16_t)__builtin_neon_vshr_nv16qi ((int8x16_t) __a, __b, 4);
3583
}
3584
 
3585
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3586
vrshrq_n_u16 (uint16x8_t __a, const int __b)
3587
{
3588
  return (uint16x8_t)__builtin_neon_vshr_nv8hi ((int16x8_t) __a, __b, 4);
3589
}
3590
 
3591
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3592
vrshrq_n_u32 (uint32x4_t __a, const int __b)
3593
{
3594
  return (uint32x4_t)__builtin_neon_vshr_nv4si ((int32x4_t) __a, __b, 4);
3595
}
3596
 
3597
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3598
vrshrq_n_u64 (uint64x2_t __a, const int __b)
3599
{
3600
  return (uint64x2_t)__builtin_neon_vshr_nv2di ((int64x2_t) __a, __b, 4);
3601
}
3602
 
3603
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3604
vshrn_n_s16 (int16x8_t __a, const int __b)
3605
{
3606
  return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 1);
3607
}
3608
 
3609
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3610
vshrn_n_s32 (int32x4_t __a, const int __b)
3611
{
3612
  return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 1);
3613
}
3614
 
3615
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3616
vshrn_n_s64 (int64x2_t __a, const int __b)
3617
{
3618
  return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 1);
3619
}
3620
 
3621
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3622
vshrn_n_u16 (uint16x8_t __a, const int __b)
3623
{
3624
  return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 0);
3625
}
3626
 
3627
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3628
vshrn_n_u32 (uint32x4_t __a, const int __b)
3629
{
3630
  return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 0);
3631
}
3632
 
3633
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3634
vshrn_n_u64 (uint64x2_t __a, const int __b)
3635
{
3636
  return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 0);
3637
}
3638
 
3639
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3640
vrshrn_n_s16 (int16x8_t __a, const int __b)
3641
{
3642
  return (int8x8_t)__builtin_neon_vshrn_nv8hi (__a, __b, 5);
3643
}
3644
 
3645
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3646
vrshrn_n_s32 (int32x4_t __a, const int __b)
3647
{
3648
  return (int16x4_t)__builtin_neon_vshrn_nv4si (__a, __b, 5);
3649
}
3650
 
3651
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3652
vrshrn_n_s64 (int64x2_t __a, const int __b)
3653
{
3654
  return (int32x2_t)__builtin_neon_vshrn_nv2di (__a, __b, 5);
3655
}
3656
 
3657
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3658
vrshrn_n_u16 (uint16x8_t __a, const int __b)
3659
{
3660
  return (uint8x8_t)__builtin_neon_vshrn_nv8hi ((int16x8_t) __a, __b, 4);
3661
}
3662
 
3663
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3664
vrshrn_n_u32 (uint32x4_t __a, const int __b)
3665
{
3666
  return (uint16x4_t)__builtin_neon_vshrn_nv4si ((int32x4_t) __a, __b, 4);
3667
}
3668
 
3669
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3670
vrshrn_n_u64 (uint64x2_t __a, const int __b)
3671
{
3672
  return (uint32x2_t)__builtin_neon_vshrn_nv2di ((int64x2_t) __a, __b, 4);
3673
}
3674
 
3675
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3676
vqshrn_n_s16 (int16x8_t __a, const int __b)
3677
{
3678
  return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 1);
3679
}
3680
 
3681
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3682
vqshrn_n_s32 (int32x4_t __a, const int __b)
3683
{
3684
  return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 1);
3685
}
3686
 
3687
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3688
vqshrn_n_s64 (int64x2_t __a, const int __b)
3689
{
3690
  return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 1);
3691
}
3692
 
3693
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3694
vqshrn_n_u16 (uint16x8_t __a, const int __b)
3695
{
3696
  return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 0);
3697
}
3698
 
3699
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3700
vqshrn_n_u32 (uint32x4_t __a, const int __b)
3701
{
3702
  return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 0);
3703
}
3704
 
3705
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3706
vqshrn_n_u64 (uint64x2_t __a, const int __b)
3707
{
3708
  return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 0);
3709
}
3710
 
3711
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3712
vqrshrn_n_s16 (int16x8_t __a, const int __b)
3713
{
3714
  return (int8x8_t)__builtin_neon_vqshrn_nv8hi (__a, __b, 5);
3715
}
3716
 
3717
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3718
vqrshrn_n_s32 (int32x4_t __a, const int __b)
3719
{
3720
  return (int16x4_t)__builtin_neon_vqshrn_nv4si (__a, __b, 5);
3721
}
3722
 
3723
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3724
vqrshrn_n_s64 (int64x2_t __a, const int __b)
3725
{
3726
  return (int32x2_t)__builtin_neon_vqshrn_nv2di (__a, __b, 5);
3727
}
3728
 
3729
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3730
vqrshrn_n_u16 (uint16x8_t __a, const int __b)
3731
{
3732
  return (uint8x8_t)__builtin_neon_vqshrn_nv8hi ((int16x8_t) __a, __b, 4);
3733
}
3734
 
3735
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3736
vqrshrn_n_u32 (uint32x4_t __a, const int __b)
3737
{
3738
  return (uint16x4_t)__builtin_neon_vqshrn_nv4si ((int32x4_t) __a, __b, 4);
3739
}
3740
 
3741
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3742
vqrshrn_n_u64 (uint64x2_t __a, const int __b)
3743
{
3744
  return (uint32x2_t)__builtin_neon_vqshrn_nv2di ((int64x2_t) __a, __b, 4);
3745
}
3746
 
3747
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3748
vqshrun_n_s16 (int16x8_t __a, const int __b)
3749
{
3750
  return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 1);
3751
}
3752
 
3753
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3754
vqshrun_n_s32 (int32x4_t __a, const int __b)
3755
{
3756
  return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 1);
3757
}
3758
 
3759
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3760
vqshrun_n_s64 (int64x2_t __a, const int __b)
3761
{
3762
  return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 1);
3763
}
3764
 
3765
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3766
vqrshrun_n_s16 (int16x8_t __a, const int __b)
3767
{
3768
  return (uint8x8_t)__builtin_neon_vqshrun_nv8hi (__a, __b, 5);
3769
}
3770
 
3771
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3772
vqrshrun_n_s32 (int32x4_t __a, const int __b)
3773
{
3774
  return (uint16x4_t)__builtin_neon_vqshrun_nv4si (__a, __b, 5);
3775
}
3776
 
3777
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3778
vqrshrun_n_s64 (int64x2_t __a, const int __b)
3779
{
3780
  return (uint32x2_t)__builtin_neon_vqshrun_nv2di (__a, __b, 5);
3781
}
3782
 
3783
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3784
vshl_n_s8 (int8x8_t __a, const int __b)
3785
{
3786
  return (int8x8_t)__builtin_neon_vshl_nv8qi (__a, __b, 1);
3787
}
3788
 
3789
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3790
vshl_n_s16 (int16x4_t __a, const int __b)
3791
{
3792
  return (int16x4_t)__builtin_neon_vshl_nv4hi (__a, __b, 1);
3793
}
3794
 
3795
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3796
vshl_n_s32 (int32x2_t __a, const int __b)
3797
{
3798
  return (int32x2_t)__builtin_neon_vshl_nv2si (__a, __b, 1);
3799
}
3800
 
3801
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3802
vshl_n_s64 (int64x1_t __a, const int __b)
3803
{
3804
  return (int64x1_t)__builtin_neon_vshl_ndi (__a, __b, 1);
3805
}
3806
 
3807
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3808
vshl_n_u8 (uint8x8_t __a, const int __b)
3809
{
3810
  return (uint8x8_t)__builtin_neon_vshl_nv8qi ((int8x8_t) __a, __b, 0);
3811
}
3812
 
3813
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3814
vshl_n_u16 (uint16x4_t __a, const int __b)
3815
{
3816
  return (uint16x4_t)__builtin_neon_vshl_nv4hi ((int16x4_t) __a, __b, 0);
3817
}
3818
 
3819
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3820
vshl_n_u32 (uint32x2_t __a, const int __b)
3821
{
3822
  return (uint32x2_t)__builtin_neon_vshl_nv2si ((int32x2_t) __a, __b, 0);
3823
}
3824
 
3825
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3826
vshl_n_u64 (uint64x1_t __a, const int __b)
3827
{
3828
  return (uint64x1_t)__builtin_neon_vshl_ndi ((int64x1_t) __a, __b, 0);
3829
}
3830
 
3831
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3832
vshlq_n_s8 (int8x16_t __a, const int __b)
3833
{
3834
  return (int8x16_t)__builtin_neon_vshl_nv16qi (__a, __b, 1);
3835
}
3836
 
3837
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3838
vshlq_n_s16 (int16x8_t __a, const int __b)
3839
{
3840
  return (int16x8_t)__builtin_neon_vshl_nv8hi (__a, __b, 1);
3841
}
3842
 
3843
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3844
vshlq_n_s32 (int32x4_t __a, const int __b)
3845
{
3846
  return (int32x4_t)__builtin_neon_vshl_nv4si (__a, __b, 1);
3847
}
3848
 
3849
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3850
vshlq_n_s64 (int64x2_t __a, const int __b)
3851
{
3852
  return (int64x2_t)__builtin_neon_vshl_nv2di (__a, __b, 1);
3853
}
3854
 
3855
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3856
vshlq_n_u8 (uint8x16_t __a, const int __b)
3857
{
3858
  return (uint8x16_t)__builtin_neon_vshl_nv16qi ((int8x16_t) __a, __b, 0);
3859
}
3860
 
3861
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3862
vshlq_n_u16 (uint16x8_t __a, const int __b)
3863
{
3864
  return (uint16x8_t)__builtin_neon_vshl_nv8hi ((int16x8_t) __a, __b, 0);
3865
}
3866
 
3867
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3868
vshlq_n_u32 (uint32x4_t __a, const int __b)
3869
{
3870
  return (uint32x4_t)__builtin_neon_vshl_nv4si ((int32x4_t) __a, __b, 0);
3871
}
3872
 
3873
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3874
vshlq_n_u64 (uint64x2_t __a, const int __b)
3875
{
3876
  return (uint64x2_t)__builtin_neon_vshl_nv2di ((int64x2_t) __a, __b, 0);
3877
}
3878
 
3879
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
3880
vqshl_n_s8 (int8x8_t __a, const int __b)
3881
{
3882
  return (int8x8_t)__builtin_neon_vqshl_nv8qi (__a, __b, 1);
3883
}
3884
 
3885
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
3886
vqshl_n_s16 (int16x4_t __a, const int __b)
3887
{
3888
  return (int16x4_t)__builtin_neon_vqshl_nv4hi (__a, __b, 1);
3889
}
3890
 
3891
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
3892
vqshl_n_s32 (int32x2_t __a, const int __b)
3893
{
3894
  return (int32x2_t)__builtin_neon_vqshl_nv2si (__a, __b, 1);
3895
}
3896
 
3897
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
3898
vqshl_n_s64 (int64x1_t __a, const int __b)
3899
{
3900
  return (int64x1_t)__builtin_neon_vqshl_ndi (__a, __b, 1);
3901
}
3902
 
3903
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3904
vqshl_n_u8 (uint8x8_t __a, const int __b)
3905
{
3906
  return (uint8x8_t)__builtin_neon_vqshl_nv8qi ((int8x8_t) __a, __b, 0);
3907
}
3908
 
3909
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3910
vqshl_n_u16 (uint16x4_t __a, const int __b)
3911
{
3912
  return (uint16x4_t)__builtin_neon_vqshl_nv4hi ((int16x4_t) __a, __b, 0);
3913
}
3914
 
3915
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3916
vqshl_n_u32 (uint32x2_t __a, const int __b)
3917
{
3918
  return (uint32x2_t)__builtin_neon_vqshl_nv2si ((int32x2_t) __a, __b, 0);
3919
}
3920
 
3921
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3922
vqshl_n_u64 (uint64x1_t __a, const int __b)
3923
{
3924
  return (uint64x1_t)__builtin_neon_vqshl_ndi ((int64x1_t) __a, __b, 0);
3925
}
3926
 
3927
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
3928
vqshlq_n_s8 (int8x16_t __a, const int __b)
3929
{
3930
  return (int8x16_t)__builtin_neon_vqshl_nv16qi (__a, __b, 1);
3931
}
3932
 
3933
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
3934
vqshlq_n_s16 (int16x8_t __a, const int __b)
3935
{
3936
  return (int16x8_t)__builtin_neon_vqshl_nv8hi (__a, __b, 1);
3937
}
3938
 
3939
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
3940
vqshlq_n_s32 (int32x4_t __a, const int __b)
3941
{
3942
  return (int32x4_t)__builtin_neon_vqshl_nv4si (__a, __b, 1);
3943
}
3944
 
3945
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
3946
vqshlq_n_s64 (int64x2_t __a, const int __b)
3947
{
3948
  return (int64x2_t)__builtin_neon_vqshl_nv2di (__a, __b, 1);
3949
}
3950
 
3951
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
3952
vqshlq_n_u8 (uint8x16_t __a, const int __b)
3953
{
3954
  return (uint8x16_t)__builtin_neon_vqshl_nv16qi ((int8x16_t) __a, __b, 0);
3955
}
3956
 
3957
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
3958
vqshlq_n_u16 (uint16x8_t __a, const int __b)
3959
{
3960
  return (uint16x8_t)__builtin_neon_vqshl_nv8hi ((int16x8_t) __a, __b, 0);
3961
}
3962
 
3963
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
3964
vqshlq_n_u32 (uint32x4_t __a, const int __b)
3965
{
3966
  return (uint32x4_t)__builtin_neon_vqshl_nv4si ((int32x4_t) __a, __b, 0);
3967
}
3968
 
3969
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
3970
vqshlq_n_u64 (uint64x2_t __a, const int __b)
3971
{
3972
  return (uint64x2_t)__builtin_neon_vqshl_nv2di ((int64x2_t) __a, __b, 0);
3973
}
3974
 
3975
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
3976
vqshlu_n_s8 (int8x8_t __a, const int __b)
3977
{
3978
  return (uint8x8_t)__builtin_neon_vqshlu_nv8qi (__a, __b, 1);
3979
}
3980
 
3981
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
3982
vqshlu_n_s16 (int16x4_t __a, const int __b)
3983
{
3984
  return (uint16x4_t)__builtin_neon_vqshlu_nv4hi (__a, __b, 1);
3985
}
3986
 
3987
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
3988
vqshlu_n_s32 (int32x2_t __a, const int __b)
3989
{
3990
  return (uint32x2_t)__builtin_neon_vqshlu_nv2si (__a, __b, 1);
3991
}
3992
 
3993
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
3994
vqshlu_n_s64 (int64x1_t __a, const int __b)
3995
{
3996
  return (uint64x1_t)__builtin_neon_vqshlu_ndi (__a, __b, 1);
3997
}
3998
 
3999
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4000
vqshluq_n_s8 (int8x16_t __a, const int __b)
4001
{
4002
  return (uint8x16_t)__builtin_neon_vqshlu_nv16qi (__a, __b, 1);
4003
}
4004
 
4005
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4006
vqshluq_n_s16 (int16x8_t __a, const int __b)
4007
{
4008
  return (uint16x8_t)__builtin_neon_vqshlu_nv8hi (__a, __b, 1);
4009
}
4010
 
4011
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4012
vqshluq_n_s32 (int32x4_t __a, const int __b)
4013
{
4014
  return (uint32x4_t)__builtin_neon_vqshlu_nv4si (__a, __b, 1);
4015
}
4016
 
4017
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4018
vqshluq_n_s64 (int64x2_t __a, const int __b)
4019
{
4020
  return (uint64x2_t)__builtin_neon_vqshlu_nv2di (__a, __b, 1);
4021
}
4022
 
4023
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4024
vshll_n_s8 (int8x8_t __a, const int __b)
4025
{
4026
  return (int16x8_t)__builtin_neon_vshll_nv8qi (__a, __b, 1);
4027
}
4028
 
4029
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4030
vshll_n_s16 (int16x4_t __a, const int __b)
4031
{
4032
  return (int32x4_t)__builtin_neon_vshll_nv4hi (__a, __b, 1);
4033
}
4034
 
4035
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4036
vshll_n_s32 (int32x2_t __a, const int __b)
4037
{
4038
  return (int64x2_t)__builtin_neon_vshll_nv2si (__a, __b, 1);
4039
}
4040
 
4041
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4042
vshll_n_u8 (uint8x8_t __a, const int __b)
4043
{
4044
  return (uint16x8_t)__builtin_neon_vshll_nv8qi ((int8x8_t) __a, __b, 0);
4045
}
4046
 
4047
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4048
vshll_n_u16 (uint16x4_t __a, const int __b)
4049
{
4050
  return (uint32x4_t)__builtin_neon_vshll_nv4hi ((int16x4_t) __a, __b, 0);
4051
}
4052
 
4053
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4054
vshll_n_u32 (uint32x2_t __a, const int __b)
4055
{
4056
  return (uint64x2_t)__builtin_neon_vshll_nv2si ((int32x2_t) __a, __b, 0);
4057
}
4058
 
4059
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4060
vsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4061
{
4062
  return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 1);
4063
}
4064
 
4065
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4066
vsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4067
{
4068
  return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 1);
4069
}
4070
 
4071
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4072
vsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4073
{
4074
  return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 1);
4075
}
4076
 
4077
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4078
vsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4079
{
4080
  return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 1);
4081
}
4082
 
4083
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4084
vsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4085
{
4086
  return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 0);
4087
}
4088
 
4089
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4090
vsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4091
{
4092
  return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
4093
}
4094
 
4095
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4096
vsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4097
{
4098
  return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
4099
}
4100
 
4101
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4102
vsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4103
{
4104
  return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 0);
4105
}
4106
 
4107
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4108
vsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4109
{
4110
  return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 1);
4111
}
4112
 
4113
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4114
vsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4115
{
4116
  return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 1);
4117
}
4118
 
4119
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4120
vsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4121
{
4122
  return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 1);
4123
}
4124
 
4125
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4126
vsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4127
{
4128
  return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 1);
4129
}
4130
 
4131
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4132
vsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4133
{
4134
  return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 0);
4135
}
4136
 
4137
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4138
vsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4139
{
4140
  return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 0);
4141
}
4142
 
4143
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4144
vsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4145
{
4146
  return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 0);
4147
}
4148
 
4149
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4150
vsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4151
{
4152
  return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 0);
4153
}
4154
 
4155
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4156
vrsra_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4157
{
4158
  return (int8x8_t)__builtin_neon_vsra_nv8qi (__a, __b, __c, 5);
4159
}
4160
 
4161
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4162
vrsra_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4163
{
4164
  return (int16x4_t)__builtin_neon_vsra_nv4hi (__a, __b, __c, 5);
4165
}
4166
 
4167
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4168
vrsra_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4169
{
4170
  return (int32x2_t)__builtin_neon_vsra_nv2si (__a, __b, __c, 5);
4171
}
4172
 
4173
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4174
vrsra_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4175
{
4176
  return (int64x1_t)__builtin_neon_vsra_ndi (__a, __b, __c, 5);
4177
}
4178
 
4179
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4180
vrsra_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4181
{
4182
  return (uint8x8_t)__builtin_neon_vsra_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c, 4);
4183
}
4184
 
4185
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4186
vrsra_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4187
{
4188
  return (uint16x4_t)__builtin_neon_vsra_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 4);
4189
}
4190
 
4191
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4192
vrsra_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4193
{
4194
  return (uint32x2_t)__builtin_neon_vsra_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c, 4);
4195
}
4196
 
4197
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4198
vrsra_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4199
{
4200
  return (uint64x1_t)__builtin_neon_vsra_ndi ((int64x1_t) __a, (int64x1_t) __b, __c, 4);
4201
}
4202
 
4203
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4204
vrsraq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4205
{
4206
  return (int8x16_t)__builtin_neon_vsra_nv16qi (__a, __b, __c, 5);
4207
}
4208
 
4209
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4210
vrsraq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4211
{
4212
  return (int16x8_t)__builtin_neon_vsra_nv8hi (__a, __b, __c, 5);
4213
}
4214
 
4215
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4216
vrsraq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4217
{
4218
  return (int32x4_t)__builtin_neon_vsra_nv4si (__a, __b, __c, 5);
4219
}
4220
 
4221
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4222
vrsraq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4223
{
4224
  return (int64x2_t)__builtin_neon_vsra_nv2di (__a, __b, __c, 5);
4225
}
4226
 
4227
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4228
vrsraq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4229
{
4230
  return (uint8x16_t)__builtin_neon_vsra_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c, 4);
4231
}
4232
 
4233
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4234
vrsraq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4235
{
4236
  return (uint16x8_t)__builtin_neon_vsra_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c, 4);
4237
}
4238
 
4239
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4240
vrsraq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4241
{
4242
  return (uint32x4_t)__builtin_neon_vsra_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c, 4);
4243
}
4244
 
4245
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4246
vrsraq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4247
{
4248
  return (uint64x2_t)__builtin_neon_vsra_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c, 4);
4249
}
4250
 
4251
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4252
vsri_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4253
{
4254
  return (int8x8_t)__builtin_neon_vsri_nv8qi (__a, __b, __c);
4255
}
4256
 
4257
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4258
vsri_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4259
{
4260
  return (int16x4_t)__builtin_neon_vsri_nv4hi (__a, __b, __c);
4261
}
4262
 
4263
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4264
vsri_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4265
{
4266
  return (int32x2_t)__builtin_neon_vsri_nv2si (__a, __b, __c);
4267
}
4268
 
4269
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4270
vsri_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4271
{
4272
  return (int64x1_t)__builtin_neon_vsri_ndi (__a, __b, __c);
4273
}
4274
 
4275
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4276
vsri_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4277
{
4278
  return (uint8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4279
}
4280
 
4281
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4282
vsri_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4283
{
4284
  return (uint16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4285
}
4286
 
4287
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4288
vsri_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4289
{
4290
  return (uint32x2_t)__builtin_neon_vsri_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
4291
}
4292
 
4293
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4294
vsri_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4295
{
4296
  return (uint64x1_t)__builtin_neon_vsri_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
4297
}
4298
 
4299
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4300
vsri_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
4301
{
4302
  return (poly8x8_t)__builtin_neon_vsri_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4303
}
4304
 
4305
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
4306
vsri_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
4307
{
4308
  return (poly16x4_t)__builtin_neon_vsri_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4309
}
4310
 
4311
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4312
vsriq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4313
{
4314
  return (int8x16_t)__builtin_neon_vsri_nv16qi (__a, __b, __c);
4315
}
4316
 
4317
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4318
vsriq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4319
{
4320
  return (int16x8_t)__builtin_neon_vsri_nv8hi (__a, __b, __c);
4321
}
4322
 
4323
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4324
vsriq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4325
{
4326
  return (int32x4_t)__builtin_neon_vsri_nv4si (__a, __b, __c);
4327
}
4328
 
4329
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4330
vsriq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4331
{
4332
  return (int64x2_t)__builtin_neon_vsri_nv2di (__a, __b, __c);
4333
}
4334
 
4335
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4336
vsriq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4337
{
4338
  return (uint8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4339
}
4340
 
4341
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4342
vsriq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4343
{
4344
  return (uint16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4345
}
4346
 
4347
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4348
vsriq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4349
{
4350
  return (uint32x4_t)__builtin_neon_vsri_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
4351
}
4352
 
4353
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4354
vsriq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4355
{
4356
  return (uint64x2_t)__builtin_neon_vsri_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4357
}
4358
 
4359
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4360
vsriq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
4361
{
4362
  return (poly8x16_t)__builtin_neon_vsri_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4363
}
4364
 
4365
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
4366
vsriq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
4367
{
4368
  return (poly16x8_t)__builtin_neon_vsri_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4369
}
4370
 
4371
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4372
vsli_n_s8 (int8x8_t __a, int8x8_t __b, const int __c)
4373
{
4374
  return (int8x8_t)__builtin_neon_vsli_nv8qi (__a, __b, __c);
4375
}
4376
 
4377
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4378
vsli_n_s16 (int16x4_t __a, int16x4_t __b, const int __c)
4379
{
4380
  return (int16x4_t)__builtin_neon_vsli_nv4hi (__a, __b, __c);
4381
}
4382
 
4383
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4384
vsli_n_s32 (int32x2_t __a, int32x2_t __b, const int __c)
4385
{
4386
  return (int32x2_t)__builtin_neon_vsli_nv2si (__a, __b, __c);
4387
}
4388
 
4389
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
4390
vsli_n_s64 (int64x1_t __a, int64x1_t __b, const int __c)
4391
{
4392
  return (int64x1_t)__builtin_neon_vsli_ndi (__a, __b, __c);
4393
}
4394
 
4395
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4396
vsli_n_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
4397
{
4398
  return (uint8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4399
}
4400
 
4401
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4402
vsli_n_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
4403
{
4404
  return (uint16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4405
}
4406
 
4407
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4408
vsli_n_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
4409
{
4410
  return (uint32x2_t)__builtin_neon_vsli_nv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
4411
}
4412
 
4413
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
4414
vsli_n_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
4415
{
4416
  return (uint64x1_t)__builtin_neon_vsli_ndi ((int64x1_t) __a, (int64x1_t) __b, __c);
4417
}
4418
 
4419
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4420
vsli_n_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
4421
{
4422
  return (poly8x8_t)__builtin_neon_vsli_nv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
4423
}
4424
 
4425
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
4426
vsli_n_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
4427
{
4428
  return (poly16x4_t)__builtin_neon_vsli_nv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
4429
}
4430
 
4431
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4432
vsliq_n_s8 (int8x16_t __a, int8x16_t __b, const int __c)
4433
{
4434
  return (int8x16_t)__builtin_neon_vsli_nv16qi (__a, __b, __c);
4435
}
4436
 
4437
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4438
vsliq_n_s16 (int16x8_t __a, int16x8_t __b, const int __c)
4439
{
4440
  return (int16x8_t)__builtin_neon_vsli_nv8hi (__a, __b, __c);
4441
}
4442
 
4443
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4444
vsliq_n_s32 (int32x4_t __a, int32x4_t __b, const int __c)
4445
{
4446
  return (int32x4_t)__builtin_neon_vsli_nv4si (__a, __b, __c);
4447
}
4448
 
4449
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
4450
vsliq_n_s64 (int64x2_t __a, int64x2_t __b, const int __c)
4451
{
4452
  return (int64x2_t)__builtin_neon_vsli_nv2di (__a, __b, __c);
4453
}
4454
 
4455
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4456
vsliq_n_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
4457
{
4458
  return (uint8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4459
}
4460
 
4461
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4462
vsliq_n_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
4463
{
4464
  return (uint16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4465
}
4466
 
4467
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4468
vsliq_n_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
4469
{
4470
  return (uint32x4_t)__builtin_neon_vsli_nv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
4471
}
4472
 
4473
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
4474
vsliq_n_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
4475
{
4476
  return (uint64x2_t)__builtin_neon_vsli_nv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
4477
}
4478
 
4479
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4480
vsliq_n_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
4481
{
4482
  return (poly8x16_t)__builtin_neon_vsli_nv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
4483
}
4484
 
4485
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
4486
vsliq_n_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
4487
{
4488
  return (poly16x8_t)__builtin_neon_vsli_nv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
4489
}
4490
 
4491
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4492
vabs_s8 (int8x8_t __a)
4493
{
4494
  return (int8x8_t)__builtin_neon_vabsv8qi (__a, 1);
4495
}
4496
 
4497
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4498
vabs_s16 (int16x4_t __a)
4499
{
4500
  return (int16x4_t)__builtin_neon_vabsv4hi (__a, 1);
4501
}
4502
 
4503
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4504
vabs_s32 (int32x2_t __a)
4505
{
4506
  return (int32x2_t)__builtin_neon_vabsv2si (__a, 1);
4507
}
4508
 
4509
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
4510
vabs_f32 (float32x2_t __a)
4511
{
4512
  return (float32x2_t)__builtin_neon_vabsv2sf (__a, 3);
4513
}
4514
 
4515
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4516
vabsq_s8 (int8x16_t __a)
4517
{
4518
  return (int8x16_t)__builtin_neon_vabsv16qi (__a, 1);
4519
}
4520
 
4521
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4522
vabsq_s16 (int16x8_t __a)
4523
{
4524
  return (int16x8_t)__builtin_neon_vabsv8hi (__a, 1);
4525
}
4526
 
4527
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4528
vabsq_s32 (int32x4_t __a)
4529
{
4530
  return (int32x4_t)__builtin_neon_vabsv4si (__a, 1);
4531
}
4532
 
4533
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
4534
vabsq_f32 (float32x4_t __a)
4535
{
4536
  return (float32x4_t)__builtin_neon_vabsv4sf (__a, 3);
4537
}
4538
 
4539
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4540
vqabs_s8 (int8x8_t __a)
4541
{
4542
  return (int8x8_t)__builtin_neon_vqabsv8qi (__a, 1);
4543
}
4544
 
4545
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4546
vqabs_s16 (int16x4_t __a)
4547
{
4548
  return (int16x4_t)__builtin_neon_vqabsv4hi (__a, 1);
4549
}
4550
 
4551
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4552
vqabs_s32 (int32x2_t __a)
4553
{
4554
  return (int32x2_t)__builtin_neon_vqabsv2si (__a, 1);
4555
}
4556
 
4557
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4558
vqabsq_s8 (int8x16_t __a)
4559
{
4560
  return (int8x16_t)__builtin_neon_vqabsv16qi (__a, 1);
4561
}
4562
 
4563
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4564
vqabsq_s16 (int16x8_t __a)
4565
{
4566
  return (int16x8_t)__builtin_neon_vqabsv8hi (__a, 1);
4567
}
4568
 
4569
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4570
vqabsq_s32 (int32x4_t __a)
4571
{
4572
  return (int32x4_t)__builtin_neon_vqabsv4si (__a, 1);
4573
}
4574
 
4575
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4576
vneg_s8 (int8x8_t __a)
4577
{
4578
  return (int8x8_t)__builtin_neon_vnegv8qi (__a, 1);
4579
}
4580
 
4581
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4582
vneg_s16 (int16x4_t __a)
4583
{
4584
  return (int16x4_t)__builtin_neon_vnegv4hi (__a, 1);
4585
}
4586
 
4587
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4588
vneg_s32 (int32x2_t __a)
4589
{
4590
  return (int32x2_t)__builtin_neon_vnegv2si (__a, 1);
4591
}
4592
 
4593
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
4594
vneg_f32 (float32x2_t __a)
4595
{
4596
  return (float32x2_t)__builtin_neon_vnegv2sf (__a, 3);
4597
}
4598
 
4599
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4600
vnegq_s8 (int8x16_t __a)
4601
{
4602
  return (int8x16_t)__builtin_neon_vnegv16qi (__a, 1);
4603
}
4604
 
4605
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4606
vnegq_s16 (int16x8_t __a)
4607
{
4608
  return (int16x8_t)__builtin_neon_vnegv8hi (__a, 1);
4609
}
4610
 
4611
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4612
vnegq_s32 (int32x4_t __a)
4613
{
4614
  return (int32x4_t)__builtin_neon_vnegv4si (__a, 1);
4615
}
4616
 
4617
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
4618
vnegq_f32 (float32x4_t __a)
4619
{
4620
  return (float32x4_t)__builtin_neon_vnegv4sf (__a, 3);
4621
}
4622
 
4623
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4624
vqneg_s8 (int8x8_t __a)
4625
{
4626
  return (int8x8_t)__builtin_neon_vqnegv8qi (__a, 1);
4627
}
4628
 
4629
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4630
vqneg_s16 (int16x4_t __a)
4631
{
4632
  return (int16x4_t)__builtin_neon_vqnegv4hi (__a, 1);
4633
}
4634
 
4635
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4636
vqneg_s32 (int32x2_t __a)
4637
{
4638
  return (int32x2_t)__builtin_neon_vqnegv2si (__a, 1);
4639
}
4640
 
4641
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4642
vqnegq_s8 (int8x16_t __a)
4643
{
4644
  return (int8x16_t)__builtin_neon_vqnegv16qi (__a, 1);
4645
}
4646
 
4647
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4648
vqnegq_s16 (int16x8_t __a)
4649
{
4650
  return (int16x8_t)__builtin_neon_vqnegv8hi (__a, 1);
4651
}
4652
 
4653
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4654
vqnegq_s32 (int32x4_t __a)
4655
{
4656
  return (int32x4_t)__builtin_neon_vqnegv4si (__a, 1);
4657
}
4658
 
4659
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4660
vmvn_s8 (int8x8_t __a)
4661
{
4662
  return (int8x8_t)__builtin_neon_vmvnv8qi (__a, 1);
4663
}
4664
 
4665
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4666
vmvn_s16 (int16x4_t __a)
4667
{
4668
  return (int16x4_t)__builtin_neon_vmvnv4hi (__a, 1);
4669
}
4670
 
4671
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4672
vmvn_s32 (int32x2_t __a)
4673
{
4674
  return (int32x2_t)__builtin_neon_vmvnv2si (__a, 1);
4675
}
4676
 
4677
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4678
vmvn_u8 (uint8x8_t __a)
4679
{
4680
  return (uint8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 0);
4681
}
4682
 
4683
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4684
vmvn_u16 (uint16x4_t __a)
4685
{
4686
  return (uint16x4_t)__builtin_neon_vmvnv4hi ((int16x4_t) __a, 0);
4687
}
4688
 
4689
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4690
vmvn_u32 (uint32x2_t __a)
4691
{
4692
  return (uint32x2_t)__builtin_neon_vmvnv2si ((int32x2_t) __a, 0);
4693
}
4694
 
4695
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4696
vmvn_p8 (poly8x8_t __a)
4697
{
4698
  return (poly8x8_t)__builtin_neon_vmvnv8qi ((int8x8_t) __a, 2);
4699
}
4700
 
4701
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4702
vmvnq_s8 (int8x16_t __a)
4703
{
4704
  return (int8x16_t)__builtin_neon_vmvnv16qi (__a, 1);
4705
}
4706
 
4707
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4708
vmvnq_s16 (int16x8_t __a)
4709
{
4710
  return (int16x8_t)__builtin_neon_vmvnv8hi (__a, 1);
4711
}
4712
 
4713
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4714
vmvnq_s32 (int32x4_t __a)
4715
{
4716
  return (int32x4_t)__builtin_neon_vmvnv4si (__a, 1);
4717
}
4718
 
4719
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4720
vmvnq_u8 (uint8x16_t __a)
4721
{
4722
  return (uint8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 0);
4723
}
4724
 
4725
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4726
vmvnq_u16 (uint16x8_t __a)
4727
{
4728
  return (uint16x8_t)__builtin_neon_vmvnv8hi ((int16x8_t) __a, 0);
4729
}
4730
 
4731
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4732
vmvnq_u32 (uint32x4_t __a)
4733
{
4734
  return (uint32x4_t)__builtin_neon_vmvnv4si ((int32x4_t) __a, 0);
4735
}
4736
 
4737
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4738
vmvnq_p8 (poly8x16_t __a)
4739
{
4740
  return (poly8x16_t)__builtin_neon_vmvnv16qi ((int8x16_t) __a, 2);
4741
}
4742
 
4743
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4744
vcls_s8 (int8x8_t __a)
4745
{
4746
  return (int8x8_t)__builtin_neon_vclsv8qi (__a, 1);
4747
}
4748
 
4749
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4750
vcls_s16 (int16x4_t __a)
4751
{
4752
  return (int16x4_t)__builtin_neon_vclsv4hi (__a, 1);
4753
}
4754
 
4755
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4756
vcls_s32 (int32x2_t __a)
4757
{
4758
  return (int32x2_t)__builtin_neon_vclsv2si (__a, 1);
4759
}
4760
 
4761
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4762
vclsq_s8 (int8x16_t __a)
4763
{
4764
  return (int8x16_t)__builtin_neon_vclsv16qi (__a, 1);
4765
}
4766
 
4767
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4768
vclsq_s16 (int16x8_t __a)
4769
{
4770
  return (int16x8_t)__builtin_neon_vclsv8hi (__a, 1);
4771
}
4772
 
4773
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4774
vclsq_s32 (int32x4_t __a)
4775
{
4776
  return (int32x4_t)__builtin_neon_vclsv4si (__a, 1);
4777
}
4778
 
4779
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4780
vclz_s8 (int8x8_t __a)
4781
{
4782
  return (int8x8_t)__builtin_neon_vclzv8qi (__a, 1);
4783
}
4784
 
4785
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
4786
vclz_s16 (int16x4_t __a)
4787
{
4788
  return (int16x4_t)__builtin_neon_vclzv4hi (__a, 1);
4789
}
4790
 
4791
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
4792
vclz_s32 (int32x2_t __a)
4793
{
4794
  return (int32x2_t)__builtin_neon_vclzv2si (__a, 1);
4795
}
4796
 
4797
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4798
vclz_u8 (uint8x8_t __a)
4799
{
4800
  return (uint8x8_t)__builtin_neon_vclzv8qi ((int8x8_t) __a, 0);
4801
}
4802
 
4803
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
4804
vclz_u16 (uint16x4_t __a)
4805
{
4806
  return (uint16x4_t)__builtin_neon_vclzv4hi ((int16x4_t) __a, 0);
4807
}
4808
 
4809
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4810
vclz_u32 (uint32x2_t __a)
4811
{
4812
  return (uint32x2_t)__builtin_neon_vclzv2si ((int32x2_t) __a, 0);
4813
}
4814
 
4815
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4816
vclzq_s8 (int8x16_t __a)
4817
{
4818
  return (int8x16_t)__builtin_neon_vclzv16qi (__a, 1);
4819
}
4820
 
4821
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
4822
vclzq_s16 (int16x8_t __a)
4823
{
4824
  return (int16x8_t)__builtin_neon_vclzv8hi (__a, 1);
4825
}
4826
 
4827
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
4828
vclzq_s32 (int32x4_t __a)
4829
{
4830
  return (int32x4_t)__builtin_neon_vclzv4si (__a, 1);
4831
}
4832
 
4833
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4834
vclzq_u8 (uint8x16_t __a)
4835
{
4836
  return (uint8x16_t)__builtin_neon_vclzv16qi ((int8x16_t) __a, 0);
4837
}
4838
 
4839
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
4840
vclzq_u16 (uint16x8_t __a)
4841
{
4842
  return (uint16x8_t)__builtin_neon_vclzv8hi ((int16x8_t) __a, 0);
4843
}
4844
 
4845
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4846
vclzq_u32 (uint32x4_t __a)
4847
{
4848
  return (uint32x4_t)__builtin_neon_vclzv4si ((int32x4_t) __a, 0);
4849
}
4850
 
4851
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
4852
vcnt_s8 (int8x8_t __a)
4853
{
4854
  return (int8x8_t)__builtin_neon_vcntv8qi (__a, 1);
4855
}
4856
 
4857
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
4858
vcnt_u8 (uint8x8_t __a)
4859
{
4860
  return (uint8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 0);
4861
}
4862
 
4863
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
4864
vcnt_p8 (poly8x8_t __a)
4865
{
4866
  return (poly8x8_t)__builtin_neon_vcntv8qi ((int8x8_t) __a, 2);
4867
}
4868
 
4869
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
4870
vcntq_s8 (int8x16_t __a)
4871
{
4872
  return (int8x16_t)__builtin_neon_vcntv16qi (__a, 1);
4873
}
4874
 
4875
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
4876
vcntq_u8 (uint8x16_t __a)
4877
{
4878
  return (uint8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 0);
4879
}
4880
 
4881
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
4882
vcntq_p8 (poly8x16_t __a)
4883
{
4884
  return (poly8x16_t)__builtin_neon_vcntv16qi ((int8x16_t) __a, 2);
4885
}
4886
 
4887
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
4888
vrecpe_f32 (float32x2_t __a)
4889
{
4890
  return (float32x2_t)__builtin_neon_vrecpev2sf (__a, 3);
4891
}
4892
 
4893
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4894
vrecpe_u32 (uint32x2_t __a)
4895
{
4896
  return (uint32x2_t)__builtin_neon_vrecpev2si ((int32x2_t) __a, 0);
4897
}
4898
 
4899
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
4900
vrecpeq_f32 (float32x4_t __a)
4901
{
4902
  return (float32x4_t)__builtin_neon_vrecpev4sf (__a, 3);
4903
}
4904
 
4905
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4906
vrecpeq_u32 (uint32x4_t __a)
4907
{
4908
  return (uint32x4_t)__builtin_neon_vrecpev4si ((int32x4_t) __a, 0);
4909
}
4910
 
4911
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
4912
vrsqrte_f32 (float32x2_t __a)
4913
{
4914
  return (float32x2_t)__builtin_neon_vrsqrtev2sf (__a, 3);
4915
}
4916
 
4917
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
4918
vrsqrte_u32 (uint32x2_t __a)
4919
{
4920
  return (uint32x2_t)__builtin_neon_vrsqrtev2si ((int32x2_t) __a, 0);
4921
}
4922
 
4923
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
4924
vrsqrteq_f32 (float32x4_t __a)
4925
{
4926
  return (float32x4_t)__builtin_neon_vrsqrtev4sf (__a, 3);
4927
}
4928
 
4929
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
4930
vrsqrteq_u32 (uint32x4_t __a)
4931
{
4932
  return (uint32x4_t)__builtin_neon_vrsqrtev4si ((int32x4_t) __a, 0);
4933
}
4934
 
4935
__extension__ static __inline int8_t __attribute__ ((__always_inline__))
4936
vget_lane_s8 (int8x8_t __a, const int __b)
4937
{
4938
  return (int8_t)__builtin_neon_vget_lanev8qi (__a, __b, 1);
4939
}
4940
 
4941
__extension__ static __inline int16_t __attribute__ ((__always_inline__))
4942
vget_lane_s16 (int16x4_t __a, const int __b)
4943
{
4944
  return (int16_t)__builtin_neon_vget_lanev4hi (__a, __b, 1);
4945
}
4946
 
4947
__extension__ static __inline int32_t __attribute__ ((__always_inline__))
4948
vget_lane_s32 (int32x2_t __a, const int __b)
4949
{
4950
  return (int32_t)__builtin_neon_vget_lanev2si (__a, __b, 1);
4951
}
4952
 
4953
__extension__ static __inline float32_t __attribute__ ((__always_inline__))
4954
vget_lane_f32 (float32x2_t __a, const int __b)
4955
{
4956
  return (float32_t)__builtin_neon_vget_lanev2sf (__a, __b, 3);
4957
}
4958
 
4959
__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
4960
vget_lane_u8 (uint8x8_t __a, const int __b)
4961
{
4962
  return (uint8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 0);
4963
}
4964
 
4965
__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
4966
vget_lane_u16 (uint16x4_t __a, const int __b)
4967
{
4968
  return (uint16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 0);
4969
}
4970
 
4971
__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
4972
vget_lane_u32 (uint32x2_t __a, const int __b)
4973
{
4974
  return (uint32_t)__builtin_neon_vget_lanev2si ((int32x2_t) __a, __b, 0);
4975
}
4976
 
4977
__extension__ static __inline poly8_t __attribute__ ((__always_inline__))
4978
vget_lane_p8 (poly8x8_t __a, const int __b)
4979
{
4980
  return (poly8_t)__builtin_neon_vget_lanev8qi ((int8x8_t) __a, __b, 2);
4981
}
4982
 
4983
__extension__ static __inline poly16_t __attribute__ ((__always_inline__))
4984
vget_lane_p16 (poly16x4_t __a, const int __b)
4985
{
4986
  return (poly16_t)__builtin_neon_vget_lanev4hi ((int16x4_t) __a, __b, 2);
4987
}
4988
 
4989
__extension__ static __inline int64_t __attribute__ ((__always_inline__))
4990
vget_lane_s64 (int64x1_t __a, const int __b)
4991
{
4992
  return (int64_t)__builtin_neon_vget_lanedi (__a, __b, 1);
4993
}
4994
 
4995
__extension__ static __inline uint64_t __attribute__ ((__always_inline__))
4996
vget_lane_u64 (uint64x1_t __a, const int __b)
4997
{
4998
  return (uint64_t)__builtin_neon_vget_lanedi ((int64x1_t) __a, __b, 0);
4999
}
5000
 
5001
__extension__ static __inline int8_t __attribute__ ((__always_inline__))
5002
vgetq_lane_s8 (int8x16_t __a, const int __b)
5003
{
5004
  return (int8_t)__builtin_neon_vget_lanev16qi (__a, __b, 1);
5005
}
5006
 
5007
__extension__ static __inline int16_t __attribute__ ((__always_inline__))
5008
vgetq_lane_s16 (int16x8_t __a, const int __b)
5009
{
5010
  return (int16_t)__builtin_neon_vget_lanev8hi (__a, __b, 1);
5011
}
5012
 
5013
__extension__ static __inline int32_t __attribute__ ((__always_inline__))
5014
vgetq_lane_s32 (int32x4_t __a, const int __b)
5015
{
5016
  return (int32_t)__builtin_neon_vget_lanev4si (__a, __b, 1);
5017
}
5018
 
5019
__extension__ static __inline float32_t __attribute__ ((__always_inline__))
5020
vgetq_lane_f32 (float32x4_t __a, const int __b)
5021
{
5022
  return (float32_t)__builtin_neon_vget_lanev4sf (__a, __b, 3);
5023
}
5024
 
5025
__extension__ static __inline uint8_t __attribute__ ((__always_inline__))
5026
vgetq_lane_u8 (uint8x16_t __a, const int __b)
5027
{
5028
  return (uint8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 0);
5029
}
5030
 
5031
__extension__ static __inline uint16_t __attribute__ ((__always_inline__))
5032
vgetq_lane_u16 (uint16x8_t __a, const int __b)
5033
{
5034
  return (uint16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 0);
5035
}
5036
 
5037
__extension__ static __inline uint32_t __attribute__ ((__always_inline__))
5038
vgetq_lane_u32 (uint32x4_t __a, const int __b)
5039
{
5040
  return (uint32_t)__builtin_neon_vget_lanev4si ((int32x4_t) __a, __b, 0);
5041
}
5042
 
5043
__extension__ static __inline poly8_t __attribute__ ((__always_inline__))
5044
vgetq_lane_p8 (poly8x16_t __a, const int __b)
5045
{
5046
  return (poly8_t)__builtin_neon_vget_lanev16qi ((int8x16_t) __a, __b, 2);
5047
}
5048
 
5049
__extension__ static __inline poly16_t __attribute__ ((__always_inline__))
5050
vgetq_lane_p16 (poly16x8_t __a, const int __b)
5051
{
5052
  return (poly16_t)__builtin_neon_vget_lanev8hi ((int16x8_t) __a, __b, 2);
5053
}
5054
 
5055
__extension__ static __inline int64_t __attribute__ ((__always_inline__))
5056
vgetq_lane_s64 (int64x2_t __a, const int __b)
5057
{
5058
  return (int64_t)__builtin_neon_vget_lanev2di (__a, __b, 1);
5059
}
5060
 
5061
__extension__ static __inline uint64_t __attribute__ ((__always_inline__))
5062
vgetq_lane_u64 (uint64x2_t __a, const int __b)
5063
{
5064
  return (uint64_t)__builtin_neon_vget_lanev2di ((int64x2_t) __a, __b, 0);
5065
}
5066
 
5067
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5068
vset_lane_s8 (int8_t __a, int8x8_t __b, const int __c)
5069
{
5070
  return (int8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, __b, __c);
5071
}
5072
 
5073
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5074
vset_lane_s16 (int16_t __a, int16x4_t __b, const int __c)
5075
{
5076
  return (int16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, __b, __c);
5077
}
5078
 
5079
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5080
vset_lane_s32 (int32_t __a, int32x2_t __b, const int __c)
5081
{
5082
  return (int32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, __b, __c);
5083
}
5084
 
5085
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5086
vset_lane_f32 (float32_t __a, float32x2_t __b, const int __c)
5087
{
5088
  return (float32x2_t)__builtin_neon_vset_lanev2sf ((__builtin_neon_sf) __a, __b, __c);
5089
}
5090
 
5091
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5092
vset_lane_u8 (uint8_t __a, uint8x8_t __b, const int __c)
5093
{
5094
  return (uint8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
5095
}
5096
 
5097
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5098
vset_lane_u16 (uint16_t __a, uint16x4_t __b, const int __c)
5099
{
5100
  return (uint16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
5101
}
5102
 
5103
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5104
vset_lane_u32 (uint32_t __a, uint32x2_t __b, const int __c)
5105
{
5106
  return (uint32x2_t)__builtin_neon_vset_lanev2si ((__builtin_neon_si) __a, (int32x2_t) __b, __c);
5107
}
5108
 
5109
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5110
vset_lane_p8 (poly8_t __a, poly8x8_t __b, const int __c)
5111
{
5112
  return (poly8x8_t)__builtin_neon_vset_lanev8qi ((__builtin_neon_qi) __a, (int8x8_t) __b, __c);
5113
}
5114
 
5115
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5116
vset_lane_p16 (poly16_t __a, poly16x4_t __b, const int __c)
5117
{
5118
  return (poly16x4_t)__builtin_neon_vset_lanev4hi ((__builtin_neon_hi) __a, (int16x4_t) __b, __c);
5119
}
5120
 
5121
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5122
vset_lane_s64 (int64_t __a, int64x1_t __b, const int __c)
5123
{
5124
  return (int64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, __b, __c);
5125
}
5126
 
5127
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5128
vset_lane_u64 (uint64_t __a, uint64x1_t __b, const int __c)
5129
{
5130
  return (uint64x1_t)__builtin_neon_vset_lanedi ((__builtin_neon_di) __a, (int64x1_t) __b, __c);
5131
}
5132
 
5133
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5134
vsetq_lane_s8 (int8_t __a, int8x16_t __b, const int __c)
5135
{
5136
  return (int8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, __b, __c);
5137
}
5138
 
5139
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5140
vsetq_lane_s16 (int16_t __a, int16x8_t __b, const int __c)
5141
{
5142
  return (int16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, __b, __c);
5143
}
5144
 
5145
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5146
vsetq_lane_s32 (int32_t __a, int32x4_t __b, const int __c)
5147
{
5148
  return (int32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, __b, __c);
5149
}
5150
 
5151
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5152
vsetq_lane_f32 (float32_t __a, float32x4_t __b, const int __c)
5153
{
5154
  return (float32x4_t)__builtin_neon_vset_lanev4sf ((__builtin_neon_sf) __a, __b, __c);
5155
}
5156
 
5157
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5158
vsetq_lane_u8 (uint8_t __a, uint8x16_t __b, const int __c)
5159
{
5160
  return (uint8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
5161
}
5162
 
5163
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5164
vsetq_lane_u16 (uint16_t __a, uint16x8_t __b, const int __c)
5165
{
5166
  return (uint16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
5167
}
5168
 
5169
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5170
vsetq_lane_u32 (uint32_t __a, uint32x4_t __b, const int __c)
5171
{
5172
  return (uint32x4_t)__builtin_neon_vset_lanev4si ((__builtin_neon_si) __a, (int32x4_t) __b, __c);
5173
}
5174
 
5175
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5176
vsetq_lane_p8 (poly8_t __a, poly8x16_t __b, const int __c)
5177
{
5178
  return (poly8x16_t)__builtin_neon_vset_lanev16qi ((__builtin_neon_qi) __a, (int8x16_t) __b, __c);
5179
}
5180
 
5181
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5182
vsetq_lane_p16 (poly16_t __a, poly16x8_t __b, const int __c)
5183
{
5184
  return (poly16x8_t)__builtin_neon_vset_lanev8hi ((__builtin_neon_hi) __a, (int16x8_t) __b, __c);
5185
}
5186
 
5187
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5188
vsetq_lane_s64 (int64_t __a, int64x2_t __b, const int __c)
5189
{
5190
  return (int64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, __b, __c);
5191
}
5192
 
5193
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5194
vsetq_lane_u64 (uint64_t __a, uint64x2_t __b, const int __c)
5195
{
5196
  return (uint64x2_t)__builtin_neon_vset_lanev2di ((__builtin_neon_di) __a, (int64x2_t) __b, __c);
5197
}
5198
 
5199
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5200
vcreate_s8 (uint64_t __a)
5201
{
5202
  return (int8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5203
}
5204
 
5205
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5206
vcreate_s16 (uint64_t __a)
5207
{
5208
  return (int16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5209
}
5210
 
5211
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5212
vcreate_s32 (uint64_t __a)
5213
{
5214
  return (int32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
5215
}
5216
 
5217
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5218
vcreate_s64 (uint64_t __a)
5219
{
5220
  return (int64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5221
}
5222
 
5223
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5224
vcreate_f32 (uint64_t __a)
5225
{
5226
  return (float32x2_t)__builtin_neon_vcreatev2sf ((__builtin_neon_di) __a);
5227
}
5228
 
5229
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5230
vcreate_u8 (uint64_t __a)
5231
{
5232
  return (uint8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5233
}
5234
 
5235
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5236
vcreate_u16 (uint64_t __a)
5237
{
5238
  return (uint16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5239
}
5240
 
5241
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5242
vcreate_u32 (uint64_t __a)
5243
{
5244
  return (uint32x2_t)__builtin_neon_vcreatev2si ((__builtin_neon_di) __a);
5245
}
5246
 
5247
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5248
vcreate_u64 (uint64_t __a)
5249
{
5250
  return (uint64x1_t)__builtin_neon_vcreatedi ((__builtin_neon_di) __a);
5251
}
5252
 
5253
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5254
vcreate_p8 (uint64_t __a)
5255
{
5256
  return (poly8x8_t)__builtin_neon_vcreatev8qi ((__builtin_neon_di) __a);
5257
}
5258
 
5259
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5260
vcreate_p16 (uint64_t __a)
5261
{
5262
  return (poly16x4_t)__builtin_neon_vcreatev4hi ((__builtin_neon_di) __a);
5263
}
5264
 
5265
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5266
vdup_n_s8 (int8_t __a)
5267
{
5268
  return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5269
}
5270
 
5271
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5272
vdup_n_s16 (int16_t __a)
5273
{
5274
  return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5275
}
5276
 
5277
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5278
vdup_n_s32 (int32_t __a)
5279
{
5280
  return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5281
}
5282
 
5283
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5284
vdup_n_f32 (float32_t __a)
5285
{
5286
  return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
5287
}
5288
 
5289
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5290
vdup_n_u8 (uint8_t __a)
5291
{
5292
  return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5293
}
5294
 
5295
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5296
vdup_n_u16 (uint16_t __a)
5297
{
5298
  return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5299
}
5300
 
5301
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5302
vdup_n_u32 (uint32_t __a)
5303
{
5304
  return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5305
}
5306
 
5307
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5308
vdup_n_p8 (poly8_t __a)
5309
{
5310
  return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5311
}
5312
 
5313
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5314
vdup_n_p16 (poly16_t __a)
5315
{
5316
  return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5317
}
5318
 
5319
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5320
vdup_n_s64 (int64_t __a)
5321
{
5322
  return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5323
}
5324
 
5325
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5326
vdup_n_u64 (uint64_t __a)
5327
{
5328
  return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5329
}
5330
 
5331
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5332
vdupq_n_s8 (int8_t __a)
5333
{
5334
  return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5335
}
5336
 
5337
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5338
vdupq_n_s16 (int16_t __a)
5339
{
5340
  return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5341
}
5342
 
5343
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5344
vdupq_n_s32 (int32_t __a)
5345
{
5346
  return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5347
}
5348
 
5349
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5350
vdupq_n_f32 (float32_t __a)
5351
{
5352
  return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
5353
}
5354
 
5355
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5356
vdupq_n_u8 (uint8_t __a)
5357
{
5358
  return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5359
}
5360
 
5361
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5362
vdupq_n_u16 (uint16_t __a)
5363
{
5364
  return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5365
}
5366
 
5367
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5368
vdupq_n_u32 (uint32_t __a)
5369
{
5370
  return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5371
}
5372
 
5373
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5374
vdupq_n_p8 (poly8_t __a)
5375
{
5376
  return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5377
}
5378
 
5379
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5380
vdupq_n_p16 (poly16_t __a)
5381
{
5382
  return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5383
}
5384
 
5385
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5386
vdupq_n_s64 (int64_t __a)
5387
{
5388
  return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5389
}
5390
 
5391
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5392
vdupq_n_u64 (uint64_t __a)
5393
{
5394
  return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5395
}
5396
 
5397
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5398
vmov_n_s8 (int8_t __a)
5399
{
5400
  return (int8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5401
}
5402
 
5403
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5404
vmov_n_s16 (int16_t __a)
5405
{
5406
  return (int16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5407
}
5408
 
5409
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5410
vmov_n_s32 (int32_t __a)
5411
{
5412
  return (int32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5413
}
5414
 
5415
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5416
vmov_n_f32 (float32_t __a)
5417
{
5418
  return (float32x2_t)__builtin_neon_vdup_nv2sf ((__builtin_neon_sf) __a);
5419
}
5420
 
5421
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5422
vmov_n_u8 (uint8_t __a)
5423
{
5424
  return (uint8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5425
}
5426
 
5427
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5428
vmov_n_u16 (uint16_t __a)
5429
{
5430
  return (uint16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5431
}
5432
 
5433
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5434
vmov_n_u32 (uint32_t __a)
5435
{
5436
  return (uint32x2_t)__builtin_neon_vdup_nv2si ((__builtin_neon_si) __a);
5437
}
5438
 
5439
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5440
vmov_n_p8 (poly8_t __a)
5441
{
5442
  return (poly8x8_t)__builtin_neon_vdup_nv8qi ((__builtin_neon_qi) __a);
5443
}
5444
 
5445
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5446
vmov_n_p16 (poly16_t __a)
5447
{
5448
  return (poly16x4_t)__builtin_neon_vdup_nv4hi ((__builtin_neon_hi) __a);
5449
}
5450
 
5451
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5452
vmov_n_s64 (int64_t __a)
5453
{
5454
  return (int64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5455
}
5456
 
5457
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5458
vmov_n_u64 (uint64_t __a)
5459
{
5460
  return (uint64x1_t)__builtin_neon_vdup_ndi ((__builtin_neon_di) __a);
5461
}
5462
 
5463
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5464
vmovq_n_s8 (int8_t __a)
5465
{
5466
  return (int8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5467
}
5468
 
5469
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5470
vmovq_n_s16 (int16_t __a)
5471
{
5472
  return (int16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5473
}
5474
 
5475
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5476
vmovq_n_s32 (int32_t __a)
5477
{
5478
  return (int32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5479
}
5480
 
5481
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5482
vmovq_n_f32 (float32_t __a)
5483
{
5484
  return (float32x4_t)__builtin_neon_vdup_nv4sf ((__builtin_neon_sf) __a);
5485
}
5486
 
5487
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5488
vmovq_n_u8 (uint8_t __a)
5489
{
5490
  return (uint8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5491
}
5492
 
5493
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5494
vmovq_n_u16 (uint16_t __a)
5495
{
5496
  return (uint16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5497
}
5498
 
5499
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5500
vmovq_n_u32 (uint32_t __a)
5501
{
5502
  return (uint32x4_t)__builtin_neon_vdup_nv4si ((__builtin_neon_si) __a);
5503
}
5504
 
5505
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5506
vmovq_n_p8 (poly8_t __a)
5507
{
5508
  return (poly8x16_t)__builtin_neon_vdup_nv16qi ((__builtin_neon_qi) __a);
5509
}
5510
 
5511
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5512
vmovq_n_p16 (poly16_t __a)
5513
{
5514
  return (poly16x8_t)__builtin_neon_vdup_nv8hi ((__builtin_neon_hi) __a);
5515
}
5516
 
5517
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5518
vmovq_n_s64 (int64_t __a)
5519
{
5520
  return (int64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5521
}
5522
 
5523
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5524
vmovq_n_u64 (uint64_t __a)
5525
{
5526
  return (uint64x2_t)__builtin_neon_vdup_nv2di ((__builtin_neon_di) __a);
5527
}
5528
 
5529
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5530
vdup_lane_s8 (int8x8_t __a, const int __b)
5531
{
5532
  return (int8x8_t)__builtin_neon_vdup_lanev8qi (__a, __b);
5533
}
5534
 
5535
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5536
vdup_lane_s16 (int16x4_t __a, const int __b)
5537
{
5538
  return (int16x4_t)__builtin_neon_vdup_lanev4hi (__a, __b);
5539
}
5540
 
5541
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5542
vdup_lane_s32 (int32x2_t __a, const int __b)
5543
{
5544
  return (int32x2_t)__builtin_neon_vdup_lanev2si (__a, __b);
5545
}
5546
 
5547
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5548
vdup_lane_f32 (float32x2_t __a, const int __b)
5549
{
5550
  return (float32x2_t)__builtin_neon_vdup_lanev2sf (__a, __b);
5551
}
5552
 
5553
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5554
vdup_lane_u8 (uint8x8_t __a, const int __b)
5555
{
5556
  return (uint8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
5557
}
5558
 
5559
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5560
vdup_lane_u16 (uint16x4_t __a, const int __b)
5561
{
5562
  return (uint16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
5563
}
5564
 
5565
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5566
vdup_lane_u32 (uint32x2_t __a, const int __b)
5567
{
5568
  return (uint32x2_t)__builtin_neon_vdup_lanev2si ((int32x2_t) __a, __b);
5569
}
5570
 
5571
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5572
vdup_lane_p8 (poly8x8_t __a, const int __b)
5573
{
5574
  return (poly8x8_t)__builtin_neon_vdup_lanev8qi ((int8x8_t) __a, __b);
5575
}
5576
 
5577
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5578
vdup_lane_p16 (poly16x4_t __a, const int __b)
5579
{
5580
  return (poly16x4_t)__builtin_neon_vdup_lanev4hi ((int16x4_t) __a, __b);
5581
}
5582
 
5583
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5584
vdup_lane_s64 (int64x1_t __a, const int __b)
5585
{
5586
  return (int64x1_t)__builtin_neon_vdup_lanedi (__a, __b);
5587
}
5588
 
5589
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5590
vdup_lane_u64 (uint64x1_t __a, const int __b)
5591
{
5592
  return (uint64x1_t)__builtin_neon_vdup_lanedi ((int64x1_t) __a, __b);
5593
}
5594
 
5595
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5596
vdupq_lane_s8 (int8x8_t __a, const int __b)
5597
{
5598
  return (int8x16_t)__builtin_neon_vdup_lanev16qi (__a, __b);
5599
}
5600
 
5601
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5602
vdupq_lane_s16 (int16x4_t __a, const int __b)
5603
{
5604
  return (int16x8_t)__builtin_neon_vdup_lanev8hi (__a, __b);
5605
}
5606
 
5607
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5608
vdupq_lane_s32 (int32x2_t __a, const int __b)
5609
{
5610
  return (int32x4_t)__builtin_neon_vdup_lanev4si (__a, __b);
5611
}
5612
 
5613
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5614
vdupq_lane_f32 (float32x2_t __a, const int __b)
5615
{
5616
  return (float32x4_t)__builtin_neon_vdup_lanev4sf (__a, __b);
5617
}
5618
 
5619
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5620
vdupq_lane_u8 (uint8x8_t __a, const int __b)
5621
{
5622
  return (uint8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
5623
}
5624
 
5625
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5626
vdupq_lane_u16 (uint16x4_t __a, const int __b)
5627
{
5628
  return (uint16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
5629
}
5630
 
5631
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5632
vdupq_lane_u32 (uint32x2_t __a, const int __b)
5633
{
5634
  return (uint32x4_t)__builtin_neon_vdup_lanev4si ((int32x2_t) __a, __b);
5635
}
5636
 
5637
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5638
vdupq_lane_p8 (poly8x8_t __a, const int __b)
5639
{
5640
  return (poly8x16_t)__builtin_neon_vdup_lanev16qi ((int8x8_t) __a, __b);
5641
}
5642
 
5643
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5644
vdupq_lane_p16 (poly16x4_t __a, const int __b)
5645
{
5646
  return (poly16x8_t)__builtin_neon_vdup_lanev8hi ((int16x4_t) __a, __b);
5647
}
5648
 
5649
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5650
vdupq_lane_s64 (int64x1_t __a, const int __b)
5651
{
5652
  return (int64x2_t)__builtin_neon_vdup_lanev2di (__a, __b);
5653
}
5654
 
5655
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5656
vdupq_lane_u64 (uint64x1_t __a, const int __b)
5657
{
5658
  return (uint64x2_t)__builtin_neon_vdup_lanev2di ((int64x1_t) __a, __b);
5659
}
5660
 
5661
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
5662
vcombine_s8 (int8x8_t __a, int8x8_t __b)
5663
{
5664
  return (int8x16_t)__builtin_neon_vcombinev8qi (__a, __b);
5665
}
5666
 
5667
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
5668
vcombine_s16 (int16x4_t __a, int16x4_t __b)
5669
{
5670
  return (int16x8_t)__builtin_neon_vcombinev4hi (__a, __b);
5671
}
5672
 
5673
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5674
vcombine_s32 (int32x2_t __a, int32x2_t __b)
5675
{
5676
  return (int32x4_t)__builtin_neon_vcombinev2si (__a, __b);
5677
}
5678
 
5679
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
5680
vcombine_s64 (int64x1_t __a, int64x1_t __b)
5681
{
5682
  return (int64x2_t)__builtin_neon_vcombinedi (__a, __b);
5683
}
5684
 
5685
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5686
vcombine_f32 (float32x2_t __a, float32x2_t __b)
5687
{
5688
  return (float32x4_t)__builtin_neon_vcombinev2sf (__a, __b);
5689
}
5690
 
5691
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
5692
vcombine_u8 (uint8x8_t __a, uint8x8_t __b)
5693
{
5694
  return (uint8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
5695
}
5696
 
5697
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
5698
vcombine_u16 (uint16x4_t __a, uint16x4_t __b)
5699
{
5700
  return (uint16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
5701
}
5702
 
5703
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5704
vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
5705
{
5706
  return (uint32x4_t)__builtin_neon_vcombinev2si ((int32x2_t) __a, (int32x2_t) __b);
5707
}
5708
 
5709
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
5710
vcombine_u64 (uint64x1_t __a, uint64x1_t __b)
5711
{
5712
  return (uint64x2_t)__builtin_neon_vcombinedi ((int64x1_t) __a, (int64x1_t) __b);
5713
}
5714
 
5715
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
5716
vcombine_p8 (poly8x8_t __a, poly8x8_t __b)
5717
{
5718
  return (poly8x16_t)__builtin_neon_vcombinev8qi ((int8x8_t) __a, (int8x8_t) __b);
5719
}
5720
 
5721
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
5722
vcombine_p16 (poly16x4_t __a, poly16x4_t __b)
5723
{
5724
  return (poly16x8_t)__builtin_neon_vcombinev4hi ((int16x4_t) __a, (int16x4_t) __b);
5725
}
5726
 
5727
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5728
vget_high_s8 (int8x16_t __a)
5729
{
5730
  return (int8x8_t)__builtin_neon_vget_highv16qi (__a);
5731
}
5732
 
5733
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5734
vget_high_s16 (int16x8_t __a)
5735
{
5736
  return (int16x4_t)__builtin_neon_vget_highv8hi (__a);
5737
}
5738
 
5739
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5740
vget_high_s32 (int32x4_t __a)
5741
{
5742
  return (int32x2_t)__builtin_neon_vget_highv4si (__a);
5743
}
5744
 
5745
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5746
vget_high_s64 (int64x2_t __a)
5747
{
5748
  return (int64x1_t)__builtin_neon_vget_highv2di (__a);
5749
}
5750
 
5751
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5752
vget_high_f32 (float32x4_t __a)
5753
{
5754
  return (float32x2_t)__builtin_neon_vget_highv4sf (__a);
5755
}
5756
 
5757
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5758
vget_high_u8 (uint8x16_t __a)
5759
{
5760
  return (uint8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
5761
}
5762
 
5763
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5764
vget_high_u16 (uint16x8_t __a)
5765
{
5766
  return (uint16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
5767
}
5768
 
5769
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5770
vget_high_u32 (uint32x4_t __a)
5771
{
5772
  return (uint32x2_t)__builtin_neon_vget_highv4si ((int32x4_t) __a);
5773
}
5774
 
5775
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5776
vget_high_u64 (uint64x2_t __a)
5777
{
5778
  return (uint64x1_t)__builtin_neon_vget_highv2di ((int64x2_t) __a);
5779
}
5780
 
5781
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5782
vget_high_p8 (poly8x16_t __a)
5783
{
5784
  return (poly8x8_t)__builtin_neon_vget_highv16qi ((int8x16_t) __a);
5785
}
5786
 
5787
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5788
vget_high_p16 (poly16x8_t __a)
5789
{
5790
  return (poly16x4_t)__builtin_neon_vget_highv8hi ((int16x8_t) __a);
5791
}
5792
 
5793
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5794
vget_low_s8 (int8x16_t __a)
5795
{
5796
  return (int8x8_t)__builtin_neon_vget_lowv16qi (__a);
5797
}
5798
 
5799
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5800
vget_low_s16 (int16x8_t __a)
5801
{
5802
  return (int16x4_t)__builtin_neon_vget_lowv8hi (__a);
5803
}
5804
 
5805
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5806
vget_low_s32 (int32x4_t __a)
5807
{
5808
  return (int32x2_t)__builtin_neon_vget_lowv4si (__a);
5809
}
5810
 
5811
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5812
vget_low_f32 (float32x4_t __a)
5813
{
5814
  return (float32x2_t)__builtin_neon_vget_lowv4sf (__a);
5815
}
5816
 
5817
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5818
vget_low_u8 (uint8x16_t __a)
5819
{
5820
  return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
5821
}
5822
 
5823
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5824
vget_low_u16 (uint16x8_t __a)
5825
{
5826
  return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
5827
}
5828
 
5829
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5830
vget_low_u32 (uint32x4_t __a)
5831
{
5832
  return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a);
5833
}
5834
 
5835
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
5836
vget_low_p8 (poly8x16_t __a)
5837
{
5838
  return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a);
5839
}
5840
 
5841
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
5842
vget_low_p16 (poly16x8_t __a)
5843
{
5844
  return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a);
5845
}
5846
 
5847
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
5848
vget_low_s64 (int64x2_t __a)
5849
{
5850
  return (int64x1_t)__builtin_neon_vget_lowv2di (__a);
5851
}
5852
 
5853
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
5854
vget_low_u64 (uint64x2_t __a)
5855
{
5856
  return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a);
5857
}
5858
 
5859
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5860
vcvt_s32_f32 (float32x2_t __a)
5861
{
5862
  return (int32x2_t)__builtin_neon_vcvtv2sf (__a, 1);
5863
}
5864
 
5865
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5866
vcvt_f32_s32 (int32x2_t __a)
5867
{
5868
  return (float32x2_t)__builtin_neon_vcvtv2si (__a, 1);
5869
}
5870
 
5871
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5872
vcvt_f32_u32 (uint32x2_t __a)
5873
{
5874
  return (float32x2_t)__builtin_neon_vcvtv2si ((int32x2_t) __a, 0);
5875
}
5876
 
5877
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5878
vcvt_u32_f32 (float32x2_t __a)
5879
{
5880
  return (uint32x2_t)__builtin_neon_vcvtv2sf (__a, 0);
5881
}
5882
 
5883
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5884
vcvtq_s32_f32 (float32x4_t __a)
5885
{
5886
  return (int32x4_t)__builtin_neon_vcvtv4sf (__a, 1);
5887
}
5888
 
5889
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5890
vcvtq_f32_s32 (int32x4_t __a)
5891
{
5892
  return (float32x4_t)__builtin_neon_vcvtv4si (__a, 1);
5893
}
5894
 
5895
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5896
vcvtq_f32_u32 (uint32x4_t __a)
5897
{
5898
  return (float32x4_t)__builtin_neon_vcvtv4si ((int32x4_t) __a, 0);
5899
}
5900
 
5901
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5902
vcvtq_u32_f32 (float32x4_t __a)
5903
{
5904
  return (uint32x4_t)__builtin_neon_vcvtv4sf (__a, 0);
5905
}
5906
 
5907
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5908
vcvt_n_s32_f32 (float32x2_t __a, const int __b)
5909
{
5910
  return (int32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 1);
5911
}
5912
 
5913
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5914
vcvt_n_f32_s32 (int32x2_t __a, const int __b)
5915
{
5916
  return (float32x2_t)__builtin_neon_vcvt_nv2si (__a, __b, 1);
5917
}
5918
 
5919
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
5920
vcvt_n_f32_u32 (uint32x2_t __a, const int __b)
5921
{
5922
  return (float32x2_t)__builtin_neon_vcvt_nv2si ((int32x2_t) __a, __b, 0);
5923
}
5924
 
5925
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5926
vcvt_n_u32_f32 (float32x2_t __a, const int __b)
5927
{
5928
  return (uint32x2_t)__builtin_neon_vcvt_nv2sf (__a, __b, 0);
5929
}
5930
 
5931
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
5932
vcvtq_n_s32_f32 (float32x4_t __a, const int __b)
5933
{
5934
  return (int32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 1);
5935
}
5936
 
5937
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5938
vcvtq_n_f32_s32 (int32x4_t __a, const int __b)
5939
{
5940
  return (float32x4_t)__builtin_neon_vcvt_nv4si (__a, __b, 1);
5941
}
5942
 
5943
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
5944
vcvtq_n_f32_u32 (uint32x4_t __a, const int __b)
5945
{
5946
  return (float32x4_t)__builtin_neon_vcvt_nv4si ((int32x4_t) __a, __b, 0);
5947
}
5948
 
5949
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
5950
vcvtq_n_u32_f32 (float32x4_t __a, const int __b)
5951
{
5952
  return (uint32x4_t)__builtin_neon_vcvt_nv4sf (__a, __b, 0);
5953
}
5954
 
5955
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5956
vmovn_s16 (int16x8_t __a)
5957
{
5958
  return (int8x8_t)__builtin_neon_vmovnv8hi (__a, 1);
5959
}
5960
 
5961
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5962
vmovn_s32 (int32x4_t __a)
5963
{
5964
  return (int16x4_t)__builtin_neon_vmovnv4si (__a, 1);
5965
}
5966
 
5967
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
5968
vmovn_s64 (int64x2_t __a)
5969
{
5970
  return (int32x2_t)__builtin_neon_vmovnv2di (__a, 1);
5971
}
5972
 
5973
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
5974
vmovn_u16 (uint16x8_t __a)
5975
{
5976
  return (uint8x8_t)__builtin_neon_vmovnv8hi ((int16x8_t) __a, 0);
5977
}
5978
 
5979
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
5980
vmovn_u32 (uint32x4_t __a)
5981
{
5982
  return (uint16x4_t)__builtin_neon_vmovnv4si ((int32x4_t) __a, 0);
5983
}
5984
 
5985
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
5986
vmovn_u64 (uint64x2_t __a)
5987
{
5988
  return (uint32x2_t)__builtin_neon_vmovnv2di ((int64x2_t) __a, 0);
5989
}
5990
 
5991
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
5992
vqmovn_s16 (int16x8_t __a)
5993
{
5994
  return (int8x8_t)__builtin_neon_vqmovnv8hi (__a, 1);
5995
}
5996
 
5997
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
5998
vqmovn_s32 (int32x4_t __a)
5999
{
6000
  return (int16x4_t)__builtin_neon_vqmovnv4si (__a, 1);
6001
}
6002
 
6003
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6004
vqmovn_s64 (int64x2_t __a)
6005
{
6006
  return (int32x2_t)__builtin_neon_vqmovnv2di (__a, 1);
6007
}
6008
 
6009
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6010
vqmovn_u16 (uint16x8_t __a)
6011
{
6012
  return (uint8x8_t)__builtin_neon_vqmovnv8hi ((int16x8_t) __a, 0);
6013
}
6014
 
6015
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6016
vqmovn_u32 (uint32x4_t __a)
6017
{
6018
  return (uint16x4_t)__builtin_neon_vqmovnv4si ((int32x4_t) __a, 0);
6019
}
6020
 
6021
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6022
vqmovn_u64 (uint64x2_t __a)
6023
{
6024
  return (uint32x2_t)__builtin_neon_vqmovnv2di ((int64x2_t) __a, 0);
6025
}
6026
 
6027
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6028
vqmovun_s16 (int16x8_t __a)
6029
{
6030
  return (uint8x8_t)__builtin_neon_vqmovunv8hi (__a, 1);
6031
}
6032
 
6033
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6034
vqmovun_s32 (int32x4_t __a)
6035
{
6036
  return (uint16x4_t)__builtin_neon_vqmovunv4si (__a, 1);
6037
}
6038
 
6039
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6040
vqmovun_s64 (int64x2_t __a)
6041
{
6042
  return (uint32x2_t)__builtin_neon_vqmovunv2di (__a, 1);
6043
}
6044
 
6045
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6046
vmovl_s8 (int8x8_t __a)
6047
{
6048
  return (int16x8_t)__builtin_neon_vmovlv8qi (__a, 1);
6049
}
6050
 
6051
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6052
vmovl_s16 (int16x4_t __a)
6053
{
6054
  return (int32x4_t)__builtin_neon_vmovlv4hi (__a, 1);
6055
}
6056
 
6057
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6058
vmovl_s32 (int32x2_t __a)
6059
{
6060
  return (int64x2_t)__builtin_neon_vmovlv2si (__a, 1);
6061
}
6062
 
6063
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6064
vmovl_u8 (uint8x8_t __a)
6065
{
6066
  return (uint16x8_t)__builtin_neon_vmovlv8qi ((int8x8_t) __a, 0);
6067
}
6068
 
6069
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6070
vmovl_u16 (uint16x4_t __a)
6071
{
6072
  return (uint32x4_t)__builtin_neon_vmovlv4hi ((int16x4_t) __a, 0);
6073
}
6074
 
6075
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6076
vmovl_u32 (uint32x2_t __a)
6077
{
6078
  return (uint64x2_t)__builtin_neon_vmovlv2si ((int32x2_t) __a, 0);
6079
}
6080
 
6081
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6082
vtbl1_s8 (int8x8_t __a, int8x8_t __b)
6083
{
6084
  return (int8x8_t)__builtin_neon_vtbl1v8qi (__a, __b);
6085
}
6086
 
6087
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6088
vtbl1_u8 (uint8x8_t __a, uint8x8_t __b)
6089
{
6090
  return (uint8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
6091
}
6092
 
6093
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6094
vtbl1_p8 (poly8x8_t __a, uint8x8_t __b)
6095
{
6096
  return (poly8x8_t)__builtin_neon_vtbl1v8qi ((int8x8_t) __a, (int8x8_t) __b);
6097
}
6098
 
6099
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6100
vtbl2_s8 (int8x8x2_t __a, int8x8_t __b)
6101
{
6102
  union { int8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6103
  return (int8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, __b);
6104
}
6105
 
6106
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6107
vtbl2_u8 (uint8x8x2_t __a, uint8x8_t __b)
6108
{
6109
  union { uint8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6110
  return (uint8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
6111
}
6112
 
6113
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6114
vtbl2_p8 (poly8x8x2_t __a, uint8x8_t __b)
6115
{
6116
  union { poly8x8x2_t __i; __builtin_neon_ti __o; } __au = { __a };
6117
  return (poly8x8_t)__builtin_neon_vtbl2v8qi (__au.__o, (int8x8_t) __b);
6118
}
6119
 
6120
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6121
vtbl3_s8 (int8x8x3_t __a, int8x8_t __b)
6122
{
6123
  union { int8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6124
  return (int8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, __b);
6125
}
6126
 
6127
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6128
vtbl3_u8 (uint8x8x3_t __a, uint8x8_t __b)
6129
{
6130
  union { uint8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6131
  return (uint8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
6132
}
6133
 
6134
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6135
vtbl3_p8 (poly8x8x3_t __a, uint8x8_t __b)
6136
{
6137
  union { poly8x8x3_t __i; __builtin_neon_ei __o; } __au = { __a };
6138
  return (poly8x8_t)__builtin_neon_vtbl3v8qi (__au.__o, (int8x8_t) __b);
6139
}
6140
 
6141
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6142
vtbl4_s8 (int8x8x4_t __a, int8x8_t __b)
6143
{
6144
  union { int8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6145
  return (int8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, __b);
6146
}
6147
 
6148
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6149
vtbl4_u8 (uint8x8x4_t __a, uint8x8_t __b)
6150
{
6151
  union { uint8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6152
  return (uint8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
6153
}
6154
 
6155
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6156
vtbl4_p8 (poly8x8x4_t __a, uint8x8_t __b)
6157
{
6158
  union { poly8x8x4_t __i; __builtin_neon_oi __o; } __au = { __a };
6159
  return (poly8x8_t)__builtin_neon_vtbl4v8qi (__au.__o, (int8x8_t) __b);
6160
}
6161
 
6162
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6163
vtbx1_s8 (int8x8_t __a, int8x8_t __b, int8x8_t __c)
6164
{
6165
  return (int8x8_t)__builtin_neon_vtbx1v8qi (__a, __b, __c);
6166
}
6167
 
6168
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6169
vtbx1_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
6170
{
6171
  return (uint8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
6172
}
6173
 
6174
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6175
vtbx1_p8 (poly8x8_t __a, poly8x8_t __b, uint8x8_t __c)
6176
{
6177
  return (poly8x8_t)__builtin_neon_vtbx1v8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
6178
}
6179
 
6180
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6181
vtbx2_s8 (int8x8_t __a, int8x8x2_t __b, int8x8_t __c)
6182
{
6183
  union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6184
  return (int8x8_t)__builtin_neon_vtbx2v8qi (__a, __bu.__o, __c);
6185
}
6186
 
6187
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6188
vtbx2_u8 (uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c)
6189
{
6190
  union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6191
  return (uint8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6192
}
6193
 
6194
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6195
vtbx2_p8 (poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c)
6196
{
6197
  union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
6198
  return (poly8x8_t)__builtin_neon_vtbx2v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6199
}
6200
 
6201
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6202
vtbx3_s8 (int8x8_t __a, int8x8x3_t __b, int8x8_t __c)
6203
{
6204
  union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6205
  return (int8x8_t)__builtin_neon_vtbx3v8qi (__a, __bu.__o, __c);
6206
}
6207
 
6208
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6209
vtbx3_u8 (uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c)
6210
{
6211
  union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6212
  return (uint8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6213
}
6214
 
6215
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6216
vtbx3_p8 (poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c)
6217
{
6218
  union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
6219
  return (poly8x8_t)__builtin_neon_vtbx3v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6220
}
6221
 
6222
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6223
vtbx4_s8 (int8x8_t __a, int8x8x4_t __b, int8x8_t __c)
6224
{
6225
  union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6226
  return (int8x8_t)__builtin_neon_vtbx4v8qi (__a, __bu.__o, __c);
6227
}
6228
 
6229
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6230
vtbx4_u8 (uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c)
6231
{
6232
  union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6233
  return (uint8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6234
}
6235
 
6236
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6237
vtbx4_p8 (poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c)
6238
{
6239
  union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
6240
  return (poly8x8_t)__builtin_neon_vtbx4v8qi ((int8x8_t) __a, __bu.__o, (int8x8_t) __c);
6241
}
6242
 
6243
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6244
vmul_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6245
{
6246
  return (int16x4_t)__builtin_neon_vmul_lanev4hi (__a, __b, __c, 1);
6247
}
6248
 
6249
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6250
vmul_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6251
{
6252
  return (int32x2_t)__builtin_neon_vmul_lanev2si (__a, __b, __c, 1);
6253
}
6254
 
6255
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6256
vmul_lane_f32 (float32x2_t __a, float32x2_t __b, const int __c)
6257
{
6258
  return (float32x2_t)__builtin_neon_vmul_lanev2sf (__a, __b, __c, 3);
6259
}
6260
 
6261
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6262
vmul_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6263
{
6264
  return (uint16x4_t)__builtin_neon_vmul_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
6265
}
6266
 
6267
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6268
vmul_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6269
{
6270
  return (uint32x2_t)__builtin_neon_vmul_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
6271
}
6272
 
6273
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6274
vmulq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6275
{
6276
  return (int16x8_t)__builtin_neon_vmul_lanev8hi (__a, __b, __c, 1);
6277
}
6278
 
6279
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6280
vmulq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6281
{
6282
  return (int32x4_t)__builtin_neon_vmul_lanev4si (__a, __b, __c, 1);
6283
}
6284
 
6285
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6286
vmulq_lane_f32 (float32x4_t __a, float32x2_t __b, const int __c)
6287
{
6288
  return (float32x4_t)__builtin_neon_vmul_lanev4sf (__a, __b, __c, 3);
6289
}
6290
 
6291
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6292
vmulq_lane_u16 (uint16x8_t __a, uint16x4_t __b, const int __c)
6293
{
6294
  return (uint16x8_t)__builtin_neon_vmul_lanev8hi ((int16x8_t) __a, (int16x4_t) __b, __c, 0);
6295
}
6296
 
6297
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6298
vmulq_lane_u32 (uint32x4_t __a, uint32x2_t __b, const int __c)
6299
{
6300
  return (uint32x4_t)__builtin_neon_vmul_lanev4si ((int32x4_t) __a, (int32x2_t) __b, __c, 0);
6301
}
6302
 
6303
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6304
vmla_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6305
{
6306
  return (int16x4_t)__builtin_neon_vmla_lanev4hi (__a, __b, __c, __d, 1);
6307
}
6308
 
6309
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6310
vmla_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6311
{
6312
  return (int32x2_t)__builtin_neon_vmla_lanev2si (__a, __b, __c, __d, 1);
6313
}
6314
 
6315
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6316
vmla_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
6317
{
6318
  return (float32x2_t)__builtin_neon_vmla_lanev2sf (__a, __b, __c, __d, 3);
6319
}
6320
 
6321
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6322
vmla_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6323
{
6324
  return (uint16x4_t)__builtin_neon_vmla_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6325
}
6326
 
6327
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6328
vmla_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6329
{
6330
  return (uint32x2_t)__builtin_neon_vmla_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6331
}
6332
 
6333
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6334
vmlaq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
6335
{
6336
  return (int16x8_t)__builtin_neon_vmla_lanev8hi (__a, __b, __c, __d, 1);
6337
}
6338
 
6339
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6340
vmlaq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
6341
{
6342
  return (int32x4_t)__builtin_neon_vmla_lanev4si (__a, __b, __c, __d, 1);
6343
}
6344
 
6345
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6346
vmlaq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
6347
{
6348
  return (float32x4_t)__builtin_neon_vmla_lanev4sf (__a, __b, __c, __d, 3);
6349
}
6350
 
6351
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6352
vmlaq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
6353
{
6354
  return (uint16x8_t)__builtin_neon_vmla_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0);
6355
}
6356
 
6357
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6358
vmlaq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
6359
{
6360
  return (uint32x4_t)__builtin_neon_vmla_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0);
6361
}
6362
 
6363
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6364
vmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6365
{
6366
  return (int32x4_t)__builtin_neon_vmlal_lanev4hi (__a, __b, __c, __d, 1);
6367
}
6368
 
6369
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6370
vmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6371
{
6372
  return (int64x2_t)__builtin_neon_vmlal_lanev2si (__a, __b, __c, __d, 1);
6373
}
6374
 
6375
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6376
vmlal_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6377
{
6378
  return (uint32x4_t)__builtin_neon_vmlal_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6379
}
6380
 
6381
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6382
vmlal_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6383
{
6384
  return (uint64x2_t)__builtin_neon_vmlal_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6385
}
6386
 
6387
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6388
vqdmlal_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6389
{
6390
  return (int32x4_t)__builtin_neon_vqdmlal_lanev4hi (__a, __b, __c, __d, 1);
6391
}
6392
 
6393
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6394
vqdmlal_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6395
{
6396
  return (int64x2_t)__builtin_neon_vqdmlal_lanev2si (__a, __b, __c, __d, 1);
6397
}
6398
 
6399
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6400
vmls_lane_s16 (int16x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6401
{
6402
  return (int16x4_t)__builtin_neon_vmls_lanev4hi (__a, __b, __c, __d, 1);
6403
}
6404
 
6405
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6406
vmls_lane_s32 (int32x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6407
{
6408
  return (int32x2_t)__builtin_neon_vmls_lanev2si (__a, __b, __c, __d, 1);
6409
}
6410
 
6411
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6412
vmls_lane_f32 (float32x2_t __a, float32x2_t __b, float32x2_t __c, const int __d)
6413
{
6414
  return (float32x2_t)__builtin_neon_vmls_lanev2sf (__a, __b, __c, __d, 3);
6415
}
6416
 
6417
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6418
vmls_lane_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6419
{
6420
  return (uint16x4_t)__builtin_neon_vmls_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6421
}
6422
 
6423
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6424
vmls_lane_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6425
{
6426
  return (uint32x2_t)__builtin_neon_vmls_lanev2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6427
}
6428
 
6429
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6430
vmlsq_lane_s16 (int16x8_t __a, int16x8_t __b, int16x4_t __c, const int __d)
6431
{
6432
  return (int16x8_t)__builtin_neon_vmls_lanev8hi (__a, __b, __c, __d, 1);
6433
}
6434
 
6435
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6436
vmlsq_lane_s32 (int32x4_t __a, int32x4_t __b, int32x2_t __c, const int __d)
6437
{
6438
  return (int32x4_t)__builtin_neon_vmls_lanev4si (__a, __b, __c, __d, 1);
6439
}
6440
 
6441
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6442
vmlsq_lane_f32 (float32x4_t __a, float32x4_t __b, float32x2_t __c, const int __d)
6443
{
6444
  return (float32x4_t)__builtin_neon_vmls_lanev4sf (__a, __b, __c, __d, 3);
6445
}
6446
 
6447
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6448
vmlsq_lane_u16 (uint16x8_t __a, uint16x8_t __b, uint16x4_t __c, const int __d)
6449
{
6450
  return (uint16x8_t)__builtin_neon_vmls_lanev8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x4_t) __c, __d, 0);
6451
}
6452
 
6453
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6454
vmlsq_lane_u32 (uint32x4_t __a, uint32x4_t __b, uint32x2_t __c, const int __d)
6455
{
6456
  return (uint32x4_t)__builtin_neon_vmls_lanev4si ((int32x4_t) __a, (int32x4_t) __b, (int32x2_t) __c, __d, 0);
6457
}
6458
 
6459
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6460
vmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6461
{
6462
  return (int32x4_t)__builtin_neon_vmlsl_lanev4hi (__a, __b, __c, __d, 1);
6463
}
6464
 
6465
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6466
vmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6467
{
6468
  return (int64x2_t)__builtin_neon_vmlsl_lanev2si (__a, __b, __c, __d, 1);
6469
}
6470
 
6471
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6472
vmlsl_lane_u16 (uint32x4_t __a, uint16x4_t __b, uint16x4_t __c, const int __d)
6473
{
6474
  return (uint32x4_t)__builtin_neon_vmlsl_lanev4hi ((int32x4_t) __a, (int16x4_t) __b, (int16x4_t) __c, __d, 0);
6475
}
6476
 
6477
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6478
vmlsl_lane_u32 (uint64x2_t __a, uint32x2_t __b, uint32x2_t __c, const int __d)
6479
{
6480
  return (uint64x2_t)__builtin_neon_vmlsl_lanev2si ((int64x2_t) __a, (int32x2_t) __b, (int32x2_t) __c, __d, 0);
6481
}
6482
 
6483
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6484
vqdmlsl_lane_s16 (int32x4_t __a, int16x4_t __b, int16x4_t __c, const int __d)
6485
{
6486
  return (int32x4_t)__builtin_neon_vqdmlsl_lanev4hi (__a, __b, __c, __d, 1);
6487
}
6488
 
6489
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6490
vqdmlsl_lane_s32 (int64x2_t __a, int32x2_t __b, int32x2_t __c, const int __d)
6491
{
6492
  return (int64x2_t)__builtin_neon_vqdmlsl_lanev2si (__a, __b, __c, __d, 1);
6493
}
6494
 
6495
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6496
vmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6497
{
6498
  return (int32x4_t)__builtin_neon_vmull_lanev4hi (__a, __b, __c, 1);
6499
}
6500
 
6501
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6502
vmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6503
{
6504
  return (int64x2_t)__builtin_neon_vmull_lanev2si (__a, __b, __c, 1);
6505
}
6506
 
6507
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6508
vmull_lane_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6509
{
6510
  return (uint32x4_t)__builtin_neon_vmull_lanev4hi ((int16x4_t) __a, (int16x4_t) __b, __c, 0);
6511
}
6512
 
6513
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6514
vmull_lane_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6515
{
6516
  return (uint64x2_t)__builtin_neon_vmull_lanev2si ((int32x2_t) __a, (int32x2_t) __b, __c, 0);
6517
}
6518
 
6519
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6520
vqdmull_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6521
{
6522
  return (int32x4_t)__builtin_neon_vqdmull_lanev4hi (__a, __b, __c, 1);
6523
}
6524
 
6525
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6526
vqdmull_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6527
{
6528
  return (int64x2_t)__builtin_neon_vqdmull_lanev2si (__a, __b, __c, 1);
6529
}
6530
 
6531
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6532
vqdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6533
{
6534
  return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 1);
6535
}
6536
 
6537
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6538
vqdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6539
{
6540
  return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 1);
6541
}
6542
 
6543
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6544
vqdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6545
{
6546
  return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 1);
6547
}
6548
 
6549
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6550
vqdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6551
{
6552
  return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 1);
6553
}
6554
 
6555
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6556
vqrdmulhq_lane_s16 (int16x8_t __a, int16x4_t __b, const int __c)
6557
{
6558
  return (int16x8_t)__builtin_neon_vqdmulh_lanev8hi (__a, __b, __c, 5);
6559
}
6560
 
6561
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6562
vqrdmulhq_lane_s32 (int32x4_t __a, int32x2_t __b, const int __c)
6563
{
6564
  return (int32x4_t)__builtin_neon_vqdmulh_lanev4si (__a, __b, __c, 5);
6565
}
6566
 
6567
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6568
vqrdmulh_lane_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6569
{
6570
  return (int16x4_t)__builtin_neon_vqdmulh_lanev4hi (__a, __b, __c, 5);
6571
}
6572
 
6573
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6574
vqrdmulh_lane_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6575
{
6576
  return (int32x2_t)__builtin_neon_vqdmulh_lanev2si (__a, __b, __c, 5);
6577
}
6578
 
6579
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6580
vmul_n_s16 (int16x4_t __a, int16_t __b)
6581
{
6582
  return (int16x4_t)__builtin_neon_vmul_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6583
}
6584
 
6585
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6586
vmul_n_s32 (int32x2_t __a, int32_t __b)
6587
{
6588
  return (int32x2_t)__builtin_neon_vmul_nv2si (__a, (__builtin_neon_si) __b, 1);
6589
}
6590
 
6591
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6592
vmul_n_f32 (float32x2_t __a, float32_t __b)
6593
{
6594
  return (float32x2_t)__builtin_neon_vmul_nv2sf (__a, (__builtin_neon_sf) __b, 3);
6595
}
6596
 
6597
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6598
vmul_n_u16 (uint16x4_t __a, uint16_t __b)
6599
{
6600
  return (uint16x4_t)__builtin_neon_vmul_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0);
6601
}
6602
 
6603
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6604
vmul_n_u32 (uint32x2_t __a, uint32_t __b)
6605
{
6606
  return (uint32x2_t)__builtin_neon_vmul_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0);
6607
}
6608
 
6609
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6610
vmulq_n_s16 (int16x8_t __a, int16_t __b)
6611
{
6612
  return (int16x8_t)__builtin_neon_vmul_nv8hi (__a, (__builtin_neon_hi) __b, 1);
6613
}
6614
 
6615
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6616
vmulq_n_s32 (int32x4_t __a, int32_t __b)
6617
{
6618
  return (int32x4_t)__builtin_neon_vmul_nv4si (__a, (__builtin_neon_si) __b, 1);
6619
}
6620
 
6621
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6622
vmulq_n_f32 (float32x4_t __a, float32_t __b)
6623
{
6624
  return (float32x4_t)__builtin_neon_vmul_nv4sf (__a, (__builtin_neon_sf) __b, 3);
6625
}
6626
 
6627
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6628
vmulq_n_u16 (uint16x8_t __a, uint16_t __b)
6629
{
6630
  return (uint16x8_t)__builtin_neon_vmul_nv8hi ((int16x8_t) __a, (__builtin_neon_hi) __b, 0);
6631
}
6632
 
6633
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6634
vmulq_n_u32 (uint32x4_t __a, uint32_t __b)
6635
{
6636
  return (uint32x4_t)__builtin_neon_vmul_nv4si ((int32x4_t) __a, (__builtin_neon_si) __b, 0);
6637
}
6638
 
6639
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6640
vmull_n_s16 (int16x4_t __a, int16_t __b)
6641
{
6642
  return (int32x4_t)__builtin_neon_vmull_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6643
}
6644
 
6645
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6646
vmull_n_s32 (int32x2_t __a, int32_t __b)
6647
{
6648
  return (int64x2_t)__builtin_neon_vmull_nv2si (__a, (__builtin_neon_si) __b, 1);
6649
}
6650
 
6651
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6652
vmull_n_u16 (uint16x4_t __a, uint16_t __b)
6653
{
6654
  return (uint32x4_t)__builtin_neon_vmull_nv4hi ((int16x4_t) __a, (__builtin_neon_hi) __b, 0);
6655
}
6656
 
6657
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6658
vmull_n_u32 (uint32x2_t __a, uint32_t __b)
6659
{
6660
  return (uint64x2_t)__builtin_neon_vmull_nv2si ((int32x2_t) __a, (__builtin_neon_si) __b, 0);
6661
}
6662
 
6663
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6664
vqdmull_n_s16 (int16x4_t __a, int16_t __b)
6665
{
6666
  return (int32x4_t)__builtin_neon_vqdmull_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6667
}
6668
 
6669
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6670
vqdmull_n_s32 (int32x2_t __a, int32_t __b)
6671
{
6672
  return (int64x2_t)__builtin_neon_vqdmull_nv2si (__a, (__builtin_neon_si) __b, 1);
6673
}
6674
 
6675
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6676
vqdmulhq_n_s16 (int16x8_t __a, int16_t __b)
6677
{
6678
  return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 1);
6679
}
6680
 
6681
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6682
vqdmulhq_n_s32 (int32x4_t __a, int32_t __b)
6683
{
6684
  return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 1);
6685
}
6686
 
6687
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6688
vqdmulh_n_s16 (int16x4_t __a, int16_t __b)
6689
{
6690
  return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 1);
6691
}
6692
 
6693
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6694
vqdmulh_n_s32 (int32x2_t __a, int32_t __b)
6695
{
6696
  return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 1);
6697
}
6698
 
6699
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6700
vqrdmulhq_n_s16 (int16x8_t __a, int16_t __b)
6701
{
6702
  return (int16x8_t)__builtin_neon_vqdmulh_nv8hi (__a, (__builtin_neon_hi) __b, 5);
6703
}
6704
 
6705
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6706
vqrdmulhq_n_s32 (int32x4_t __a, int32_t __b)
6707
{
6708
  return (int32x4_t)__builtin_neon_vqdmulh_nv4si (__a, (__builtin_neon_si) __b, 5);
6709
}
6710
 
6711
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6712
vqrdmulh_n_s16 (int16x4_t __a, int16_t __b)
6713
{
6714
  return (int16x4_t)__builtin_neon_vqdmulh_nv4hi (__a, (__builtin_neon_hi) __b, 5);
6715
}
6716
 
6717
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6718
vqrdmulh_n_s32 (int32x2_t __a, int32_t __b)
6719
{
6720
  return (int32x2_t)__builtin_neon_vqdmulh_nv2si (__a, (__builtin_neon_si) __b, 5);
6721
}
6722
 
6723
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6724
vmla_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
6725
{
6726
  return (int16x4_t)__builtin_neon_vmla_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6727
}
6728
 
6729
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6730
vmla_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
6731
{
6732
  return (int32x2_t)__builtin_neon_vmla_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6733
}
6734
 
6735
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6736
vmla_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
6737
{
6738
  return (float32x2_t)__builtin_neon_vmla_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3);
6739
}
6740
 
6741
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6742
vmla_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
6743
{
6744
  return (uint16x4_t)__builtin_neon_vmla_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
6745
}
6746
 
6747
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6748
vmla_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
6749
{
6750
  return (uint32x2_t)__builtin_neon_vmla_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
6751
}
6752
 
6753
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6754
vmlaq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
6755
{
6756
  return (int16x8_t)__builtin_neon_vmla_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1);
6757
}
6758
 
6759
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6760
vmlaq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
6761
{
6762
  return (int32x4_t)__builtin_neon_vmla_nv4si (__a, __b, (__builtin_neon_si) __c, 1);
6763
}
6764
 
6765
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6766
vmlaq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
6767
{
6768
  return (float32x4_t)__builtin_neon_vmla_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3);
6769
}
6770
 
6771
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6772
vmlaq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
6773
{
6774
  return (uint16x8_t)__builtin_neon_vmla_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0);
6775
}
6776
 
6777
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6778
vmlaq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
6779
{
6780
  return (uint32x4_t)__builtin_neon_vmla_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0);
6781
}
6782
 
6783
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6784
vmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
6785
{
6786
  return (int32x4_t)__builtin_neon_vmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6787
}
6788
 
6789
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6790
vmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
6791
{
6792
  return (int64x2_t)__builtin_neon_vmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6793
}
6794
 
6795
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6796
vmlal_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
6797
{
6798
  return (uint32x4_t)__builtin_neon_vmlal_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
6799
}
6800
 
6801
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6802
vmlal_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
6803
{
6804
  return (uint64x2_t)__builtin_neon_vmlal_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
6805
}
6806
 
6807
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6808
vqdmlal_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
6809
{
6810
  return (int32x4_t)__builtin_neon_vqdmlal_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6811
}
6812
 
6813
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6814
vqdmlal_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
6815
{
6816
  return (int64x2_t)__builtin_neon_vqdmlal_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6817
}
6818
 
6819
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6820
vmls_n_s16 (int16x4_t __a, int16x4_t __b, int16_t __c)
6821
{
6822
  return (int16x4_t)__builtin_neon_vmls_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6823
}
6824
 
6825
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6826
vmls_n_s32 (int32x2_t __a, int32x2_t __b, int32_t __c)
6827
{
6828
  return (int32x2_t)__builtin_neon_vmls_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6829
}
6830
 
6831
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6832
vmls_n_f32 (float32x2_t __a, float32x2_t __b, float32_t __c)
6833
{
6834
  return (float32x2_t)__builtin_neon_vmls_nv2sf (__a, __b, (__builtin_neon_sf) __c, 3);
6835
}
6836
 
6837
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6838
vmls_n_u16 (uint16x4_t __a, uint16x4_t __b, uint16_t __c)
6839
{
6840
  return (uint16x4_t)__builtin_neon_vmls_nv4hi ((int16x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
6841
}
6842
 
6843
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6844
vmls_n_u32 (uint32x2_t __a, uint32x2_t __b, uint32_t __c)
6845
{
6846
  return (uint32x2_t)__builtin_neon_vmls_nv2si ((int32x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
6847
}
6848
 
6849
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6850
vmlsq_n_s16 (int16x8_t __a, int16x8_t __b, int16_t __c)
6851
{
6852
  return (int16x8_t)__builtin_neon_vmls_nv8hi (__a, __b, (__builtin_neon_hi) __c, 1);
6853
}
6854
 
6855
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6856
vmlsq_n_s32 (int32x4_t __a, int32x4_t __b, int32_t __c)
6857
{
6858
  return (int32x4_t)__builtin_neon_vmls_nv4si (__a, __b, (__builtin_neon_si) __c, 1);
6859
}
6860
 
6861
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
6862
vmlsq_n_f32 (float32x4_t __a, float32x4_t __b, float32_t __c)
6863
{
6864
  return (float32x4_t)__builtin_neon_vmls_nv4sf (__a, __b, (__builtin_neon_sf) __c, 3);
6865
}
6866
 
6867
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
6868
vmlsq_n_u16 (uint16x8_t __a, uint16x8_t __b, uint16_t __c)
6869
{
6870
  return (uint16x8_t)__builtin_neon_vmls_nv8hi ((int16x8_t) __a, (int16x8_t) __b, (__builtin_neon_hi) __c, 0);
6871
}
6872
 
6873
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6874
vmlsq_n_u32 (uint32x4_t __a, uint32x4_t __b, uint32_t __c)
6875
{
6876
  return (uint32x4_t)__builtin_neon_vmls_nv4si ((int32x4_t) __a, (int32x4_t) __b, (__builtin_neon_si) __c, 0);
6877
}
6878
 
6879
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6880
vmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
6881
{
6882
  return (int32x4_t)__builtin_neon_vmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6883
}
6884
 
6885
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6886
vmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
6887
{
6888
  return (int64x2_t)__builtin_neon_vmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6889
}
6890
 
6891
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
6892
vmlsl_n_u16 (uint32x4_t __a, uint16x4_t __b, uint16_t __c)
6893
{
6894
  return (uint32x4_t)__builtin_neon_vmlsl_nv4hi ((int32x4_t) __a, (int16x4_t) __b, (__builtin_neon_hi) __c, 0);
6895
}
6896
 
6897
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
6898
vmlsl_n_u32 (uint64x2_t __a, uint32x2_t __b, uint32_t __c)
6899
{
6900
  return (uint64x2_t)__builtin_neon_vmlsl_nv2si ((int64x2_t) __a, (int32x2_t) __b, (__builtin_neon_si) __c, 0);
6901
}
6902
 
6903
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6904
vqdmlsl_n_s16 (int32x4_t __a, int16x4_t __b, int16_t __c)
6905
{
6906
  return (int32x4_t)__builtin_neon_vqdmlsl_nv4hi (__a, __b, (__builtin_neon_hi) __c, 1);
6907
}
6908
 
6909
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
6910
vqdmlsl_n_s32 (int64x2_t __a, int32x2_t __b, int32_t __c)
6911
{
6912
  return (int64x2_t)__builtin_neon_vqdmlsl_nv2si (__a, __b, (__builtin_neon_si) __c, 1);
6913
}
6914
 
6915
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
6916
vext_s8 (int8x8_t __a, int8x8_t __b, const int __c)
6917
{
6918
  return (int8x8_t)__builtin_neon_vextv8qi (__a, __b, __c);
6919
}
6920
 
6921
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
6922
vext_s16 (int16x4_t __a, int16x4_t __b, const int __c)
6923
{
6924
  return (int16x4_t)__builtin_neon_vextv4hi (__a, __b, __c);
6925
}
6926
 
6927
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
6928
vext_s32 (int32x2_t __a, int32x2_t __b, const int __c)
6929
{
6930
  return (int32x2_t)__builtin_neon_vextv2si (__a, __b, __c);
6931
}
6932
 
6933
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
6934
vext_s64 (int64x1_t __a, int64x1_t __b, const int __c)
6935
{
6936
  return (int64x1_t)__builtin_neon_vextdi (__a, __b, __c);
6937
}
6938
 
6939
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
6940
vext_f32 (float32x2_t __a, float32x2_t __b, const int __c)
6941
{
6942
  return (float32x2_t)__builtin_neon_vextv2sf (__a, __b, __c);
6943
}
6944
 
6945
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
6946
vext_u8 (uint8x8_t __a, uint8x8_t __b, const int __c)
6947
{
6948
  return (uint8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
6949
}
6950
 
6951
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
6952
vext_u16 (uint16x4_t __a, uint16x4_t __b, const int __c)
6953
{
6954
  return (uint16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
6955
}
6956
 
6957
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
6958
vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
6959
{
6960
  return (uint32x2_t)__builtin_neon_vextv2si ((int32x2_t) __a, (int32x2_t) __b, __c);
6961
}
6962
 
6963
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
6964
vext_u64 (uint64x1_t __a, uint64x1_t __b, const int __c)
6965
{
6966
  return (uint64x1_t)__builtin_neon_vextdi ((int64x1_t) __a, (int64x1_t) __b, __c);
6967
}
6968
 
6969
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
6970
vext_p8 (poly8x8_t __a, poly8x8_t __b, const int __c)
6971
{
6972
  return (poly8x8_t)__builtin_neon_vextv8qi ((int8x8_t) __a, (int8x8_t) __b, __c);
6973
}
6974
 
6975
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
6976
vext_p16 (poly16x4_t __a, poly16x4_t __b, const int __c)
6977
{
6978
  return (poly16x4_t)__builtin_neon_vextv4hi ((int16x4_t) __a, (int16x4_t) __b, __c);
6979
}
6980
 
6981
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
6982
vextq_s8 (int8x16_t __a, int8x16_t __b, const int __c)
6983
{
6984
  return (int8x16_t)__builtin_neon_vextv16qi (__a, __b, __c);
6985
}
6986
 
6987
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
6988
vextq_s16 (int16x8_t __a, int16x8_t __b, const int __c)
6989
{
6990
  return (int16x8_t)__builtin_neon_vextv8hi (__a, __b, __c);
6991
}
6992
 
6993
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
6994
vextq_s32 (int32x4_t __a, int32x4_t __b, const int __c)
6995
{
6996
  return (int32x4_t)__builtin_neon_vextv4si (__a, __b, __c);
6997
}
6998
 
6999
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7000
vextq_s64 (int64x2_t __a, int64x2_t __b, const int __c)
7001
{
7002
  return (int64x2_t)__builtin_neon_vextv2di (__a, __b, __c);
7003
}
7004
 
7005
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7006
vextq_f32 (float32x4_t __a, float32x4_t __b, const int __c)
7007
{
7008
  return (float32x4_t)__builtin_neon_vextv4sf (__a, __b, __c);
7009
}
7010
 
7011
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7012
vextq_u8 (uint8x16_t __a, uint8x16_t __b, const int __c)
7013
{
7014
  return (uint8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
7015
}
7016
 
7017
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7018
vextq_u16 (uint16x8_t __a, uint16x8_t __b, const int __c)
7019
{
7020
  return (uint16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
7021
}
7022
 
7023
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7024
vextq_u32 (uint32x4_t __a, uint32x4_t __b, const int __c)
7025
{
7026
  return (uint32x4_t)__builtin_neon_vextv4si ((int32x4_t) __a, (int32x4_t) __b, __c);
7027
}
7028
 
7029
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
7030
vextq_u64 (uint64x2_t __a, uint64x2_t __b, const int __c)
7031
{
7032
  return (uint64x2_t)__builtin_neon_vextv2di ((int64x2_t) __a, (int64x2_t) __b, __c);
7033
}
7034
 
7035
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7036
vextq_p8 (poly8x16_t __a, poly8x16_t __b, const int __c)
7037
{
7038
  return (poly8x16_t)__builtin_neon_vextv16qi ((int8x16_t) __a, (int8x16_t) __b, __c);
7039
}
7040
 
7041
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7042
vextq_p16 (poly16x8_t __a, poly16x8_t __b, const int __c)
7043
{
7044
  return (poly16x8_t)__builtin_neon_vextv8hi ((int16x8_t) __a, (int16x8_t) __b, __c);
7045
}
7046
 
7047
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7048
vrev64_s8 (int8x8_t __a)
7049
{
7050
  return (int8x8_t)__builtin_neon_vrev64v8qi (__a, 1);
7051
}
7052
 
7053
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7054
vrev64_s16 (int16x4_t __a)
7055
{
7056
  return (int16x4_t)__builtin_neon_vrev64v4hi (__a, 1);
7057
}
7058
 
7059
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7060
vrev64_s32 (int32x2_t __a)
7061
{
7062
  return (int32x2_t)__builtin_neon_vrev64v2si (__a, 1);
7063
}
7064
 
7065
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7066
vrev64_f32 (float32x2_t __a)
7067
{
7068
  return (float32x2_t)__builtin_neon_vrev64v2sf (__a, 3);
7069
}
7070
 
7071
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7072
vrev64_u8 (uint8x8_t __a)
7073
{
7074
  return (uint8x8_t)__builtin_neon_vrev64v8qi ((int8x8_t) __a, 0);
7075
}
7076
 
7077
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7078
vrev64_u16 (uint16x4_t __a)
7079
{
7080
  return (uint16x4_t)__builtin_neon_vrev64v4hi ((int16x4_t) __a, 0);
7081
}
7082
 
7083
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7084
vrev64_u32 (uint32x2_t __a)
7085
{
7086
  return (uint32x2_t)__builtin_neon_vrev64v2si ((int32x2_t) __a, 0);
7087
}
7088
 
7089
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7090
vrev64_p8 (poly8x8_t __a)
7091
{
7092
  return (poly8x8_t)__builtin_neon_vrev64v8qi ((int8x8_t) __a, 2);
7093
}
7094
 
7095
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7096
vrev64_p16 (poly16x4_t __a)
7097
{
7098
  return (poly16x4_t)__builtin_neon_vrev64v4hi ((int16x4_t) __a, 2);
7099
}
7100
 
7101
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7102
vrev64q_s8 (int8x16_t __a)
7103
{
7104
  return (int8x16_t)__builtin_neon_vrev64v16qi (__a, 1);
7105
}
7106
 
7107
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7108
vrev64q_s16 (int16x8_t __a)
7109
{
7110
  return (int16x8_t)__builtin_neon_vrev64v8hi (__a, 1);
7111
}
7112
 
7113
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7114
vrev64q_s32 (int32x4_t __a)
7115
{
7116
  return (int32x4_t)__builtin_neon_vrev64v4si (__a, 1);
7117
}
7118
 
7119
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7120
vrev64q_f32 (float32x4_t __a)
7121
{
7122
  return (float32x4_t)__builtin_neon_vrev64v4sf (__a, 3);
7123
}
7124
 
7125
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7126
vrev64q_u8 (uint8x16_t __a)
7127
{
7128
  return (uint8x16_t)__builtin_neon_vrev64v16qi ((int8x16_t) __a, 0);
7129
}
7130
 
7131
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7132
vrev64q_u16 (uint16x8_t __a)
7133
{
7134
  return (uint16x8_t)__builtin_neon_vrev64v8hi ((int16x8_t) __a, 0);
7135
}
7136
 
7137
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7138
vrev64q_u32 (uint32x4_t __a)
7139
{
7140
  return (uint32x4_t)__builtin_neon_vrev64v4si ((int32x4_t) __a, 0);
7141
}
7142
 
7143
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7144
vrev64q_p8 (poly8x16_t __a)
7145
{
7146
  return (poly8x16_t)__builtin_neon_vrev64v16qi ((int8x16_t) __a, 2);
7147
}
7148
 
7149
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7150
vrev64q_p16 (poly16x8_t __a)
7151
{
7152
  return (poly16x8_t)__builtin_neon_vrev64v8hi ((int16x8_t) __a, 2);
7153
}
7154
 
7155
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7156
vrev32_s8 (int8x8_t __a)
7157
{
7158
  return (int8x8_t)__builtin_neon_vrev32v8qi (__a, 1);
7159
}
7160
 
7161
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7162
vrev32_s16 (int16x4_t __a)
7163
{
7164
  return (int16x4_t)__builtin_neon_vrev32v4hi (__a, 1);
7165
}
7166
 
7167
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7168
vrev32_u8 (uint8x8_t __a)
7169
{
7170
  return (uint8x8_t)__builtin_neon_vrev32v8qi ((int8x8_t) __a, 0);
7171
}
7172
 
7173
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7174
vrev32_u16 (uint16x4_t __a)
7175
{
7176
  return (uint16x4_t)__builtin_neon_vrev32v4hi ((int16x4_t) __a, 0);
7177
}
7178
 
7179
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7180
vrev32_p8 (poly8x8_t __a)
7181
{
7182
  return (poly8x8_t)__builtin_neon_vrev32v8qi ((int8x8_t) __a, 2);
7183
}
7184
 
7185
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7186
vrev32_p16 (poly16x4_t __a)
7187
{
7188
  return (poly16x4_t)__builtin_neon_vrev32v4hi ((int16x4_t) __a, 2);
7189
}
7190
 
7191
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7192
vrev32q_s8 (int8x16_t __a)
7193
{
7194
  return (int8x16_t)__builtin_neon_vrev32v16qi (__a, 1);
7195
}
7196
 
7197
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7198
vrev32q_s16 (int16x8_t __a)
7199
{
7200
  return (int16x8_t)__builtin_neon_vrev32v8hi (__a, 1);
7201
}
7202
 
7203
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7204
vrev32q_u8 (uint8x16_t __a)
7205
{
7206
  return (uint8x16_t)__builtin_neon_vrev32v16qi ((int8x16_t) __a, 0);
7207
}
7208
 
7209
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7210
vrev32q_u16 (uint16x8_t __a)
7211
{
7212
  return (uint16x8_t)__builtin_neon_vrev32v8hi ((int16x8_t) __a, 0);
7213
}
7214
 
7215
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7216
vrev32q_p8 (poly8x16_t __a)
7217
{
7218
  return (poly8x16_t)__builtin_neon_vrev32v16qi ((int8x16_t) __a, 2);
7219
}
7220
 
7221
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7222
vrev32q_p16 (poly16x8_t __a)
7223
{
7224
  return (poly16x8_t)__builtin_neon_vrev32v8hi ((int16x8_t) __a, 2);
7225
}
7226
 
7227
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7228
vrev16_s8 (int8x8_t __a)
7229
{
7230
  return (int8x8_t)__builtin_neon_vrev16v8qi (__a, 1);
7231
}
7232
 
7233
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7234
vrev16_u8 (uint8x8_t __a)
7235
{
7236
  return (uint8x8_t)__builtin_neon_vrev16v8qi ((int8x8_t) __a, 0);
7237
}
7238
 
7239
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7240
vrev16_p8 (poly8x8_t __a)
7241
{
7242
  return (poly8x8_t)__builtin_neon_vrev16v8qi ((int8x8_t) __a, 2);
7243
}
7244
 
7245
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7246
vrev16q_s8 (int8x16_t __a)
7247
{
7248
  return (int8x16_t)__builtin_neon_vrev16v16qi (__a, 1);
7249
}
7250
 
7251
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7252
vrev16q_u8 (uint8x16_t __a)
7253
{
7254
  return (uint8x16_t)__builtin_neon_vrev16v16qi ((int8x16_t) __a, 0);
7255
}
7256
 
7257
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7258
vrev16q_p8 (poly8x16_t __a)
7259
{
7260
  return (poly8x16_t)__builtin_neon_vrev16v16qi ((int8x16_t) __a, 2);
7261
}
7262
 
7263
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7264
vbsl_s8 (uint8x8_t __a, int8x8_t __b, int8x8_t __c)
7265
{
7266
  return (int8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, __b, __c);
7267
}
7268
 
7269
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7270
vbsl_s16 (uint16x4_t __a, int16x4_t __b, int16x4_t __c)
7271
{
7272
  return (int16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, __b, __c);
7273
}
7274
 
7275
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7276
vbsl_s32 (uint32x2_t __a, int32x2_t __b, int32x2_t __c)
7277
{
7278
  return (int32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, __b, __c);
7279
}
7280
 
7281
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
7282
vbsl_s64 (uint64x1_t __a, int64x1_t __b, int64x1_t __c)
7283
{
7284
  return (int64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, __b, __c);
7285
}
7286
 
7287
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7288
vbsl_f32 (uint32x2_t __a, float32x2_t __b, float32x2_t __c)
7289
{
7290
  return (float32x2_t)__builtin_neon_vbslv2sf ((int32x2_t) __a, __b, __c);
7291
}
7292
 
7293
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7294
vbsl_u8 (uint8x8_t __a, uint8x8_t __b, uint8x8_t __c)
7295
{
7296
  return (uint8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7297
}
7298
 
7299
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7300
vbsl_u16 (uint16x4_t __a, uint16x4_t __b, uint16x4_t __c)
7301
{
7302
  return (uint16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
7303
}
7304
 
7305
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7306
vbsl_u32 (uint32x2_t __a, uint32x2_t __b, uint32x2_t __c)
7307
{
7308
  return (uint32x2_t)__builtin_neon_vbslv2si ((int32x2_t) __a, (int32x2_t) __b, (int32x2_t) __c);
7309
}
7310
 
7311
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
7312
vbsl_u64 (uint64x1_t __a, uint64x1_t __b, uint64x1_t __c)
7313
{
7314
  return (uint64x1_t)__builtin_neon_vbsldi ((int64x1_t) __a, (int64x1_t) __b, (int64x1_t) __c);
7315
}
7316
 
7317
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7318
vbsl_p8 (uint8x8_t __a, poly8x8_t __b, poly8x8_t __c)
7319
{
7320
  return (poly8x8_t)__builtin_neon_vbslv8qi ((int8x8_t) __a, (int8x8_t) __b, (int8x8_t) __c);
7321
}
7322
 
7323
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7324
vbsl_p16 (uint16x4_t __a, poly16x4_t __b, poly16x4_t __c)
7325
{
7326
  return (poly16x4_t)__builtin_neon_vbslv4hi ((int16x4_t) __a, (int16x4_t) __b, (int16x4_t) __c);
7327
}
7328
 
7329
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7330
vbslq_s8 (uint8x16_t __a, int8x16_t __b, int8x16_t __c)
7331
{
7332
  return (int8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, __b, __c);
7333
}
7334
 
7335
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7336
vbslq_s16 (uint16x8_t __a, int16x8_t __b, int16x8_t __c)
7337
{
7338
  return (int16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, __b, __c);
7339
}
7340
 
7341
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7342
vbslq_s32 (uint32x4_t __a, int32x4_t __b, int32x4_t __c)
7343
{
7344
  return (int32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, __b, __c);
7345
}
7346
 
7347
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7348
vbslq_s64 (uint64x2_t __a, int64x2_t __b, int64x2_t __c)
7349
{
7350
  return (int64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, __b, __c);
7351
}
7352
 
7353
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7354
vbslq_f32 (uint32x4_t __a, float32x4_t __b, float32x4_t __c)
7355
{
7356
  return (float32x4_t)__builtin_neon_vbslv4sf ((int32x4_t) __a, __b, __c);
7357
}
7358
 
7359
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7360
vbslq_u8 (uint8x16_t __a, uint8x16_t __b, uint8x16_t __c)
7361
{
7362
  return (uint8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
7363
}
7364
 
7365
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7366
vbslq_u16 (uint16x8_t __a, uint16x8_t __b, uint16x8_t __c)
7367
{
7368
  return (uint16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
7369
}
7370
 
7371
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7372
vbslq_u32 (uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
7373
{
7374
  return (uint32x4_t)__builtin_neon_vbslv4si ((int32x4_t) __a, (int32x4_t) __b, (int32x4_t) __c);
7375
}
7376
 
7377
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
7378
vbslq_u64 (uint64x2_t __a, uint64x2_t __b, uint64x2_t __c)
7379
{
7380
  return (uint64x2_t)__builtin_neon_vbslv2di ((int64x2_t) __a, (int64x2_t) __b, (int64x2_t) __c);
7381
}
7382
 
7383
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7384
vbslq_p8 (uint8x16_t __a, poly8x16_t __b, poly8x16_t __c)
7385
{
7386
  return (poly8x16_t)__builtin_neon_vbslv16qi ((int8x16_t) __a, (int8x16_t) __b, (int8x16_t) __c);
7387
}
7388
 
7389
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7390
vbslq_p16 (uint16x8_t __a, poly16x8_t __b, poly16x8_t __c)
7391
{
7392
  return (poly16x8_t)__builtin_neon_vbslv8hi ((int16x8_t) __a, (int16x8_t) __b, (int16x8_t) __c);
7393
}
7394
 
7395
__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
7396
vtrn_s8 (int8x8_t __a, int8x8_t __b)
7397
{
7398
  int8x8x2_t __rv;
7399
  __builtin_neon_vtrnv8qi (&__rv.val[0], __a, __b);
7400
  return __rv;
7401
}
7402
 
7403
__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
7404
vtrn_s16 (int16x4_t __a, int16x4_t __b)
7405
{
7406
  int16x4x2_t __rv;
7407
  __builtin_neon_vtrnv4hi (&__rv.val[0], __a, __b);
7408
  return __rv;
7409
}
7410
 
7411
__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
7412
vtrn_s32 (int32x2_t __a, int32x2_t __b)
7413
{
7414
  int32x2x2_t __rv;
7415
  __builtin_neon_vtrnv2si (&__rv.val[0], __a, __b);
7416
  return __rv;
7417
}
7418
 
7419
__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
7420
vtrn_f32 (float32x2_t __a, float32x2_t __b)
7421
{
7422
  float32x2x2_t __rv;
7423
  __builtin_neon_vtrnv2sf (&__rv.val[0], __a, __b);
7424
  return __rv;
7425
}
7426
 
7427
__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
7428
vtrn_u8 (uint8x8_t __a, uint8x8_t __b)
7429
{
7430
  uint8x8x2_t __rv;
7431
  __builtin_neon_vtrnv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b);
7432
  return __rv;
7433
}
7434
 
7435
__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
7436
vtrn_u16 (uint16x4_t __a, uint16x4_t __b)
7437
{
7438
  uint16x4x2_t __rv;
7439
  __builtin_neon_vtrnv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b);
7440
  return __rv;
7441
}
7442
 
7443
__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
7444
vtrn_u32 (uint32x2_t __a, uint32x2_t __b)
7445
{
7446
  uint32x2x2_t __rv;
7447
  __builtin_neon_vtrnv2si ((int32x2_t *) &__rv.val[0], (int32x2_t) __a, (int32x2_t) __b);
7448
  return __rv;
7449
}
7450
 
7451
__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
7452
vtrn_p8 (poly8x8_t __a, poly8x8_t __b)
7453
{
7454
  poly8x8x2_t __rv;
7455
  __builtin_neon_vtrnv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b);
7456
  return __rv;
7457
}
7458
 
7459
__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
7460
vtrn_p16 (poly16x4_t __a, poly16x4_t __b)
7461
{
7462
  poly16x4x2_t __rv;
7463
  __builtin_neon_vtrnv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b);
7464
  return __rv;
7465
}
7466
 
7467
__extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
7468
vtrnq_s8 (int8x16_t __a, int8x16_t __b)
7469
{
7470
  int8x16x2_t __rv;
7471
  __builtin_neon_vtrnv16qi (&__rv.val[0], __a, __b);
7472
  return __rv;
7473
}
7474
 
7475
__extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
7476
vtrnq_s16 (int16x8_t __a, int16x8_t __b)
7477
{
7478
  int16x8x2_t __rv;
7479
  __builtin_neon_vtrnv8hi (&__rv.val[0], __a, __b);
7480
  return __rv;
7481
}
7482
 
7483
__extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
7484
vtrnq_s32 (int32x4_t __a, int32x4_t __b)
7485
{
7486
  int32x4x2_t __rv;
7487
  __builtin_neon_vtrnv4si (&__rv.val[0], __a, __b);
7488
  return __rv;
7489
}
7490
 
7491
__extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
7492
vtrnq_f32 (float32x4_t __a, float32x4_t __b)
7493
{
7494
  float32x4x2_t __rv;
7495
  __builtin_neon_vtrnv4sf (&__rv.val[0], __a, __b);
7496
  return __rv;
7497
}
7498
 
7499
__extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
7500
vtrnq_u8 (uint8x16_t __a, uint8x16_t __b)
7501
{
7502
  uint8x16x2_t __rv;
7503
  __builtin_neon_vtrnv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b);
7504
  return __rv;
7505
}
7506
 
7507
__extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
7508
vtrnq_u16 (uint16x8_t __a, uint16x8_t __b)
7509
{
7510
  uint16x8x2_t __rv;
7511
  __builtin_neon_vtrnv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b);
7512
  return __rv;
7513
}
7514
 
7515
__extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
7516
vtrnq_u32 (uint32x4_t __a, uint32x4_t __b)
7517
{
7518
  uint32x4x2_t __rv;
7519
  __builtin_neon_vtrnv4si ((int32x4_t *) &__rv.val[0], (int32x4_t) __a, (int32x4_t) __b);
7520
  return __rv;
7521
}
7522
 
7523
__extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
7524
vtrnq_p8 (poly8x16_t __a, poly8x16_t __b)
7525
{
7526
  poly8x16x2_t __rv;
7527
  __builtin_neon_vtrnv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b);
7528
  return __rv;
7529
}
7530
 
7531
__extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
7532
vtrnq_p16 (poly16x8_t __a, poly16x8_t __b)
7533
{
7534
  poly16x8x2_t __rv;
7535
  __builtin_neon_vtrnv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b);
7536
  return __rv;
7537
}
7538
 
7539
__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
7540
vzip_s8 (int8x8_t __a, int8x8_t __b)
7541
{
7542
  int8x8x2_t __rv;
7543
  __builtin_neon_vzipv8qi (&__rv.val[0], __a, __b);
7544
  return __rv;
7545
}
7546
 
7547
__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
7548
vzip_s16 (int16x4_t __a, int16x4_t __b)
7549
{
7550
  int16x4x2_t __rv;
7551
  __builtin_neon_vzipv4hi (&__rv.val[0], __a, __b);
7552
  return __rv;
7553
}
7554
 
7555
__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
7556
vzip_s32 (int32x2_t __a, int32x2_t __b)
7557
{
7558
  int32x2x2_t __rv;
7559
  __builtin_neon_vzipv2si (&__rv.val[0], __a, __b);
7560
  return __rv;
7561
}
7562
 
7563
__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
7564
vzip_f32 (float32x2_t __a, float32x2_t __b)
7565
{
7566
  float32x2x2_t __rv;
7567
  __builtin_neon_vzipv2sf (&__rv.val[0], __a, __b);
7568
  return __rv;
7569
}
7570
 
7571
__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
7572
vzip_u8 (uint8x8_t __a, uint8x8_t __b)
7573
{
7574
  uint8x8x2_t __rv;
7575
  __builtin_neon_vzipv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b);
7576
  return __rv;
7577
}
7578
 
7579
__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
7580
vzip_u16 (uint16x4_t __a, uint16x4_t __b)
7581
{
7582
  uint16x4x2_t __rv;
7583
  __builtin_neon_vzipv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b);
7584
  return __rv;
7585
}
7586
 
7587
__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
7588
vzip_u32 (uint32x2_t __a, uint32x2_t __b)
7589
{
7590
  uint32x2x2_t __rv;
7591
  __builtin_neon_vzipv2si ((int32x2_t *) &__rv.val[0], (int32x2_t) __a, (int32x2_t) __b);
7592
  return __rv;
7593
}
7594
 
7595
__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
7596
vzip_p8 (poly8x8_t __a, poly8x8_t __b)
7597
{
7598
  poly8x8x2_t __rv;
7599
  __builtin_neon_vzipv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b);
7600
  return __rv;
7601
}
7602
 
7603
__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
7604
vzip_p16 (poly16x4_t __a, poly16x4_t __b)
7605
{
7606
  poly16x4x2_t __rv;
7607
  __builtin_neon_vzipv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b);
7608
  return __rv;
7609
}
7610
 
7611
__extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
7612
vzipq_s8 (int8x16_t __a, int8x16_t __b)
7613
{
7614
  int8x16x2_t __rv;
7615
  __builtin_neon_vzipv16qi (&__rv.val[0], __a, __b);
7616
  return __rv;
7617
}
7618
 
7619
__extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
7620
vzipq_s16 (int16x8_t __a, int16x8_t __b)
7621
{
7622
  int16x8x2_t __rv;
7623
  __builtin_neon_vzipv8hi (&__rv.val[0], __a, __b);
7624
  return __rv;
7625
}
7626
 
7627
__extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
7628
vzipq_s32 (int32x4_t __a, int32x4_t __b)
7629
{
7630
  int32x4x2_t __rv;
7631
  __builtin_neon_vzipv4si (&__rv.val[0], __a, __b);
7632
  return __rv;
7633
}
7634
 
7635
__extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
7636
vzipq_f32 (float32x4_t __a, float32x4_t __b)
7637
{
7638
  float32x4x2_t __rv;
7639
  __builtin_neon_vzipv4sf (&__rv.val[0], __a, __b);
7640
  return __rv;
7641
}
7642
 
7643
__extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
7644
vzipq_u8 (uint8x16_t __a, uint8x16_t __b)
7645
{
7646
  uint8x16x2_t __rv;
7647
  __builtin_neon_vzipv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b);
7648
  return __rv;
7649
}
7650
 
7651
__extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
7652
vzipq_u16 (uint16x8_t __a, uint16x8_t __b)
7653
{
7654
  uint16x8x2_t __rv;
7655
  __builtin_neon_vzipv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b);
7656
  return __rv;
7657
}
7658
 
7659
__extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
7660
vzipq_u32 (uint32x4_t __a, uint32x4_t __b)
7661
{
7662
  uint32x4x2_t __rv;
7663
  __builtin_neon_vzipv4si ((int32x4_t *) &__rv.val[0], (int32x4_t) __a, (int32x4_t) __b);
7664
  return __rv;
7665
}
7666
 
7667
__extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
7668
vzipq_p8 (poly8x16_t __a, poly8x16_t __b)
7669
{
7670
  poly8x16x2_t __rv;
7671
  __builtin_neon_vzipv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b);
7672
  return __rv;
7673
}
7674
 
7675
__extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
7676
vzipq_p16 (poly16x8_t __a, poly16x8_t __b)
7677
{
7678
  poly16x8x2_t __rv;
7679
  __builtin_neon_vzipv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b);
7680
  return __rv;
7681
}
7682
 
7683
__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
7684
vuzp_s8 (int8x8_t __a, int8x8_t __b)
7685
{
7686
  int8x8x2_t __rv;
7687
  __builtin_neon_vuzpv8qi (&__rv.val[0], __a, __b);
7688
  return __rv;
7689
}
7690
 
7691
__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
7692
vuzp_s16 (int16x4_t __a, int16x4_t __b)
7693
{
7694
  int16x4x2_t __rv;
7695
  __builtin_neon_vuzpv4hi (&__rv.val[0], __a, __b);
7696
  return __rv;
7697
}
7698
 
7699
__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
7700
vuzp_s32 (int32x2_t __a, int32x2_t __b)
7701
{
7702
  int32x2x2_t __rv;
7703
  __builtin_neon_vuzpv2si (&__rv.val[0], __a, __b);
7704
  return __rv;
7705
}
7706
 
7707
__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
7708
vuzp_f32 (float32x2_t __a, float32x2_t __b)
7709
{
7710
  float32x2x2_t __rv;
7711
  __builtin_neon_vuzpv2sf (&__rv.val[0], __a, __b);
7712
  return __rv;
7713
}
7714
 
7715
__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
7716
vuzp_u8 (uint8x8_t __a, uint8x8_t __b)
7717
{
7718
  uint8x8x2_t __rv;
7719
  __builtin_neon_vuzpv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b);
7720
  return __rv;
7721
}
7722
 
7723
__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
7724
vuzp_u16 (uint16x4_t __a, uint16x4_t __b)
7725
{
7726
  uint16x4x2_t __rv;
7727
  __builtin_neon_vuzpv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b);
7728
  return __rv;
7729
}
7730
 
7731
__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
7732
vuzp_u32 (uint32x2_t __a, uint32x2_t __b)
7733
{
7734
  uint32x2x2_t __rv;
7735
  __builtin_neon_vuzpv2si ((int32x2_t *) &__rv.val[0], (int32x2_t) __a, (int32x2_t) __b);
7736
  return __rv;
7737
}
7738
 
7739
__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
7740
vuzp_p8 (poly8x8_t __a, poly8x8_t __b)
7741
{
7742
  poly8x8x2_t __rv;
7743
  __builtin_neon_vuzpv8qi ((int8x8_t *) &__rv.val[0], (int8x8_t) __a, (int8x8_t) __b);
7744
  return __rv;
7745
}
7746
 
7747
__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
7748
vuzp_p16 (poly16x4_t __a, poly16x4_t __b)
7749
{
7750
  poly16x4x2_t __rv;
7751
  __builtin_neon_vuzpv4hi ((int16x4_t *) &__rv.val[0], (int16x4_t) __a, (int16x4_t) __b);
7752
  return __rv;
7753
}
7754
 
7755
__extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
7756
vuzpq_s8 (int8x16_t __a, int8x16_t __b)
7757
{
7758
  int8x16x2_t __rv;
7759
  __builtin_neon_vuzpv16qi (&__rv.val[0], __a, __b);
7760
  return __rv;
7761
}
7762
 
7763
__extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
7764
vuzpq_s16 (int16x8_t __a, int16x8_t __b)
7765
{
7766
  int16x8x2_t __rv;
7767
  __builtin_neon_vuzpv8hi (&__rv.val[0], __a, __b);
7768
  return __rv;
7769
}
7770
 
7771
__extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
7772
vuzpq_s32 (int32x4_t __a, int32x4_t __b)
7773
{
7774
  int32x4x2_t __rv;
7775
  __builtin_neon_vuzpv4si (&__rv.val[0], __a, __b);
7776
  return __rv;
7777
}
7778
 
7779
__extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
7780
vuzpq_f32 (float32x4_t __a, float32x4_t __b)
7781
{
7782
  float32x4x2_t __rv;
7783
  __builtin_neon_vuzpv4sf (&__rv.val[0], __a, __b);
7784
  return __rv;
7785
}
7786
 
7787
__extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
7788
vuzpq_u8 (uint8x16_t __a, uint8x16_t __b)
7789
{
7790
  uint8x16x2_t __rv;
7791
  __builtin_neon_vuzpv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b);
7792
  return __rv;
7793
}
7794
 
7795
__extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
7796
vuzpq_u16 (uint16x8_t __a, uint16x8_t __b)
7797
{
7798
  uint16x8x2_t __rv;
7799
  __builtin_neon_vuzpv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b);
7800
  return __rv;
7801
}
7802
 
7803
__extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
7804
vuzpq_u32 (uint32x4_t __a, uint32x4_t __b)
7805
{
7806
  uint32x4x2_t __rv;
7807
  __builtin_neon_vuzpv4si ((int32x4_t *) &__rv.val[0], (int32x4_t) __a, (int32x4_t) __b);
7808
  return __rv;
7809
}
7810
 
7811
__extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
7812
vuzpq_p8 (poly8x16_t __a, poly8x16_t __b)
7813
{
7814
  poly8x16x2_t __rv;
7815
  __builtin_neon_vuzpv16qi ((int8x16_t *) &__rv.val[0], (int8x16_t) __a, (int8x16_t) __b);
7816
  return __rv;
7817
}
7818
 
7819
__extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
7820
vuzpq_p16 (poly16x8_t __a, poly16x8_t __b)
7821
{
7822
  poly16x8x2_t __rv;
7823
  __builtin_neon_vuzpv8hi ((int16x8_t *) &__rv.val[0], (int16x8_t) __a, (int16x8_t) __b);
7824
  return __rv;
7825
}
7826
 
7827
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7828
vld1_s8 (const int8_t * __a)
7829
{
7830
  return (int8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
7831
}
7832
 
7833
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7834
vld1_s16 (const int16_t * __a)
7835
{
7836
  return (int16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
7837
}
7838
 
7839
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7840
vld1_s32 (const int32_t * __a)
7841
{
7842
  return (int32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
7843
}
7844
 
7845
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
7846
vld1_s64 (const int64_t * __a)
7847
{
7848
  return (int64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
7849
}
7850
 
7851
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7852
vld1_f32 (const float32_t * __a)
7853
{
7854
  return (float32x2_t)__builtin_neon_vld1v2sf ((const __builtin_neon_sf *) __a);
7855
}
7856
 
7857
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7858
vld1_u8 (const uint8_t * __a)
7859
{
7860
  return (uint8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
7861
}
7862
 
7863
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7864
vld1_u16 (const uint16_t * __a)
7865
{
7866
  return (uint16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
7867
}
7868
 
7869
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7870
vld1_u32 (const uint32_t * __a)
7871
{
7872
  return (uint32x2_t)__builtin_neon_vld1v2si ((const __builtin_neon_si *) __a);
7873
}
7874
 
7875
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
7876
vld1_u64 (const uint64_t * __a)
7877
{
7878
  return (uint64x1_t)__builtin_neon_vld1di ((const __builtin_neon_di *) __a);
7879
}
7880
 
7881
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
7882
vld1_p8 (const poly8_t * __a)
7883
{
7884
  return (poly8x8_t)__builtin_neon_vld1v8qi ((const __builtin_neon_qi *) __a);
7885
}
7886
 
7887
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
7888
vld1_p16 (const poly16_t * __a)
7889
{
7890
  return (poly16x4_t)__builtin_neon_vld1v4hi ((const __builtin_neon_hi *) __a);
7891
}
7892
 
7893
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
7894
vld1q_s8 (const int8_t * __a)
7895
{
7896
  return (int8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
7897
}
7898
 
7899
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
7900
vld1q_s16 (const int16_t * __a)
7901
{
7902
  return (int16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
7903
}
7904
 
7905
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
7906
vld1q_s32 (const int32_t * __a)
7907
{
7908
  return (int32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
7909
}
7910
 
7911
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
7912
vld1q_s64 (const int64_t * __a)
7913
{
7914
  return (int64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
7915
}
7916
 
7917
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
7918
vld1q_f32 (const float32_t * __a)
7919
{
7920
  return (float32x4_t)__builtin_neon_vld1v4sf ((const __builtin_neon_sf *) __a);
7921
}
7922
 
7923
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
7924
vld1q_u8 (const uint8_t * __a)
7925
{
7926
  return (uint8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
7927
}
7928
 
7929
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
7930
vld1q_u16 (const uint16_t * __a)
7931
{
7932
  return (uint16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
7933
}
7934
 
7935
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
7936
vld1q_u32 (const uint32_t * __a)
7937
{
7938
  return (uint32x4_t)__builtin_neon_vld1v4si ((const __builtin_neon_si *) __a);
7939
}
7940
 
7941
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
7942
vld1q_u64 (const uint64_t * __a)
7943
{
7944
  return (uint64x2_t)__builtin_neon_vld1v2di ((const __builtin_neon_di *) __a);
7945
}
7946
 
7947
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
7948
vld1q_p8 (const poly8_t * __a)
7949
{
7950
  return (poly8x16_t)__builtin_neon_vld1v16qi ((const __builtin_neon_qi *) __a);
7951
}
7952
 
7953
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
7954
vld1q_p16 (const poly16_t * __a)
7955
{
7956
  return (poly16x8_t)__builtin_neon_vld1v8hi ((const __builtin_neon_hi *) __a);
7957
}
7958
 
7959
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
7960
vld1_lane_s8 (const int8_t * __a, int8x8_t __b, const int __c)
7961
{
7962
  return (int8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, __b, __c);
7963
}
7964
 
7965
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
7966
vld1_lane_s16 (const int16_t * __a, int16x4_t __b, const int __c)
7967
{
7968
  return (int16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, __b, __c);
7969
}
7970
 
7971
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
7972
vld1_lane_s32 (const int32_t * __a, int32x2_t __b, const int __c)
7973
{
7974
  return (int32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, __b, __c);
7975
}
7976
 
7977
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
7978
vld1_lane_f32 (const float32_t * __a, float32x2_t __b, const int __c)
7979
{
7980
  return (float32x2_t)__builtin_neon_vld1_lanev2sf ((const __builtin_neon_sf *) __a, __b, __c);
7981
}
7982
 
7983
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
7984
vld1_lane_u8 (const uint8_t * __a, uint8x8_t __b, const int __c)
7985
{
7986
  return (uint8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
7987
}
7988
 
7989
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
7990
vld1_lane_u16 (const uint16_t * __a, uint16x4_t __b, const int __c)
7991
{
7992
  return (uint16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
7993
}
7994
 
7995
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
7996
vld1_lane_u32 (const uint32_t * __a, uint32x2_t __b, const int __c)
7997
{
7998
  return (uint32x2_t)__builtin_neon_vld1_lanev2si ((const __builtin_neon_si *) __a, (int32x2_t) __b, __c);
7999
}
8000
 
8001
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
8002
vld1_lane_p8 (const poly8_t * __a, poly8x8_t __b, const int __c)
8003
{
8004
  return (poly8x8_t)__builtin_neon_vld1_lanev8qi ((const __builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8005
}
8006
 
8007
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
8008
vld1_lane_p16 (const poly16_t * __a, poly16x4_t __b, const int __c)
8009
{
8010
  return (poly16x4_t)__builtin_neon_vld1_lanev4hi ((const __builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8011
}
8012
 
8013
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
8014
vld1_lane_s64 (const int64_t * __a, int64x1_t __b, const int __c)
8015
{
8016
  return (int64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, __b, __c);
8017
}
8018
 
8019
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
8020
vld1_lane_u64 (const uint64_t * __a, uint64x1_t __b, const int __c)
8021
{
8022
  return (uint64x1_t)__builtin_neon_vld1_lanedi ((const __builtin_neon_di *) __a, (int64x1_t) __b, __c);
8023
}
8024
 
8025
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
8026
vld1q_lane_s8 (const int8_t * __a, int8x16_t __b, const int __c)
8027
{
8028
  return (int8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, __b, __c);
8029
}
8030
 
8031
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
8032
vld1q_lane_s16 (const int16_t * __a, int16x8_t __b, const int __c)
8033
{
8034
  return (int16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, __b, __c);
8035
}
8036
 
8037
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
8038
vld1q_lane_s32 (const int32_t * __a, int32x4_t __b, const int __c)
8039
{
8040
  return (int32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, __b, __c);
8041
}
8042
 
8043
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
8044
vld1q_lane_f32 (const float32_t * __a, float32x4_t __b, const int __c)
8045
{
8046
  return (float32x4_t)__builtin_neon_vld1_lanev4sf ((const __builtin_neon_sf *) __a, __b, __c);
8047
}
8048
 
8049
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
8050
vld1q_lane_u8 (const uint8_t * __a, uint8x16_t __b, const int __c)
8051
{
8052
  return (uint8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8053
}
8054
 
8055
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
8056
vld1q_lane_u16 (const uint16_t * __a, uint16x8_t __b, const int __c)
8057
{
8058
  return (uint16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8059
}
8060
 
8061
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
8062
vld1q_lane_u32 (const uint32_t * __a, uint32x4_t __b, const int __c)
8063
{
8064
  return (uint32x4_t)__builtin_neon_vld1_lanev4si ((const __builtin_neon_si *) __a, (int32x4_t) __b, __c);
8065
}
8066
 
8067
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
8068
vld1q_lane_p8 (const poly8_t * __a, poly8x16_t __b, const int __c)
8069
{
8070
  return (poly8x16_t)__builtin_neon_vld1_lanev16qi ((const __builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8071
}
8072
 
8073
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
8074
vld1q_lane_p16 (const poly16_t * __a, poly16x8_t __b, const int __c)
8075
{
8076
  return (poly16x8_t)__builtin_neon_vld1_lanev8hi ((const __builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8077
}
8078
 
8079
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
8080
vld1q_lane_s64 (const int64_t * __a, int64x2_t __b, const int __c)
8081
{
8082
  return (int64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, __b, __c);
8083
}
8084
 
8085
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
8086
vld1q_lane_u64 (const uint64_t * __a, uint64x2_t __b, const int __c)
8087
{
8088
  return (uint64x2_t)__builtin_neon_vld1_lanev2di ((const __builtin_neon_di *) __a, (int64x2_t) __b, __c);
8089
}
8090
 
8091
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
8092
vld1_dup_s8 (const int8_t * __a)
8093
{
8094
  return (int8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8095
}
8096
 
8097
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
8098
vld1_dup_s16 (const int16_t * __a)
8099
{
8100
  return (int16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8101
}
8102
 
8103
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
8104
vld1_dup_s32 (const int32_t * __a)
8105
{
8106
  return (int32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
8107
}
8108
 
8109
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
8110
vld1_dup_f32 (const float32_t * __a)
8111
{
8112
  return (float32x2_t)__builtin_neon_vld1_dupv2sf ((const __builtin_neon_sf *) __a);
8113
}
8114
 
8115
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
8116
vld1_dup_u8 (const uint8_t * __a)
8117
{
8118
  return (uint8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8119
}
8120
 
8121
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
8122
vld1_dup_u16 (const uint16_t * __a)
8123
{
8124
  return (uint16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8125
}
8126
 
8127
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
8128
vld1_dup_u32 (const uint32_t * __a)
8129
{
8130
  return (uint32x2_t)__builtin_neon_vld1_dupv2si ((const __builtin_neon_si *) __a);
8131
}
8132
 
8133
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
8134
vld1_dup_p8 (const poly8_t * __a)
8135
{
8136
  return (poly8x8_t)__builtin_neon_vld1_dupv8qi ((const __builtin_neon_qi *) __a);
8137
}
8138
 
8139
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
8140
vld1_dup_p16 (const poly16_t * __a)
8141
{
8142
  return (poly16x4_t)__builtin_neon_vld1_dupv4hi ((const __builtin_neon_hi *) __a);
8143
}
8144
 
8145
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
8146
vld1_dup_s64 (const int64_t * __a)
8147
{
8148
  return (int64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8149
}
8150
 
8151
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
8152
vld1_dup_u64 (const uint64_t * __a)
8153
{
8154
  return (uint64x1_t)__builtin_neon_vld1_dupdi ((const __builtin_neon_di *) __a);
8155
}
8156
 
8157
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
8158
vld1q_dup_s8 (const int8_t * __a)
8159
{
8160
  return (int8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8161
}
8162
 
8163
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
8164
vld1q_dup_s16 (const int16_t * __a)
8165
{
8166
  return (int16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8167
}
8168
 
8169
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
8170
vld1q_dup_s32 (const int32_t * __a)
8171
{
8172
  return (int32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
8173
}
8174
 
8175
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
8176
vld1q_dup_f32 (const float32_t * __a)
8177
{
8178
  return (float32x4_t)__builtin_neon_vld1_dupv4sf ((const __builtin_neon_sf *) __a);
8179
}
8180
 
8181
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
8182
vld1q_dup_u8 (const uint8_t * __a)
8183
{
8184
  return (uint8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8185
}
8186
 
8187
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
8188
vld1q_dup_u16 (const uint16_t * __a)
8189
{
8190
  return (uint16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8191
}
8192
 
8193
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
8194
vld1q_dup_u32 (const uint32_t * __a)
8195
{
8196
  return (uint32x4_t)__builtin_neon_vld1_dupv4si ((const __builtin_neon_si *) __a);
8197
}
8198
 
8199
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
8200
vld1q_dup_p8 (const poly8_t * __a)
8201
{
8202
  return (poly8x16_t)__builtin_neon_vld1_dupv16qi ((const __builtin_neon_qi *) __a);
8203
}
8204
 
8205
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
8206
vld1q_dup_p16 (const poly16_t * __a)
8207
{
8208
  return (poly16x8_t)__builtin_neon_vld1_dupv8hi ((const __builtin_neon_hi *) __a);
8209
}
8210
 
8211
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
8212
vld1q_dup_s64 (const int64_t * __a)
8213
{
8214
  return (int64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
8215
}
8216
 
8217
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
8218
vld1q_dup_u64 (const uint64_t * __a)
8219
{
8220
  return (uint64x2_t)__builtin_neon_vld1_dupv2di ((const __builtin_neon_di *) __a);
8221
}
8222
 
8223
__extension__ static __inline void __attribute__ ((__always_inline__))
8224
vst1_s8 (int8_t * __a, int8x8_t __b)
8225
{
8226
  __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, __b);
8227
}
8228
 
8229
__extension__ static __inline void __attribute__ ((__always_inline__))
8230
vst1_s16 (int16_t * __a, int16x4_t __b)
8231
{
8232
  __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, __b);
8233
}
8234
 
8235
__extension__ static __inline void __attribute__ ((__always_inline__))
8236
vst1_s32 (int32_t * __a, int32x2_t __b)
8237
{
8238
  __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, __b);
8239
}
8240
 
8241
__extension__ static __inline void __attribute__ ((__always_inline__))
8242
vst1_s64 (int64_t * __a, int64x1_t __b)
8243
{
8244
  __builtin_neon_vst1di ((__builtin_neon_di *) __a, __b);
8245
}
8246
 
8247
__extension__ static __inline void __attribute__ ((__always_inline__))
8248
vst1_f32 (float32_t * __a, float32x2_t __b)
8249
{
8250
  __builtin_neon_vst1v2sf ((__builtin_neon_sf *) __a, __b);
8251
}
8252
 
8253
__extension__ static __inline void __attribute__ ((__always_inline__))
8254
vst1_u8 (uint8_t * __a, uint8x8_t __b)
8255
{
8256
  __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
8257
}
8258
 
8259
__extension__ static __inline void __attribute__ ((__always_inline__))
8260
vst1_u16 (uint16_t * __a, uint16x4_t __b)
8261
{
8262
  __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
8263
}
8264
 
8265
__extension__ static __inline void __attribute__ ((__always_inline__))
8266
vst1_u32 (uint32_t * __a, uint32x2_t __b)
8267
{
8268
  __builtin_neon_vst1v2si ((__builtin_neon_si *) __a, (int32x2_t) __b);
8269
}
8270
 
8271
__extension__ static __inline void __attribute__ ((__always_inline__))
8272
vst1_u64 (uint64_t * __a, uint64x1_t __b)
8273
{
8274
  __builtin_neon_vst1di ((__builtin_neon_di *) __a, (int64x1_t) __b);
8275
}
8276
 
8277
__extension__ static __inline void __attribute__ ((__always_inline__))
8278
vst1_p8 (poly8_t * __a, poly8x8_t __b)
8279
{
8280
  __builtin_neon_vst1v8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b);
8281
}
8282
 
8283
__extension__ static __inline void __attribute__ ((__always_inline__))
8284
vst1_p16 (poly16_t * __a, poly16x4_t __b)
8285
{
8286
  __builtin_neon_vst1v4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b);
8287
}
8288
 
8289
__extension__ static __inline void __attribute__ ((__always_inline__))
8290
vst1q_s8 (int8_t * __a, int8x16_t __b)
8291
{
8292
  __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, __b);
8293
}
8294
 
8295
__extension__ static __inline void __attribute__ ((__always_inline__))
8296
vst1q_s16 (int16_t * __a, int16x8_t __b)
8297
{
8298
  __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, __b);
8299
}
8300
 
8301
__extension__ static __inline void __attribute__ ((__always_inline__))
8302
vst1q_s32 (int32_t * __a, int32x4_t __b)
8303
{
8304
  __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, __b);
8305
}
8306
 
8307
__extension__ static __inline void __attribute__ ((__always_inline__))
8308
vst1q_s64 (int64_t * __a, int64x2_t __b)
8309
{
8310
  __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, __b);
8311
}
8312
 
8313
__extension__ static __inline void __attribute__ ((__always_inline__))
8314
vst1q_f32 (float32_t * __a, float32x4_t __b)
8315
{
8316
  __builtin_neon_vst1v4sf ((__builtin_neon_sf *) __a, __b);
8317
}
8318
 
8319
__extension__ static __inline void __attribute__ ((__always_inline__))
8320
vst1q_u8 (uint8_t * __a, uint8x16_t __b)
8321
{
8322
  __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
8323
}
8324
 
8325
__extension__ static __inline void __attribute__ ((__always_inline__))
8326
vst1q_u16 (uint16_t * __a, uint16x8_t __b)
8327
{
8328
  __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
8329
}
8330
 
8331
__extension__ static __inline void __attribute__ ((__always_inline__))
8332
vst1q_u32 (uint32_t * __a, uint32x4_t __b)
8333
{
8334
  __builtin_neon_vst1v4si ((__builtin_neon_si *) __a, (int32x4_t) __b);
8335
}
8336
 
8337
__extension__ static __inline void __attribute__ ((__always_inline__))
8338
vst1q_u64 (uint64_t * __a, uint64x2_t __b)
8339
{
8340
  __builtin_neon_vst1v2di ((__builtin_neon_di *) __a, (int64x2_t) __b);
8341
}
8342
 
8343
__extension__ static __inline void __attribute__ ((__always_inline__))
8344
vst1q_p8 (poly8_t * __a, poly8x16_t __b)
8345
{
8346
  __builtin_neon_vst1v16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b);
8347
}
8348
 
8349
__extension__ static __inline void __attribute__ ((__always_inline__))
8350
vst1q_p16 (poly16_t * __a, poly16x8_t __b)
8351
{
8352
  __builtin_neon_vst1v8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b);
8353
}
8354
 
8355
__extension__ static __inline void __attribute__ ((__always_inline__))
8356
vst1_lane_s8 (int8_t * __a, int8x8_t __b, const int __c)
8357
{
8358
  __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, __b, __c);
8359
}
8360
 
8361
__extension__ static __inline void __attribute__ ((__always_inline__))
8362
vst1_lane_s16 (int16_t * __a, int16x4_t __b, const int __c)
8363
{
8364
  __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, __b, __c);
8365
}
8366
 
8367
__extension__ static __inline void __attribute__ ((__always_inline__))
8368
vst1_lane_s32 (int32_t * __a, int32x2_t __b, const int __c)
8369
{
8370
  __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, __b, __c);
8371
}
8372
 
8373
__extension__ static __inline void __attribute__ ((__always_inline__))
8374
vst1_lane_f32 (float32_t * __a, float32x2_t __b, const int __c)
8375
{
8376
  __builtin_neon_vst1_lanev2sf ((__builtin_neon_sf *) __a, __b, __c);
8377
}
8378
 
8379
__extension__ static __inline void __attribute__ ((__always_inline__))
8380
vst1_lane_u8 (uint8_t * __a, uint8x8_t __b, const int __c)
8381
{
8382
  __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8383
}
8384
 
8385
__extension__ static __inline void __attribute__ ((__always_inline__))
8386
vst1_lane_u16 (uint16_t * __a, uint16x4_t __b, const int __c)
8387
{
8388
  __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8389
}
8390
 
8391
__extension__ static __inline void __attribute__ ((__always_inline__))
8392
vst1_lane_u32 (uint32_t * __a, uint32x2_t __b, const int __c)
8393
{
8394
  __builtin_neon_vst1_lanev2si ((__builtin_neon_si *) __a, (int32x2_t) __b, __c);
8395
}
8396
 
8397
__extension__ static __inline void __attribute__ ((__always_inline__))
8398
vst1_lane_p8 (poly8_t * __a, poly8x8_t __b, const int __c)
8399
{
8400
  __builtin_neon_vst1_lanev8qi ((__builtin_neon_qi *) __a, (int8x8_t) __b, __c);
8401
}
8402
 
8403
__extension__ static __inline void __attribute__ ((__always_inline__))
8404
vst1_lane_p16 (poly16_t * __a, poly16x4_t __b, const int __c)
8405
{
8406
  __builtin_neon_vst1_lanev4hi ((__builtin_neon_hi *) __a, (int16x4_t) __b, __c);
8407
}
8408
 
8409
__extension__ static __inline void __attribute__ ((__always_inline__))
8410
vst1_lane_s64 (int64_t * __a, int64x1_t __b, const int __c)
8411
{
8412
  __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, __b, __c);
8413
}
8414
 
8415
__extension__ static __inline void __attribute__ ((__always_inline__))
8416
vst1_lane_u64 (uint64_t * __a, uint64x1_t __b, const int __c)
8417
{
8418
  __builtin_neon_vst1_lanedi ((__builtin_neon_di *) __a, (int64x1_t) __b, __c);
8419
}
8420
 
8421
__extension__ static __inline void __attribute__ ((__always_inline__))
8422
vst1q_lane_s8 (int8_t * __a, int8x16_t __b, const int __c)
8423
{
8424
  __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, __b, __c);
8425
}
8426
 
8427
__extension__ static __inline void __attribute__ ((__always_inline__))
8428
vst1q_lane_s16 (int16_t * __a, int16x8_t __b, const int __c)
8429
{
8430
  __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, __b, __c);
8431
}
8432
 
8433
__extension__ static __inline void __attribute__ ((__always_inline__))
8434
vst1q_lane_s32 (int32_t * __a, int32x4_t __b, const int __c)
8435
{
8436
  __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, __b, __c);
8437
}
8438
 
8439
__extension__ static __inline void __attribute__ ((__always_inline__))
8440
vst1q_lane_f32 (float32_t * __a, float32x4_t __b, const int __c)
8441
{
8442
  __builtin_neon_vst1_lanev4sf ((__builtin_neon_sf *) __a, __b, __c);
8443
}
8444
 
8445
__extension__ static __inline void __attribute__ ((__always_inline__))
8446
vst1q_lane_u8 (uint8_t * __a, uint8x16_t __b, const int __c)
8447
{
8448
  __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8449
}
8450
 
8451
__extension__ static __inline void __attribute__ ((__always_inline__))
8452
vst1q_lane_u16 (uint16_t * __a, uint16x8_t __b, const int __c)
8453
{
8454
  __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8455
}
8456
 
8457
__extension__ static __inline void __attribute__ ((__always_inline__))
8458
vst1q_lane_u32 (uint32_t * __a, uint32x4_t __b, const int __c)
8459
{
8460
  __builtin_neon_vst1_lanev4si ((__builtin_neon_si *) __a, (int32x4_t) __b, __c);
8461
}
8462
 
8463
__extension__ static __inline void __attribute__ ((__always_inline__))
8464
vst1q_lane_p8 (poly8_t * __a, poly8x16_t __b, const int __c)
8465
{
8466
  __builtin_neon_vst1_lanev16qi ((__builtin_neon_qi *) __a, (int8x16_t) __b, __c);
8467
}
8468
 
8469
__extension__ static __inline void __attribute__ ((__always_inline__))
8470
vst1q_lane_p16 (poly16_t * __a, poly16x8_t __b, const int __c)
8471
{
8472
  __builtin_neon_vst1_lanev8hi ((__builtin_neon_hi *) __a, (int16x8_t) __b, __c);
8473
}
8474
 
8475
__extension__ static __inline void __attribute__ ((__always_inline__))
8476
vst1q_lane_s64 (int64_t * __a, int64x2_t __b, const int __c)
8477
{
8478
  __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, __b, __c);
8479
}
8480
 
8481
__extension__ static __inline void __attribute__ ((__always_inline__))
8482
vst1q_lane_u64 (uint64_t * __a, uint64x2_t __b, const int __c)
8483
{
8484
  __builtin_neon_vst1_lanev2di ((__builtin_neon_di *) __a, (int64x2_t) __b, __c);
8485
}
8486
 
8487
__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
8488
vld2_s8 (const int8_t * __a)
8489
{
8490
  union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8491
  __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8492
  return __rv.__i;
8493
}
8494
 
8495
__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
8496
vld2_s16 (const int16_t * __a)
8497
{
8498
  union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8499
  __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8500
  return __rv.__i;
8501
}
8502
 
8503
__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
8504
vld2_s32 (const int32_t * __a)
8505
{
8506
  union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8507
  __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
8508
  return __rv.__i;
8509
}
8510
 
8511
__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
8512
vld2_f32 (const float32_t * __a)
8513
{
8514
  union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8515
  __rv.__o = __builtin_neon_vld2v2sf ((const __builtin_neon_sf *) __a);
8516
  return __rv.__i;
8517
}
8518
 
8519
__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
8520
vld2_u8 (const uint8_t * __a)
8521
{
8522
  union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8523
  __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8524
  return __rv.__i;
8525
}
8526
 
8527
__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
8528
vld2_u16 (const uint16_t * __a)
8529
{
8530
  union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8531
  __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8532
  return __rv.__i;
8533
}
8534
 
8535
__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
8536
vld2_u32 (const uint32_t * __a)
8537
{
8538
  union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8539
  __rv.__o = __builtin_neon_vld2v2si ((const __builtin_neon_si *) __a);
8540
  return __rv.__i;
8541
}
8542
 
8543
__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
8544
vld2_p8 (const poly8_t * __a)
8545
{
8546
  union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8547
  __rv.__o = __builtin_neon_vld2v8qi ((const __builtin_neon_qi *) __a);
8548
  return __rv.__i;
8549
}
8550
 
8551
__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
8552
vld2_p16 (const poly16_t * __a)
8553
{
8554
  union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8555
  __rv.__o = __builtin_neon_vld2v4hi ((const __builtin_neon_hi *) __a);
8556
  return __rv.__i;
8557
}
8558
 
8559
__extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__))
8560
vld2_s64 (const int64_t * __a)
8561
{
8562
  union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
8563
  __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
8564
  return __rv.__i;
8565
}
8566
 
8567
__extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__))
8568
vld2_u64 (const uint64_t * __a)
8569
{
8570
  union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
8571
  __rv.__o = __builtin_neon_vld2di ((const __builtin_neon_di *) __a);
8572
  return __rv.__i;
8573
}
8574
 
8575
__extension__ static __inline int8x16x2_t __attribute__ ((__always_inline__))
8576
vld2q_s8 (const int8_t * __a)
8577
{
8578
  union { int8x16x2_t __i; __builtin_neon_oi __o; } __rv;
8579
  __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
8580
  return __rv.__i;
8581
}
8582
 
8583
__extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
8584
vld2q_s16 (const int16_t * __a)
8585
{
8586
  union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8587
  __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
8588
  return __rv.__i;
8589
}
8590
 
8591
__extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
8592
vld2q_s32 (const int32_t * __a)
8593
{
8594
  union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8595
  __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
8596
  return __rv.__i;
8597
}
8598
 
8599
__extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
8600
vld2q_f32 (const float32_t * __a)
8601
{
8602
  union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8603
  __rv.__o = __builtin_neon_vld2v4sf ((const __builtin_neon_sf *) __a);
8604
  return __rv.__i;
8605
}
8606
 
8607
__extension__ static __inline uint8x16x2_t __attribute__ ((__always_inline__))
8608
vld2q_u8 (const uint8_t * __a)
8609
{
8610
  union { uint8x16x2_t __i; __builtin_neon_oi __o; } __rv;
8611
  __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
8612
  return __rv.__i;
8613
}
8614
 
8615
__extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
8616
vld2q_u16 (const uint16_t * __a)
8617
{
8618
  union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8619
  __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
8620
  return __rv.__i;
8621
}
8622
 
8623
__extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
8624
vld2q_u32 (const uint32_t * __a)
8625
{
8626
  union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8627
  __rv.__o = __builtin_neon_vld2v4si ((const __builtin_neon_si *) __a);
8628
  return __rv.__i;
8629
}
8630
 
8631
__extension__ static __inline poly8x16x2_t __attribute__ ((__always_inline__))
8632
vld2q_p8 (const poly8_t * __a)
8633
{
8634
  union { poly8x16x2_t __i; __builtin_neon_oi __o; } __rv;
8635
  __rv.__o = __builtin_neon_vld2v16qi ((const __builtin_neon_qi *) __a);
8636
  return __rv.__i;
8637
}
8638
 
8639
__extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
8640
vld2q_p16 (const poly16_t * __a)
8641
{
8642
  union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8643
  __rv.__o = __builtin_neon_vld2v8hi ((const __builtin_neon_hi *) __a);
8644
  return __rv.__i;
8645
}
8646
 
8647
__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
8648
vld2_lane_s8 (const int8_t * __a, int8x8x2_t __b, const int __c)
8649
{
8650
  union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8651
  union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8652
  __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
8653
  return __rv.__i;
8654
}
8655
 
8656
__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
8657
vld2_lane_s16 (const int16_t * __a, int16x4x2_t __b, const int __c)
8658
{
8659
  union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8660
  union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8661
  __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8662
  return __rv.__i;
8663
}
8664
 
8665
__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
8666
vld2_lane_s32 (const int32_t * __a, int32x2x2_t __b, const int __c)
8667
{
8668
  union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8669
  union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8670
  __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8671
  return __rv.__i;
8672
}
8673
 
8674
__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
8675
vld2_lane_f32 (const float32_t * __a, float32x2x2_t __b, const int __c)
8676
{
8677
  union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8678
  union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8679
  __rv.__o = __builtin_neon_vld2_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
8680
  return __rv.__i;
8681
}
8682
 
8683
__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
8684
vld2_lane_u8 (const uint8_t * __a, uint8x8x2_t __b, const int __c)
8685
{
8686
  union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8687
  union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8688
  __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
8689
  return __rv.__i;
8690
}
8691
 
8692
__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
8693
vld2_lane_u16 (const uint16_t * __a, uint16x4x2_t __b, const int __c)
8694
{
8695
  union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8696
  union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8697
  __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8698
  return __rv.__i;
8699
}
8700
 
8701
__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
8702
vld2_lane_u32 (const uint32_t * __a, uint32x2x2_t __b, const int __c)
8703
{
8704
  union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8705
  union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8706
  __rv.__o = __builtin_neon_vld2_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8707
  return __rv.__i;
8708
}
8709
 
8710
__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
8711
vld2_lane_p8 (const poly8_t * __a, poly8x8x2_t __b, const int __c)
8712
{
8713
  union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8714
  union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8715
  __rv.__o = __builtin_neon_vld2_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
8716
  return __rv.__i;
8717
}
8718
 
8719
__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
8720
vld2_lane_p16 (const poly16_t * __a, poly16x4x2_t __b, const int __c)
8721
{
8722
  union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8723
  union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8724
  __rv.__o = __builtin_neon_vld2_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8725
  return __rv.__i;
8726
}
8727
 
8728
__extension__ static __inline int16x8x2_t __attribute__ ((__always_inline__))
8729
vld2q_lane_s16 (const int16_t * __a, int16x8x2_t __b, const int __c)
8730
{
8731
  union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8732
  union { int16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8733
  __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8734
  return __rv.__i;
8735
}
8736
 
8737
__extension__ static __inline int32x4x2_t __attribute__ ((__always_inline__))
8738
vld2q_lane_s32 (const int32_t * __a, int32x4x2_t __b, const int __c)
8739
{
8740
  union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8741
  union { int32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8742
  __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8743
  return __rv.__i;
8744
}
8745
 
8746
__extension__ static __inline float32x4x2_t __attribute__ ((__always_inline__))
8747
vld2q_lane_f32 (const float32_t * __a, float32x4x2_t __b, const int __c)
8748
{
8749
  union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8750
  union { float32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8751
  __rv.__o = __builtin_neon_vld2_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
8752
  return __rv.__i;
8753
}
8754
 
8755
__extension__ static __inline uint16x8x2_t __attribute__ ((__always_inline__))
8756
vld2q_lane_u16 (const uint16_t * __a, uint16x8x2_t __b, const int __c)
8757
{
8758
  union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8759
  union { uint16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8760
  __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8761
  return __rv.__i;
8762
}
8763
 
8764
__extension__ static __inline uint32x4x2_t __attribute__ ((__always_inline__))
8765
vld2q_lane_u32 (const uint32_t * __a, uint32x4x2_t __b, const int __c)
8766
{
8767
  union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8768
  union { uint32x4x2_t __i; __builtin_neon_oi __o; } __rv;
8769
  __rv.__o = __builtin_neon_vld2_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
8770
  return __rv.__i;
8771
}
8772
 
8773
__extension__ static __inline poly16x8x2_t __attribute__ ((__always_inline__))
8774
vld2q_lane_p16 (const poly16_t * __a, poly16x8x2_t __b, const int __c)
8775
{
8776
  union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8777
  union { poly16x8x2_t __i; __builtin_neon_oi __o; } __rv;
8778
  __rv.__o = __builtin_neon_vld2_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
8779
  return __rv.__i;
8780
}
8781
 
8782
__extension__ static __inline int8x8x2_t __attribute__ ((__always_inline__))
8783
vld2_dup_s8 (const int8_t * __a)
8784
{
8785
  union { int8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8786
  __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
8787
  return __rv.__i;
8788
}
8789
 
8790
__extension__ static __inline int16x4x2_t __attribute__ ((__always_inline__))
8791
vld2_dup_s16 (const int16_t * __a)
8792
{
8793
  union { int16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8794
  __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
8795
  return __rv.__i;
8796
}
8797
 
8798
__extension__ static __inline int32x2x2_t __attribute__ ((__always_inline__))
8799
vld2_dup_s32 (const int32_t * __a)
8800
{
8801
  union { int32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8802
  __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
8803
  return __rv.__i;
8804
}
8805
 
8806
__extension__ static __inline float32x2x2_t __attribute__ ((__always_inline__))
8807
vld2_dup_f32 (const float32_t * __a)
8808
{
8809
  union { float32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8810
  __rv.__o = __builtin_neon_vld2_dupv2sf ((const __builtin_neon_sf *) __a);
8811
  return __rv.__i;
8812
}
8813
 
8814
__extension__ static __inline uint8x8x2_t __attribute__ ((__always_inline__))
8815
vld2_dup_u8 (const uint8_t * __a)
8816
{
8817
  union { uint8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8818
  __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
8819
  return __rv.__i;
8820
}
8821
 
8822
__extension__ static __inline uint16x4x2_t __attribute__ ((__always_inline__))
8823
vld2_dup_u16 (const uint16_t * __a)
8824
{
8825
  union { uint16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8826
  __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
8827
  return __rv.__i;
8828
}
8829
 
8830
__extension__ static __inline uint32x2x2_t __attribute__ ((__always_inline__))
8831
vld2_dup_u32 (const uint32_t * __a)
8832
{
8833
  union { uint32x2x2_t __i; __builtin_neon_ti __o; } __rv;
8834
  __rv.__o = __builtin_neon_vld2_dupv2si ((const __builtin_neon_si *) __a);
8835
  return __rv.__i;
8836
}
8837
 
8838
__extension__ static __inline poly8x8x2_t __attribute__ ((__always_inline__))
8839
vld2_dup_p8 (const poly8_t * __a)
8840
{
8841
  union { poly8x8x2_t __i; __builtin_neon_ti __o; } __rv;
8842
  __rv.__o = __builtin_neon_vld2_dupv8qi ((const __builtin_neon_qi *) __a);
8843
  return __rv.__i;
8844
}
8845
 
8846
__extension__ static __inline poly16x4x2_t __attribute__ ((__always_inline__))
8847
vld2_dup_p16 (const poly16_t * __a)
8848
{
8849
  union { poly16x4x2_t __i; __builtin_neon_ti __o; } __rv;
8850
  __rv.__o = __builtin_neon_vld2_dupv4hi ((const __builtin_neon_hi *) __a);
8851
  return __rv.__i;
8852
}
8853
 
8854
__extension__ static __inline int64x1x2_t __attribute__ ((__always_inline__))
8855
vld2_dup_s64 (const int64_t * __a)
8856
{
8857
  union { int64x1x2_t __i; __builtin_neon_ti __o; } __rv;
8858
  __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
8859
  return __rv.__i;
8860
}
8861
 
8862
__extension__ static __inline uint64x1x2_t __attribute__ ((__always_inline__))
8863
vld2_dup_u64 (const uint64_t * __a)
8864
{
8865
  union { uint64x1x2_t __i; __builtin_neon_ti __o; } __rv;
8866
  __rv.__o = __builtin_neon_vld2_dupdi ((const __builtin_neon_di *) __a);
8867
  return __rv.__i;
8868
}
8869
 
8870
__extension__ static __inline void __attribute__ ((__always_inline__))
8871
vst2_s8 (int8_t * __a, int8x8x2_t __b)
8872
{
8873
  union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8874
  __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
8875
}
8876
 
8877
__extension__ static __inline void __attribute__ ((__always_inline__))
8878
vst2_s16 (int16_t * __a, int16x4x2_t __b)
8879
{
8880
  union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8881
  __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
8882
}
8883
 
8884
__extension__ static __inline void __attribute__ ((__always_inline__))
8885
vst2_s32 (int32_t * __a, int32x2x2_t __b)
8886
{
8887
  union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8888
  __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
8889
}
8890
 
8891
__extension__ static __inline void __attribute__ ((__always_inline__))
8892
vst2_f32 (float32_t * __a, float32x2x2_t __b)
8893
{
8894
  union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8895
  __builtin_neon_vst2v2sf ((__builtin_neon_sf *) __a, __bu.__o);
8896
}
8897
 
8898
__extension__ static __inline void __attribute__ ((__always_inline__))
8899
vst2_u8 (uint8_t * __a, uint8x8x2_t __b)
8900
{
8901
  union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8902
  __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
8903
}
8904
 
8905
__extension__ static __inline void __attribute__ ((__always_inline__))
8906
vst2_u16 (uint16_t * __a, uint16x4x2_t __b)
8907
{
8908
  union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8909
  __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
8910
}
8911
 
8912
__extension__ static __inline void __attribute__ ((__always_inline__))
8913
vst2_u32 (uint32_t * __a, uint32x2x2_t __b)
8914
{
8915
  union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8916
  __builtin_neon_vst2v2si ((__builtin_neon_si *) __a, __bu.__o);
8917
}
8918
 
8919
__extension__ static __inline void __attribute__ ((__always_inline__))
8920
vst2_p8 (poly8_t * __a, poly8x8x2_t __b)
8921
{
8922
  union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8923
  __builtin_neon_vst2v8qi ((__builtin_neon_qi *) __a, __bu.__o);
8924
}
8925
 
8926
__extension__ static __inline void __attribute__ ((__always_inline__))
8927
vst2_p16 (poly16_t * __a, poly16x4x2_t __b)
8928
{
8929
  union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8930
  __builtin_neon_vst2v4hi ((__builtin_neon_hi *) __a, __bu.__o);
8931
}
8932
 
8933
__extension__ static __inline void __attribute__ ((__always_inline__))
8934
vst2_s64 (int64_t * __a, int64x1x2_t __b)
8935
{
8936
  union { int64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8937
  __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
8938
}
8939
 
8940
__extension__ static __inline void __attribute__ ((__always_inline__))
8941
vst2_u64 (uint64_t * __a, uint64x1x2_t __b)
8942
{
8943
  union { uint64x1x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
8944
  __builtin_neon_vst2di ((__builtin_neon_di *) __a, __bu.__o);
8945
}
8946
 
8947
__extension__ static __inline void __attribute__ ((__always_inline__))
8948
vst2q_s8 (int8_t * __a, int8x16x2_t __b)
8949
{
8950
  union { int8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8951
  __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
8952
}
8953
 
8954
__extension__ static __inline void __attribute__ ((__always_inline__))
8955
vst2q_s16 (int16_t * __a, int16x8x2_t __b)
8956
{
8957
  union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8958
  __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
8959
}
8960
 
8961
__extension__ static __inline void __attribute__ ((__always_inline__))
8962
vst2q_s32 (int32_t * __a, int32x4x2_t __b)
8963
{
8964
  union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8965
  __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
8966
}
8967
 
8968
__extension__ static __inline void __attribute__ ((__always_inline__))
8969
vst2q_f32 (float32_t * __a, float32x4x2_t __b)
8970
{
8971
  union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8972
  __builtin_neon_vst2v4sf ((__builtin_neon_sf *) __a, __bu.__o);
8973
}
8974
 
8975
__extension__ static __inline void __attribute__ ((__always_inline__))
8976
vst2q_u8 (uint8_t * __a, uint8x16x2_t __b)
8977
{
8978
  union { uint8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8979
  __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
8980
}
8981
 
8982
__extension__ static __inline void __attribute__ ((__always_inline__))
8983
vst2q_u16 (uint16_t * __a, uint16x8x2_t __b)
8984
{
8985
  union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8986
  __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
8987
}
8988
 
8989
__extension__ static __inline void __attribute__ ((__always_inline__))
8990
vst2q_u32 (uint32_t * __a, uint32x4x2_t __b)
8991
{
8992
  union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
8993
  __builtin_neon_vst2v4si ((__builtin_neon_si *) __a, __bu.__o);
8994
}
8995
 
8996
__extension__ static __inline void __attribute__ ((__always_inline__))
8997
vst2q_p8 (poly8_t * __a, poly8x16x2_t __b)
8998
{
8999
  union { poly8x16x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9000
  __builtin_neon_vst2v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9001
}
9002
 
9003
__extension__ static __inline void __attribute__ ((__always_inline__))
9004
vst2q_p16 (poly16_t * __a, poly16x8x2_t __b)
9005
{
9006
  union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9007
  __builtin_neon_vst2v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9008
}
9009
 
9010
__extension__ static __inline void __attribute__ ((__always_inline__))
9011
vst2_lane_s8 (int8_t * __a, int8x8x2_t __b, const int __c)
9012
{
9013
  union { int8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9014
  __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9015
}
9016
 
9017
__extension__ static __inline void __attribute__ ((__always_inline__))
9018
vst2_lane_s16 (int16_t * __a, int16x4x2_t __b, const int __c)
9019
{
9020
  union { int16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9021
  __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9022
}
9023
 
9024
__extension__ static __inline void __attribute__ ((__always_inline__))
9025
vst2_lane_s32 (int32_t * __a, int32x2x2_t __b, const int __c)
9026
{
9027
  union { int32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9028
  __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9029
}
9030
 
9031
__extension__ static __inline void __attribute__ ((__always_inline__))
9032
vst2_lane_f32 (float32_t * __a, float32x2x2_t __b, const int __c)
9033
{
9034
  union { float32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9035
  __builtin_neon_vst2_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9036
}
9037
 
9038
__extension__ static __inline void __attribute__ ((__always_inline__))
9039
vst2_lane_u8 (uint8_t * __a, uint8x8x2_t __b, const int __c)
9040
{
9041
  union { uint8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9042
  __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9043
}
9044
 
9045
__extension__ static __inline void __attribute__ ((__always_inline__))
9046
vst2_lane_u16 (uint16_t * __a, uint16x4x2_t __b, const int __c)
9047
{
9048
  union { uint16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9049
  __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9050
}
9051
 
9052
__extension__ static __inline void __attribute__ ((__always_inline__))
9053
vst2_lane_u32 (uint32_t * __a, uint32x2x2_t __b, const int __c)
9054
{
9055
  union { uint32x2x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9056
  __builtin_neon_vst2_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9057
}
9058
 
9059
__extension__ static __inline void __attribute__ ((__always_inline__))
9060
vst2_lane_p8 (poly8_t * __a, poly8x8x2_t __b, const int __c)
9061
{
9062
  union { poly8x8x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9063
  __builtin_neon_vst2_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9064
}
9065
 
9066
__extension__ static __inline void __attribute__ ((__always_inline__))
9067
vst2_lane_p16 (poly16_t * __a, poly16x4x2_t __b, const int __c)
9068
{
9069
  union { poly16x4x2_t __i; __builtin_neon_ti __o; } __bu = { __b };
9070
  __builtin_neon_vst2_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9071
}
9072
 
9073
__extension__ static __inline void __attribute__ ((__always_inline__))
9074
vst2q_lane_s16 (int16_t * __a, int16x8x2_t __b, const int __c)
9075
{
9076
  union { int16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9077
  __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9078
}
9079
 
9080
__extension__ static __inline void __attribute__ ((__always_inline__))
9081
vst2q_lane_s32 (int32_t * __a, int32x4x2_t __b, const int __c)
9082
{
9083
  union { int32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9084
  __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9085
}
9086
 
9087
__extension__ static __inline void __attribute__ ((__always_inline__))
9088
vst2q_lane_f32 (float32_t * __a, float32x4x2_t __b, const int __c)
9089
{
9090
  union { float32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9091
  __builtin_neon_vst2_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9092
}
9093
 
9094
__extension__ static __inline void __attribute__ ((__always_inline__))
9095
vst2q_lane_u16 (uint16_t * __a, uint16x8x2_t __b, const int __c)
9096
{
9097
  union { uint16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9098
  __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9099
}
9100
 
9101
__extension__ static __inline void __attribute__ ((__always_inline__))
9102
vst2q_lane_u32 (uint32_t * __a, uint32x4x2_t __b, const int __c)
9103
{
9104
  union { uint32x4x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9105
  __builtin_neon_vst2_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9106
}
9107
 
9108
__extension__ static __inline void __attribute__ ((__always_inline__))
9109
vst2q_lane_p16 (poly16_t * __a, poly16x8x2_t __b, const int __c)
9110
{
9111
  union { poly16x8x2_t __i; __builtin_neon_oi __o; } __bu = { __b };
9112
  __builtin_neon_vst2_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9113
}
9114
 
9115
__extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
9116
vld3_s8 (const int8_t * __a)
9117
{
9118
  union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9119
  __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9120
  return __rv.__i;
9121
}
9122
 
9123
__extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
9124
vld3_s16 (const int16_t * __a)
9125
{
9126
  union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9127
  __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9128
  return __rv.__i;
9129
}
9130
 
9131
__extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
9132
vld3_s32 (const int32_t * __a)
9133
{
9134
  union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9135
  __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
9136
  return __rv.__i;
9137
}
9138
 
9139
__extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
9140
vld3_f32 (const float32_t * __a)
9141
{
9142
  union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9143
  __rv.__o = __builtin_neon_vld3v2sf ((const __builtin_neon_sf *) __a);
9144
  return __rv.__i;
9145
}
9146
 
9147
__extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
9148
vld3_u8 (const uint8_t * __a)
9149
{
9150
  union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9151
  __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9152
  return __rv.__i;
9153
}
9154
 
9155
__extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
9156
vld3_u16 (const uint16_t * __a)
9157
{
9158
  union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9159
  __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9160
  return __rv.__i;
9161
}
9162
 
9163
__extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
9164
vld3_u32 (const uint32_t * __a)
9165
{
9166
  union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9167
  __rv.__o = __builtin_neon_vld3v2si ((const __builtin_neon_si *) __a);
9168
  return __rv.__i;
9169
}
9170
 
9171
__extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
9172
vld3_p8 (const poly8_t * __a)
9173
{
9174
  union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9175
  __rv.__o = __builtin_neon_vld3v8qi ((const __builtin_neon_qi *) __a);
9176
  return __rv.__i;
9177
}
9178
 
9179
__extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
9180
vld3_p16 (const poly16_t * __a)
9181
{
9182
  union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9183
  __rv.__o = __builtin_neon_vld3v4hi ((const __builtin_neon_hi *) __a);
9184
  return __rv.__i;
9185
}
9186
 
9187
__extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__))
9188
vld3_s64 (const int64_t * __a)
9189
{
9190
  union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9191
  __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
9192
  return __rv.__i;
9193
}
9194
 
9195
__extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__))
9196
vld3_u64 (const uint64_t * __a)
9197
{
9198
  union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9199
  __rv.__o = __builtin_neon_vld3di ((const __builtin_neon_di *) __a);
9200
  return __rv.__i;
9201
}
9202
 
9203
__extension__ static __inline int8x16x3_t __attribute__ ((__always_inline__))
9204
vld3q_s8 (const int8_t * __a)
9205
{
9206
  union { int8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9207
  __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9208
  return __rv.__i;
9209
}
9210
 
9211
__extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__))
9212
vld3q_s16 (const int16_t * __a)
9213
{
9214
  union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9215
  __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9216
  return __rv.__i;
9217
}
9218
 
9219
__extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__))
9220
vld3q_s32 (const int32_t * __a)
9221
{
9222
  union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9223
  __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
9224
  return __rv.__i;
9225
}
9226
 
9227
__extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__))
9228
vld3q_f32 (const float32_t * __a)
9229
{
9230
  union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9231
  __rv.__o = __builtin_neon_vld3v4sf ((const __builtin_neon_sf *) __a);
9232
  return __rv.__i;
9233
}
9234
 
9235
__extension__ static __inline uint8x16x3_t __attribute__ ((__always_inline__))
9236
vld3q_u8 (const uint8_t * __a)
9237
{
9238
  union { uint8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9239
  __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9240
  return __rv.__i;
9241
}
9242
 
9243
__extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__))
9244
vld3q_u16 (const uint16_t * __a)
9245
{
9246
  union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9247
  __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9248
  return __rv.__i;
9249
}
9250
 
9251
__extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__))
9252
vld3q_u32 (const uint32_t * __a)
9253
{
9254
  union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9255
  __rv.__o = __builtin_neon_vld3v4si ((const __builtin_neon_si *) __a);
9256
  return __rv.__i;
9257
}
9258
 
9259
__extension__ static __inline poly8x16x3_t __attribute__ ((__always_inline__))
9260
vld3q_p8 (const poly8_t * __a)
9261
{
9262
  union { poly8x16x3_t __i; __builtin_neon_ci __o; } __rv;
9263
  __rv.__o = __builtin_neon_vld3v16qi ((const __builtin_neon_qi *) __a);
9264
  return __rv.__i;
9265
}
9266
 
9267
__extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__))
9268
vld3q_p16 (const poly16_t * __a)
9269
{
9270
  union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9271
  __rv.__o = __builtin_neon_vld3v8hi ((const __builtin_neon_hi *) __a);
9272
  return __rv.__i;
9273
}
9274
 
9275
__extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
9276
vld3_lane_s8 (const int8_t * __a, int8x8x3_t __b, const int __c)
9277
{
9278
  union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9279
  union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9280
  __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9281
  return __rv.__i;
9282
}
9283
 
9284
__extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
9285
vld3_lane_s16 (const int16_t * __a, int16x4x3_t __b, const int __c)
9286
{
9287
  union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9288
  union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9289
  __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9290
  return __rv.__i;
9291
}
9292
 
9293
__extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
9294
vld3_lane_s32 (const int32_t * __a, int32x2x3_t __b, const int __c)
9295
{
9296
  union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9297
  union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9298
  __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9299
  return __rv.__i;
9300
}
9301
 
9302
__extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
9303
vld3_lane_f32 (const float32_t * __a, float32x2x3_t __b, const int __c)
9304
{
9305
  union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9306
  union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9307
  __rv.__o = __builtin_neon_vld3_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9308
  return __rv.__i;
9309
}
9310
 
9311
__extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
9312
vld3_lane_u8 (const uint8_t * __a, uint8x8x3_t __b, const int __c)
9313
{
9314
  union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9315
  union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9316
  __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9317
  return __rv.__i;
9318
}
9319
 
9320
__extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
9321
vld3_lane_u16 (const uint16_t * __a, uint16x4x3_t __b, const int __c)
9322
{
9323
  union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9324
  union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9325
  __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9326
  return __rv.__i;
9327
}
9328
 
9329
__extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
9330
vld3_lane_u32 (const uint32_t * __a, uint32x2x3_t __b, const int __c)
9331
{
9332
  union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9333
  union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9334
  __rv.__o = __builtin_neon_vld3_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9335
  return __rv.__i;
9336
}
9337
 
9338
__extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
9339
vld3_lane_p8 (const poly8_t * __a, poly8x8x3_t __b, const int __c)
9340
{
9341
  union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9342
  union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9343
  __rv.__o = __builtin_neon_vld3_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9344
  return __rv.__i;
9345
}
9346
 
9347
__extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
9348
vld3_lane_p16 (const poly16_t * __a, poly16x4x3_t __b, const int __c)
9349
{
9350
  union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9351
  union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9352
  __rv.__o = __builtin_neon_vld3_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9353
  return __rv.__i;
9354
}
9355
 
9356
__extension__ static __inline int16x8x3_t __attribute__ ((__always_inline__))
9357
vld3q_lane_s16 (const int16_t * __a, int16x8x3_t __b, const int __c)
9358
{
9359
  union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9360
  union { int16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9361
  __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9362
  return __rv.__i;
9363
}
9364
 
9365
__extension__ static __inline int32x4x3_t __attribute__ ((__always_inline__))
9366
vld3q_lane_s32 (const int32_t * __a, int32x4x3_t __b, const int __c)
9367
{
9368
  union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9369
  union { int32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9370
  __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9371
  return __rv.__i;
9372
}
9373
 
9374
__extension__ static __inline float32x4x3_t __attribute__ ((__always_inline__))
9375
vld3q_lane_f32 (const float32_t * __a, float32x4x3_t __b, const int __c)
9376
{
9377
  union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9378
  union { float32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9379
  __rv.__o = __builtin_neon_vld3_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9380
  return __rv.__i;
9381
}
9382
 
9383
__extension__ static __inline uint16x8x3_t __attribute__ ((__always_inline__))
9384
vld3q_lane_u16 (const uint16_t * __a, uint16x8x3_t __b, const int __c)
9385
{
9386
  union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9387
  union { uint16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9388
  __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9389
  return __rv.__i;
9390
}
9391
 
9392
__extension__ static __inline uint32x4x3_t __attribute__ ((__always_inline__))
9393
vld3q_lane_u32 (const uint32_t * __a, uint32x4x3_t __b, const int __c)
9394
{
9395
  union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9396
  union { uint32x4x3_t __i; __builtin_neon_ci __o; } __rv;
9397
  __rv.__o = __builtin_neon_vld3_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9398
  return __rv.__i;
9399
}
9400
 
9401
__extension__ static __inline poly16x8x3_t __attribute__ ((__always_inline__))
9402
vld3q_lane_p16 (const poly16_t * __a, poly16x8x3_t __b, const int __c)
9403
{
9404
  union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9405
  union { poly16x8x3_t __i; __builtin_neon_ci __o; } __rv;
9406
  __rv.__o = __builtin_neon_vld3_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9407
  return __rv.__i;
9408
}
9409
 
9410
__extension__ static __inline int8x8x3_t __attribute__ ((__always_inline__))
9411
vld3_dup_s8 (const int8_t * __a)
9412
{
9413
  union { int8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9414
  __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9415
  return __rv.__i;
9416
}
9417
 
9418
__extension__ static __inline int16x4x3_t __attribute__ ((__always_inline__))
9419
vld3_dup_s16 (const int16_t * __a)
9420
{
9421
  union { int16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9422
  __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9423
  return __rv.__i;
9424
}
9425
 
9426
__extension__ static __inline int32x2x3_t __attribute__ ((__always_inline__))
9427
vld3_dup_s32 (const int32_t * __a)
9428
{
9429
  union { int32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9430
  __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
9431
  return __rv.__i;
9432
}
9433
 
9434
__extension__ static __inline float32x2x3_t __attribute__ ((__always_inline__))
9435
vld3_dup_f32 (const float32_t * __a)
9436
{
9437
  union { float32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9438
  __rv.__o = __builtin_neon_vld3_dupv2sf ((const __builtin_neon_sf *) __a);
9439
  return __rv.__i;
9440
}
9441
 
9442
__extension__ static __inline uint8x8x3_t __attribute__ ((__always_inline__))
9443
vld3_dup_u8 (const uint8_t * __a)
9444
{
9445
  union { uint8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9446
  __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9447
  return __rv.__i;
9448
}
9449
 
9450
__extension__ static __inline uint16x4x3_t __attribute__ ((__always_inline__))
9451
vld3_dup_u16 (const uint16_t * __a)
9452
{
9453
  union { uint16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9454
  __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9455
  return __rv.__i;
9456
}
9457
 
9458
__extension__ static __inline uint32x2x3_t __attribute__ ((__always_inline__))
9459
vld3_dup_u32 (const uint32_t * __a)
9460
{
9461
  union { uint32x2x3_t __i; __builtin_neon_ei __o; } __rv;
9462
  __rv.__o = __builtin_neon_vld3_dupv2si ((const __builtin_neon_si *) __a);
9463
  return __rv.__i;
9464
}
9465
 
9466
__extension__ static __inline poly8x8x3_t __attribute__ ((__always_inline__))
9467
vld3_dup_p8 (const poly8_t * __a)
9468
{
9469
  union { poly8x8x3_t __i; __builtin_neon_ei __o; } __rv;
9470
  __rv.__o = __builtin_neon_vld3_dupv8qi ((const __builtin_neon_qi *) __a);
9471
  return __rv.__i;
9472
}
9473
 
9474
__extension__ static __inline poly16x4x3_t __attribute__ ((__always_inline__))
9475
vld3_dup_p16 (const poly16_t * __a)
9476
{
9477
  union { poly16x4x3_t __i; __builtin_neon_ei __o; } __rv;
9478
  __rv.__o = __builtin_neon_vld3_dupv4hi ((const __builtin_neon_hi *) __a);
9479
  return __rv.__i;
9480
}
9481
 
9482
__extension__ static __inline int64x1x3_t __attribute__ ((__always_inline__))
9483
vld3_dup_s64 (const int64_t * __a)
9484
{
9485
  union { int64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9486
  __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
9487
  return __rv.__i;
9488
}
9489
 
9490
__extension__ static __inline uint64x1x3_t __attribute__ ((__always_inline__))
9491
vld3_dup_u64 (const uint64_t * __a)
9492
{
9493
  union { uint64x1x3_t __i; __builtin_neon_ei __o; } __rv;
9494
  __rv.__o = __builtin_neon_vld3_dupdi ((const __builtin_neon_di *) __a);
9495
  return __rv.__i;
9496
}
9497
 
9498
__extension__ static __inline void __attribute__ ((__always_inline__))
9499
vst3_s8 (int8_t * __a, int8x8x3_t __b)
9500
{
9501
  union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9502
  __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9503
}
9504
 
9505
__extension__ static __inline void __attribute__ ((__always_inline__))
9506
vst3_s16 (int16_t * __a, int16x4x3_t __b)
9507
{
9508
  union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9509
  __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9510
}
9511
 
9512
__extension__ static __inline void __attribute__ ((__always_inline__))
9513
vst3_s32 (int32_t * __a, int32x2x3_t __b)
9514
{
9515
  union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9516
  __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
9517
}
9518
 
9519
__extension__ static __inline void __attribute__ ((__always_inline__))
9520
vst3_f32 (float32_t * __a, float32x2x3_t __b)
9521
{
9522
  union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9523
  __builtin_neon_vst3v2sf ((__builtin_neon_sf *) __a, __bu.__o);
9524
}
9525
 
9526
__extension__ static __inline void __attribute__ ((__always_inline__))
9527
vst3_u8 (uint8_t * __a, uint8x8x3_t __b)
9528
{
9529
  union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9530
  __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9531
}
9532
 
9533
__extension__ static __inline void __attribute__ ((__always_inline__))
9534
vst3_u16 (uint16_t * __a, uint16x4x3_t __b)
9535
{
9536
  union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9537
  __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9538
}
9539
 
9540
__extension__ static __inline void __attribute__ ((__always_inline__))
9541
vst3_u32 (uint32_t * __a, uint32x2x3_t __b)
9542
{
9543
  union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9544
  __builtin_neon_vst3v2si ((__builtin_neon_si *) __a, __bu.__o);
9545
}
9546
 
9547
__extension__ static __inline void __attribute__ ((__always_inline__))
9548
vst3_p8 (poly8_t * __a, poly8x8x3_t __b)
9549
{
9550
  union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9551
  __builtin_neon_vst3v8qi ((__builtin_neon_qi *) __a, __bu.__o);
9552
}
9553
 
9554
__extension__ static __inline void __attribute__ ((__always_inline__))
9555
vst3_p16 (poly16_t * __a, poly16x4x3_t __b)
9556
{
9557
  union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9558
  __builtin_neon_vst3v4hi ((__builtin_neon_hi *) __a, __bu.__o);
9559
}
9560
 
9561
__extension__ static __inline void __attribute__ ((__always_inline__))
9562
vst3_s64 (int64_t * __a, int64x1x3_t __b)
9563
{
9564
  union { int64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9565
  __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
9566
}
9567
 
9568
__extension__ static __inline void __attribute__ ((__always_inline__))
9569
vst3_u64 (uint64_t * __a, uint64x1x3_t __b)
9570
{
9571
  union { uint64x1x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9572
  __builtin_neon_vst3di ((__builtin_neon_di *) __a, __bu.__o);
9573
}
9574
 
9575
__extension__ static __inline void __attribute__ ((__always_inline__))
9576
vst3q_s8 (int8_t * __a, int8x16x3_t __b)
9577
{
9578
  union { int8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9579
  __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9580
}
9581
 
9582
__extension__ static __inline void __attribute__ ((__always_inline__))
9583
vst3q_s16 (int16_t * __a, int16x8x3_t __b)
9584
{
9585
  union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9586
  __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9587
}
9588
 
9589
__extension__ static __inline void __attribute__ ((__always_inline__))
9590
vst3q_s32 (int32_t * __a, int32x4x3_t __b)
9591
{
9592
  union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9593
  __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
9594
}
9595
 
9596
__extension__ static __inline void __attribute__ ((__always_inline__))
9597
vst3q_f32 (float32_t * __a, float32x4x3_t __b)
9598
{
9599
  union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9600
  __builtin_neon_vst3v4sf ((__builtin_neon_sf *) __a, __bu.__o);
9601
}
9602
 
9603
__extension__ static __inline void __attribute__ ((__always_inline__))
9604
vst3q_u8 (uint8_t * __a, uint8x16x3_t __b)
9605
{
9606
  union { uint8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9607
  __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9608
}
9609
 
9610
__extension__ static __inline void __attribute__ ((__always_inline__))
9611
vst3q_u16 (uint16_t * __a, uint16x8x3_t __b)
9612
{
9613
  union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9614
  __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9615
}
9616
 
9617
__extension__ static __inline void __attribute__ ((__always_inline__))
9618
vst3q_u32 (uint32_t * __a, uint32x4x3_t __b)
9619
{
9620
  union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9621
  __builtin_neon_vst3v4si ((__builtin_neon_si *) __a, __bu.__o);
9622
}
9623
 
9624
__extension__ static __inline void __attribute__ ((__always_inline__))
9625
vst3q_p8 (poly8_t * __a, poly8x16x3_t __b)
9626
{
9627
  union { poly8x16x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9628
  __builtin_neon_vst3v16qi ((__builtin_neon_qi *) __a, __bu.__o);
9629
}
9630
 
9631
__extension__ static __inline void __attribute__ ((__always_inline__))
9632
vst3q_p16 (poly16_t * __a, poly16x8x3_t __b)
9633
{
9634
  union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9635
  __builtin_neon_vst3v8hi ((__builtin_neon_hi *) __a, __bu.__o);
9636
}
9637
 
9638
__extension__ static __inline void __attribute__ ((__always_inline__))
9639
vst3_lane_s8 (int8_t * __a, int8x8x3_t __b, const int __c)
9640
{
9641
  union { int8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9642
  __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9643
}
9644
 
9645
__extension__ static __inline void __attribute__ ((__always_inline__))
9646
vst3_lane_s16 (int16_t * __a, int16x4x3_t __b, const int __c)
9647
{
9648
  union { int16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9649
  __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9650
}
9651
 
9652
__extension__ static __inline void __attribute__ ((__always_inline__))
9653
vst3_lane_s32 (int32_t * __a, int32x2x3_t __b, const int __c)
9654
{
9655
  union { int32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9656
  __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9657
}
9658
 
9659
__extension__ static __inline void __attribute__ ((__always_inline__))
9660
vst3_lane_f32 (float32_t * __a, float32x2x3_t __b, const int __c)
9661
{
9662
  union { float32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9663
  __builtin_neon_vst3_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9664
}
9665
 
9666
__extension__ static __inline void __attribute__ ((__always_inline__))
9667
vst3_lane_u8 (uint8_t * __a, uint8x8x3_t __b, const int __c)
9668
{
9669
  union { uint8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9670
  __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9671
}
9672
 
9673
__extension__ static __inline void __attribute__ ((__always_inline__))
9674
vst3_lane_u16 (uint16_t * __a, uint16x4x3_t __b, const int __c)
9675
{
9676
  union { uint16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9677
  __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9678
}
9679
 
9680
__extension__ static __inline void __attribute__ ((__always_inline__))
9681
vst3_lane_u32 (uint32_t * __a, uint32x2x3_t __b, const int __c)
9682
{
9683
  union { uint32x2x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9684
  __builtin_neon_vst3_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
9685
}
9686
 
9687
__extension__ static __inline void __attribute__ ((__always_inline__))
9688
vst3_lane_p8 (poly8_t * __a, poly8x8x3_t __b, const int __c)
9689
{
9690
  union { poly8x8x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9691
  __builtin_neon_vst3_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
9692
}
9693
 
9694
__extension__ static __inline void __attribute__ ((__always_inline__))
9695
vst3_lane_p16 (poly16_t * __a, poly16x4x3_t __b, const int __c)
9696
{
9697
  union { poly16x4x3_t __i; __builtin_neon_ei __o; } __bu = { __b };
9698
  __builtin_neon_vst3_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9699
}
9700
 
9701
__extension__ static __inline void __attribute__ ((__always_inline__))
9702
vst3q_lane_s16 (int16_t * __a, int16x8x3_t __b, const int __c)
9703
{
9704
  union { int16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9705
  __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9706
}
9707
 
9708
__extension__ static __inline void __attribute__ ((__always_inline__))
9709
vst3q_lane_s32 (int32_t * __a, int32x4x3_t __b, const int __c)
9710
{
9711
  union { int32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9712
  __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9713
}
9714
 
9715
__extension__ static __inline void __attribute__ ((__always_inline__))
9716
vst3q_lane_f32 (float32_t * __a, float32x4x3_t __b, const int __c)
9717
{
9718
  union { float32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9719
  __builtin_neon_vst3_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
9720
}
9721
 
9722
__extension__ static __inline void __attribute__ ((__always_inline__))
9723
vst3q_lane_u16 (uint16_t * __a, uint16x8x3_t __b, const int __c)
9724
{
9725
  union { uint16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9726
  __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9727
}
9728
 
9729
__extension__ static __inline void __attribute__ ((__always_inline__))
9730
vst3q_lane_u32 (uint32_t * __a, uint32x4x3_t __b, const int __c)
9731
{
9732
  union { uint32x4x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9733
  __builtin_neon_vst3_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
9734
}
9735
 
9736
__extension__ static __inline void __attribute__ ((__always_inline__))
9737
vst3q_lane_p16 (poly16_t * __a, poly16x8x3_t __b, const int __c)
9738
{
9739
  union { poly16x8x3_t __i; __builtin_neon_ci __o; } __bu = { __b };
9740
  __builtin_neon_vst3_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
9741
}
9742
 
9743
__extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
9744
vld4_s8 (const int8_t * __a)
9745
{
9746
  union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9747
  __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
9748
  return __rv.__i;
9749
}
9750
 
9751
__extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
9752
vld4_s16 (const int16_t * __a)
9753
{
9754
  union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9755
  __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
9756
  return __rv.__i;
9757
}
9758
 
9759
__extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
9760
vld4_s32 (const int32_t * __a)
9761
{
9762
  union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9763
  __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
9764
  return __rv.__i;
9765
}
9766
 
9767
__extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
9768
vld4_f32 (const float32_t * __a)
9769
{
9770
  union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9771
  __rv.__o = __builtin_neon_vld4v2sf ((const __builtin_neon_sf *) __a);
9772
  return __rv.__i;
9773
}
9774
 
9775
__extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
9776
vld4_u8 (const uint8_t * __a)
9777
{
9778
  union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9779
  __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
9780
  return __rv.__i;
9781
}
9782
 
9783
__extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
9784
vld4_u16 (const uint16_t * __a)
9785
{
9786
  union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9787
  __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
9788
  return __rv.__i;
9789
}
9790
 
9791
__extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
9792
vld4_u32 (const uint32_t * __a)
9793
{
9794
  union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9795
  __rv.__o = __builtin_neon_vld4v2si ((const __builtin_neon_si *) __a);
9796
  return __rv.__i;
9797
}
9798
 
9799
__extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
9800
vld4_p8 (const poly8_t * __a)
9801
{
9802
  union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9803
  __rv.__o = __builtin_neon_vld4v8qi ((const __builtin_neon_qi *) __a);
9804
  return __rv.__i;
9805
}
9806
 
9807
__extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
9808
vld4_p16 (const poly16_t * __a)
9809
{
9810
  union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9811
  __rv.__o = __builtin_neon_vld4v4hi ((const __builtin_neon_hi *) __a);
9812
  return __rv.__i;
9813
}
9814
 
9815
__extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__))
9816
vld4_s64 (const int64_t * __a)
9817
{
9818
  union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
9819
  __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
9820
  return __rv.__i;
9821
}
9822
 
9823
__extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__))
9824
vld4_u64 (const uint64_t * __a)
9825
{
9826
  union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
9827
  __rv.__o = __builtin_neon_vld4di ((const __builtin_neon_di *) __a);
9828
  return __rv.__i;
9829
}
9830
 
9831
__extension__ static __inline int8x16x4_t __attribute__ ((__always_inline__))
9832
vld4q_s8 (const int8_t * __a)
9833
{
9834
  union { int8x16x4_t __i; __builtin_neon_xi __o; } __rv;
9835
  __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
9836
  return __rv.__i;
9837
}
9838
 
9839
__extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__))
9840
vld4q_s16 (const int16_t * __a)
9841
{
9842
  union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
9843
  __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
9844
  return __rv.__i;
9845
}
9846
 
9847
__extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__))
9848
vld4q_s32 (const int32_t * __a)
9849
{
9850
  union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
9851
  __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
9852
  return __rv.__i;
9853
}
9854
 
9855
__extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__))
9856
vld4q_f32 (const float32_t * __a)
9857
{
9858
  union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
9859
  __rv.__o = __builtin_neon_vld4v4sf ((const __builtin_neon_sf *) __a);
9860
  return __rv.__i;
9861
}
9862
 
9863
__extension__ static __inline uint8x16x4_t __attribute__ ((__always_inline__))
9864
vld4q_u8 (const uint8_t * __a)
9865
{
9866
  union { uint8x16x4_t __i; __builtin_neon_xi __o; } __rv;
9867
  __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
9868
  return __rv.__i;
9869
}
9870
 
9871
__extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__))
9872
vld4q_u16 (const uint16_t * __a)
9873
{
9874
  union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
9875
  __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
9876
  return __rv.__i;
9877
}
9878
 
9879
__extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__))
9880
vld4q_u32 (const uint32_t * __a)
9881
{
9882
  union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
9883
  __rv.__o = __builtin_neon_vld4v4si ((const __builtin_neon_si *) __a);
9884
  return __rv.__i;
9885
}
9886
 
9887
__extension__ static __inline poly8x16x4_t __attribute__ ((__always_inline__))
9888
vld4q_p8 (const poly8_t * __a)
9889
{
9890
  union { poly8x16x4_t __i; __builtin_neon_xi __o; } __rv;
9891
  __rv.__o = __builtin_neon_vld4v16qi ((const __builtin_neon_qi *) __a);
9892
  return __rv.__i;
9893
}
9894
 
9895
__extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__))
9896
vld4q_p16 (const poly16_t * __a)
9897
{
9898
  union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
9899
  __rv.__o = __builtin_neon_vld4v8hi ((const __builtin_neon_hi *) __a);
9900
  return __rv.__i;
9901
}
9902
 
9903
__extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
9904
vld4_lane_s8 (const int8_t * __a, int8x8x4_t __b, const int __c)
9905
{
9906
  union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
9907
  union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9908
  __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9909
  return __rv.__i;
9910
}
9911
 
9912
__extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
9913
vld4_lane_s16 (const int16_t * __a, int16x4x4_t __b, const int __c)
9914
{
9915
  union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
9916
  union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9917
  __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9918
  return __rv.__i;
9919
}
9920
 
9921
__extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
9922
vld4_lane_s32 (const int32_t * __a, int32x2x4_t __b, const int __c)
9923
{
9924
  union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
9925
  union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9926
  __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9927
  return __rv.__i;
9928
}
9929
 
9930
__extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
9931
vld4_lane_f32 (const float32_t * __a, float32x2x4_t __b, const int __c)
9932
{
9933
  union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
9934
  union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9935
  __rv.__o = __builtin_neon_vld4_lanev2sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
9936
  return __rv.__i;
9937
}
9938
 
9939
__extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
9940
vld4_lane_u8 (const uint8_t * __a, uint8x8x4_t __b, const int __c)
9941
{
9942
  union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
9943
  union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9944
  __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9945
  return __rv.__i;
9946
}
9947
 
9948
__extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
9949
vld4_lane_u16 (const uint16_t * __a, uint16x4x4_t __b, const int __c)
9950
{
9951
  union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
9952
  union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9953
  __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9954
  return __rv.__i;
9955
}
9956
 
9957
__extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
9958
vld4_lane_u32 (const uint32_t * __a, uint32x2x4_t __b, const int __c)
9959
{
9960
  union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
9961
  union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
9962
  __rv.__o = __builtin_neon_vld4_lanev2si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9963
  return __rv.__i;
9964
}
9965
 
9966
__extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
9967
vld4_lane_p8 (const poly8_t * __a, poly8x8x4_t __b, const int __c)
9968
{
9969
  union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
9970
  union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
9971
  __rv.__o = __builtin_neon_vld4_lanev8qi ((const __builtin_neon_qi *) __a, __bu.__o, __c);
9972
  return __rv.__i;
9973
}
9974
 
9975
__extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
9976
vld4_lane_p16 (const poly16_t * __a, poly16x4x4_t __b, const int __c)
9977
{
9978
  union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
9979
  union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
9980
  __rv.__o = __builtin_neon_vld4_lanev4hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9981
  return __rv.__i;
9982
}
9983
 
9984
__extension__ static __inline int16x8x4_t __attribute__ ((__always_inline__))
9985
vld4q_lane_s16 (const int16_t * __a, int16x8x4_t __b, const int __c)
9986
{
9987
  union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
9988
  union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv;
9989
  __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
9990
  return __rv.__i;
9991
}
9992
 
9993
__extension__ static __inline int32x4x4_t __attribute__ ((__always_inline__))
9994
vld4q_lane_s32 (const int32_t * __a, int32x4x4_t __b, const int __c)
9995
{
9996
  union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
9997
  union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv;
9998
  __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
9999
  return __rv.__i;
10000
}
10001
 
10002
__extension__ static __inline float32x4x4_t __attribute__ ((__always_inline__))
10003
vld4q_lane_f32 (const float32_t * __a, float32x4x4_t __b, const int __c)
10004
{
10005
  union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10006
  union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10007
  __rv.__o = __builtin_neon_vld4_lanev4sf ((const __builtin_neon_sf *) __a, __bu.__o, __c);
10008
  return __rv.__i;
10009
}
10010
 
10011
__extension__ static __inline uint16x8x4_t __attribute__ ((__always_inline__))
10012
vld4q_lane_u16 (const uint16_t * __a, uint16x8x4_t __b, const int __c)
10013
{
10014
  union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10015
  union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10016
  __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10017
  return __rv.__i;
10018
}
10019
 
10020
__extension__ static __inline uint32x4x4_t __attribute__ ((__always_inline__))
10021
vld4q_lane_u32 (const uint32_t * __a, uint32x4x4_t __b, const int __c)
10022
{
10023
  union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10024
  union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv;
10025
  __rv.__o = __builtin_neon_vld4_lanev4si ((const __builtin_neon_si *) __a, __bu.__o, __c);
10026
  return __rv.__i;
10027
}
10028
 
10029
__extension__ static __inline poly16x8x4_t __attribute__ ((__always_inline__))
10030
vld4q_lane_p16 (const poly16_t * __a, poly16x8x4_t __b, const int __c)
10031
{
10032
  union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10033
  union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv;
10034
  __rv.__o = __builtin_neon_vld4_lanev8hi ((const __builtin_neon_hi *) __a, __bu.__o, __c);
10035
  return __rv.__i;
10036
}
10037
 
10038
__extension__ static __inline int8x8x4_t __attribute__ ((__always_inline__))
10039
vld4_dup_s8 (const int8_t * __a)
10040
{
10041
  union { int8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10042
  __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10043
  return __rv.__i;
10044
}
10045
 
10046
__extension__ static __inline int16x4x4_t __attribute__ ((__always_inline__))
10047
vld4_dup_s16 (const int16_t * __a)
10048
{
10049
  union { int16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10050
  __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10051
  return __rv.__i;
10052
}
10053
 
10054
__extension__ static __inline int32x2x4_t __attribute__ ((__always_inline__))
10055
vld4_dup_s32 (const int32_t * __a)
10056
{
10057
  union { int32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10058
  __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
10059
  return __rv.__i;
10060
}
10061
 
10062
__extension__ static __inline float32x2x4_t __attribute__ ((__always_inline__))
10063
vld4_dup_f32 (const float32_t * __a)
10064
{
10065
  union { float32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10066
  __rv.__o = __builtin_neon_vld4_dupv2sf ((const __builtin_neon_sf *) __a);
10067
  return __rv.__i;
10068
}
10069
 
10070
__extension__ static __inline uint8x8x4_t __attribute__ ((__always_inline__))
10071
vld4_dup_u8 (const uint8_t * __a)
10072
{
10073
  union { uint8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10074
  __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10075
  return __rv.__i;
10076
}
10077
 
10078
__extension__ static __inline uint16x4x4_t __attribute__ ((__always_inline__))
10079
vld4_dup_u16 (const uint16_t * __a)
10080
{
10081
  union { uint16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10082
  __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10083
  return __rv.__i;
10084
}
10085
 
10086
__extension__ static __inline uint32x2x4_t __attribute__ ((__always_inline__))
10087
vld4_dup_u32 (const uint32_t * __a)
10088
{
10089
  union { uint32x2x4_t __i; __builtin_neon_oi __o; } __rv;
10090
  __rv.__o = __builtin_neon_vld4_dupv2si ((const __builtin_neon_si *) __a);
10091
  return __rv.__i;
10092
}
10093
 
10094
__extension__ static __inline poly8x8x4_t __attribute__ ((__always_inline__))
10095
vld4_dup_p8 (const poly8_t * __a)
10096
{
10097
  union { poly8x8x4_t __i; __builtin_neon_oi __o; } __rv;
10098
  __rv.__o = __builtin_neon_vld4_dupv8qi ((const __builtin_neon_qi *) __a);
10099
  return __rv.__i;
10100
}
10101
 
10102
__extension__ static __inline poly16x4x4_t __attribute__ ((__always_inline__))
10103
vld4_dup_p16 (const poly16_t * __a)
10104
{
10105
  union { poly16x4x4_t __i; __builtin_neon_oi __o; } __rv;
10106
  __rv.__o = __builtin_neon_vld4_dupv4hi ((const __builtin_neon_hi *) __a);
10107
  return __rv.__i;
10108
}
10109
 
10110
__extension__ static __inline int64x1x4_t __attribute__ ((__always_inline__))
10111
vld4_dup_s64 (const int64_t * __a)
10112
{
10113
  union { int64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10114
  __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
10115
  return __rv.__i;
10116
}
10117
 
10118
__extension__ static __inline uint64x1x4_t __attribute__ ((__always_inline__))
10119
vld4_dup_u64 (const uint64_t * __a)
10120
{
10121
  union { uint64x1x4_t __i; __builtin_neon_oi __o; } __rv;
10122
  __rv.__o = __builtin_neon_vld4_dupdi ((const __builtin_neon_di *) __a);
10123
  return __rv.__i;
10124
}
10125
 
10126
__extension__ static __inline void __attribute__ ((__always_inline__))
10127
vst4_s8 (int8_t * __a, int8x8x4_t __b)
10128
{
10129
  union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10130
  __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10131
}
10132
 
10133
__extension__ static __inline void __attribute__ ((__always_inline__))
10134
vst4_s16 (int16_t * __a, int16x4x4_t __b)
10135
{
10136
  union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10137
  __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10138
}
10139
 
10140
__extension__ static __inline void __attribute__ ((__always_inline__))
10141
vst4_s32 (int32_t * __a, int32x2x4_t __b)
10142
{
10143
  union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10144
  __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
10145
}
10146
 
10147
__extension__ static __inline void __attribute__ ((__always_inline__))
10148
vst4_f32 (float32_t * __a, float32x2x4_t __b)
10149
{
10150
  union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10151
  __builtin_neon_vst4v2sf ((__builtin_neon_sf *) __a, __bu.__o);
10152
}
10153
 
10154
__extension__ static __inline void __attribute__ ((__always_inline__))
10155
vst4_u8 (uint8_t * __a, uint8x8x4_t __b)
10156
{
10157
  union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10158
  __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10159
}
10160
 
10161
__extension__ static __inline void __attribute__ ((__always_inline__))
10162
vst4_u16 (uint16_t * __a, uint16x4x4_t __b)
10163
{
10164
  union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10165
  __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10166
}
10167
 
10168
__extension__ static __inline void __attribute__ ((__always_inline__))
10169
vst4_u32 (uint32_t * __a, uint32x2x4_t __b)
10170
{
10171
  union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10172
  __builtin_neon_vst4v2si ((__builtin_neon_si *) __a, __bu.__o);
10173
}
10174
 
10175
__extension__ static __inline void __attribute__ ((__always_inline__))
10176
vst4_p8 (poly8_t * __a, poly8x8x4_t __b)
10177
{
10178
  union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10179
  __builtin_neon_vst4v8qi ((__builtin_neon_qi *) __a, __bu.__o);
10180
}
10181
 
10182
__extension__ static __inline void __attribute__ ((__always_inline__))
10183
vst4_p16 (poly16_t * __a, poly16x4x4_t __b)
10184
{
10185
  union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10186
  __builtin_neon_vst4v4hi ((__builtin_neon_hi *) __a, __bu.__o);
10187
}
10188
 
10189
__extension__ static __inline void __attribute__ ((__always_inline__))
10190
vst4_s64 (int64_t * __a, int64x1x4_t __b)
10191
{
10192
  union { int64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10193
  __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
10194
}
10195
 
10196
__extension__ static __inline void __attribute__ ((__always_inline__))
10197
vst4_u64 (uint64_t * __a, uint64x1x4_t __b)
10198
{
10199
  union { uint64x1x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10200
  __builtin_neon_vst4di ((__builtin_neon_di *) __a, __bu.__o);
10201
}
10202
 
10203
__extension__ static __inline void __attribute__ ((__always_inline__))
10204
vst4q_s8 (int8_t * __a, int8x16x4_t __b)
10205
{
10206
  union { int8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10207
  __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10208
}
10209
 
10210
__extension__ static __inline void __attribute__ ((__always_inline__))
10211
vst4q_s16 (int16_t * __a, int16x8x4_t __b)
10212
{
10213
  union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10214
  __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10215
}
10216
 
10217
__extension__ static __inline void __attribute__ ((__always_inline__))
10218
vst4q_s32 (int32_t * __a, int32x4x4_t __b)
10219
{
10220
  union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10221
  __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
10222
}
10223
 
10224
__extension__ static __inline void __attribute__ ((__always_inline__))
10225
vst4q_f32 (float32_t * __a, float32x4x4_t __b)
10226
{
10227
  union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10228
  __builtin_neon_vst4v4sf ((__builtin_neon_sf *) __a, __bu.__o);
10229
}
10230
 
10231
__extension__ static __inline void __attribute__ ((__always_inline__))
10232
vst4q_u8 (uint8_t * __a, uint8x16x4_t __b)
10233
{
10234
  union { uint8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10235
  __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10236
}
10237
 
10238
__extension__ static __inline void __attribute__ ((__always_inline__))
10239
vst4q_u16 (uint16_t * __a, uint16x8x4_t __b)
10240
{
10241
  union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10242
  __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10243
}
10244
 
10245
__extension__ static __inline void __attribute__ ((__always_inline__))
10246
vst4q_u32 (uint32_t * __a, uint32x4x4_t __b)
10247
{
10248
  union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10249
  __builtin_neon_vst4v4si ((__builtin_neon_si *) __a, __bu.__o);
10250
}
10251
 
10252
__extension__ static __inline void __attribute__ ((__always_inline__))
10253
vst4q_p8 (poly8_t * __a, poly8x16x4_t __b)
10254
{
10255
  union { poly8x16x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10256
  __builtin_neon_vst4v16qi ((__builtin_neon_qi *) __a, __bu.__o);
10257
}
10258
 
10259
__extension__ static __inline void __attribute__ ((__always_inline__))
10260
vst4q_p16 (poly16_t * __a, poly16x8x4_t __b)
10261
{
10262
  union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10263
  __builtin_neon_vst4v8hi ((__builtin_neon_hi *) __a, __bu.__o);
10264
}
10265
 
10266
__extension__ static __inline void __attribute__ ((__always_inline__))
10267
vst4_lane_s8 (int8_t * __a, int8x8x4_t __b, const int __c)
10268
{
10269
  union { int8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10270
  __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10271
}
10272
 
10273
__extension__ static __inline void __attribute__ ((__always_inline__))
10274
vst4_lane_s16 (int16_t * __a, int16x4x4_t __b, const int __c)
10275
{
10276
  union { int16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10277
  __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10278
}
10279
 
10280
__extension__ static __inline void __attribute__ ((__always_inline__))
10281
vst4_lane_s32 (int32_t * __a, int32x2x4_t __b, const int __c)
10282
{
10283
  union { int32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10284
  __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10285
}
10286
 
10287
__extension__ static __inline void __attribute__ ((__always_inline__))
10288
vst4_lane_f32 (float32_t * __a, float32x2x4_t __b, const int __c)
10289
{
10290
  union { float32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10291
  __builtin_neon_vst4_lanev2sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10292
}
10293
 
10294
__extension__ static __inline void __attribute__ ((__always_inline__))
10295
vst4_lane_u8 (uint8_t * __a, uint8x8x4_t __b, const int __c)
10296
{
10297
  union { uint8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10298
  __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10299
}
10300
 
10301
__extension__ static __inline void __attribute__ ((__always_inline__))
10302
vst4_lane_u16 (uint16_t * __a, uint16x4x4_t __b, const int __c)
10303
{
10304
  union { uint16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10305
  __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10306
}
10307
 
10308
__extension__ static __inline void __attribute__ ((__always_inline__))
10309
vst4_lane_u32 (uint32_t * __a, uint32x2x4_t __b, const int __c)
10310
{
10311
  union { uint32x2x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10312
  __builtin_neon_vst4_lanev2si ((__builtin_neon_si *) __a, __bu.__o, __c);
10313
}
10314
 
10315
__extension__ static __inline void __attribute__ ((__always_inline__))
10316
vst4_lane_p8 (poly8_t * __a, poly8x8x4_t __b, const int __c)
10317
{
10318
  union { poly8x8x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10319
  __builtin_neon_vst4_lanev8qi ((__builtin_neon_qi *) __a, __bu.__o, __c);
10320
}
10321
 
10322
__extension__ static __inline void __attribute__ ((__always_inline__))
10323
vst4_lane_p16 (poly16_t * __a, poly16x4x4_t __b, const int __c)
10324
{
10325
  union { poly16x4x4_t __i; __builtin_neon_oi __o; } __bu = { __b };
10326
  __builtin_neon_vst4_lanev4hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10327
}
10328
 
10329
__extension__ static __inline void __attribute__ ((__always_inline__))
10330
vst4q_lane_s16 (int16_t * __a, int16x8x4_t __b, const int __c)
10331
{
10332
  union { int16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10333
  __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10334
}
10335
 
10336
__extension__ static __inline void __attribute__ ((__always_inline__))
10337
vst4q_lane_s32 (int32_t * __a, int32x4x4_t __b, const int __c)
10338
{
10339
  union { int32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10340
  __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10341
}
10342
 
10343
__extension__ static __inline void __attribute__ ((__always_inline__))
10344
vst4q_lane_f32 (float32_t * __a, float32x4x4_t __b, const int __c)
10345
{
10346
  union { float32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10347
  __builtin_neon_vst4_lanev4sf ((__builtin_neon_sf *) __a, __bu.__o, __c);
10348
}
10349
 
10350
__extension__ static __inline void __attribute__ ((__always_inline__))
10351
vst4q_lane_u16 (uint16_t * __a, uint16x8x4_t __b, const int __c)
10352
{
10353
  union { uint16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10354
  __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10355
}
10356
 
10357
__extension__ static __inline void __attribute__ ((__always_inline__))
10358
vst4q_lane_u32 (uint32_t * __a, uint32x4x4_t __b, const int __c)
10359
{
10360
  union { uint32x4x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10361
  __builtin_neon_vst4_lanev4si ((__builtin_neon_si *) __a, __bu.__o, __c);
10362
}
10363
 
10364
__extension__ static __inline void __attribute__ ((__always_inline__))
10365
vst4q_lane_p16 (poly16_t * __a, poly16x8x4_t __b, const int __c)
10366
{
10367
  union { poly16x8x4_t __i; __builtin_neon_xi __o; } __bu = { __b };
10368
  __builtin_neon_vst4_lanev8hi ((__builtin_neon_hi *) __a, __bu.__o, __c);
10369
}
10370
 
10371
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10372
vand_s8 (int8x8_t __a, int8x8_t __b)
10373
{
10374
  return (int8x8_t)__builtin_neon_vandv8qi (__a, __b, 1);
10375
}
10376
 
10377
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10378
vand_s16 (int16x4_t __a, int16x4_t __b)
10379
{
10380
  return (int16x4_t)__builtin_neon_vandv4hi (__a, __b, 1);
10381
}
10382
 
10383
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10384
vand_s32 (int32x2_t __a, int32x2_t __b)
10385
{
10386
  return (int32x2_t)__builtin_neon_vandv2si (__a, __b, 1);
10387
}
10388
 
10389
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10390
vand_u8 (uint8x8_t __a, uint8x8_t __b)
10391
{
10392
  return (uint8x8_t)__builtin_neon_vandv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10393
}
10394
 
10395
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10396
vand_u16 (uint16x4_t __a, uint16x4_t __b)
10397
{
10398
  return (uint16x4_t)__builtin_neon_vandv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10399
}
10400
 
10401
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10402
vand_u32 (uint32x2_t __a, uint32x2_t __b)
10403
{
10404
  return (uint32x2_t)__builtin_neon_vandv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10405
}
10406
 
10407
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10408
vand_s64 (int64x1_t __a, int64x1_t __b)
10409
{
10410
  return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1);
10411
}
10412
 
10413
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10414
vand_u64 (uint64x1_t __a, uint64x1_t __b)
10415
{
10416
  return (uint64x1_t)__builtin_neon_vanddi ((int64x1_t) __a, (int64x1_t) __b, 0);
10417
}
10418
 
10419
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10420
vandq_s8 (int8x16_t __a, int8x16_t __b)
10421
{
10422
  return (int8x16_t)__builtin_neon_vandv16qi (__a, __b, 1);
10423
}
10424
 
10425
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10426
vandq_s16 (int16x8_t __a, int16x8_t __b)
10427
{
10428
  return (int16x8_t)__builtin_neon_vandv8hi (__a, __b, 1);
10429
}
10430
 
10431
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10432
vandq_s32 (int32x4_t __a, int32x4_t __b)
10433
{
10434
  return (int32x4_t)__builtin_neon_vandv4si (__a, __b, 1);
10435
}
10436
 
10437
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10438
vandq_s64 (int64x2_t __a, int64x2_t __b)
10439
{
10440
  return (int64x2_t)__builtin_neon_vandv2di (__a, __b, 1);
10441
}
10442
 
10443
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10444
vandq_u8 (uint8x16_t __a, uint8x16_t __b)
10445
{
10446
  return (uint8x16_t)__builtin_neon_vandv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10447
}
10448
 
10449
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
10450
vandq_u16 (uint16x8_t __a, uint16x8_t __b)
10451
{
10452
  return (uint16x8_t)__builtin_neon_vandv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10453
}
10454
 
10455
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
10456
vandq_u32 (uint32x4_t __a, uint32x4_t __b)
10457
{
10458
  return (uint32x4_t)__builtin_neon_vandv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10459
}
10460
 
10461
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
10462
vandq_u64 (uint64x2_t __a, uint64x2_t __b)
10463
{
10464
  return (uint64x2_t)__builtin_neon_vandv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10465
}
10466
 
10467
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10468
vorr_s8 (int8x8_t __a, int8x8_t __b)
10469
{
10470
  return (int8x8_t)__builtin_neon_vorrv8qi (__a, __b, 1);
10471
}
10472
 
10473
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10474
vorr_s16 (int16x4_t __a, int16x4_t __b)
10475
{
10476
  return (int16x4_t)__builtin_neon_vorrv4hi (__a, __b, 1);
10477
}
10478
 
10479
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10480
vorr_s32 (int32x2_t __a, int32x2_t __b)
10481
{
10482
  return (int32x2_t)__builtin_neon_vorrv2si (__a, __b, 1);
10483
}
10484
 
10485
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10486
vorr_u8 (uint8x8_t __a, uint8x8_t __b)
10487
{
10488
  return (uint8x8_t)__builtin_neon_vorrv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10489
}
10490
 
10491
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10492
vorr_u16 (uint16x4_t __a, uint16x4_t __b)
10493
{
10494
  return (uint16x4_t)__builtin_neon_vorrv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10495
}
10496
 
10497
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10498
vorr_u32 (uint32x2_t __a, uint32x2_t __b)
10499
{
10500
  return (uint32x2_t)__builtin_neon_vorrv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10501
}
10502
 
10503
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10504
vorr_s64 (int64x1_t __a, int64x1_t __b)
10505
{
10506
  return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1);
10507
}
10508
 
10509
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10510
vorr_u64 (uint64x1_t __a, uint64x1_t __b)
10511
{
10512
  return (uint64x1_t)__builtin_neon_vorrdi ((int64x1_t) __a, (int64x1_t) __b, 0);
10513
}
10514
 
10515
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10516
vorrq_s8 (int8x16_t __a, int8x16_t __b)
10517
{
10518
  return (int8x16_t)__builtin_neon_vorrv16qi (__a, __b, 1);
10519
}
10520
 
10521
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10522
vorrq_s16 (int16x8_t __a, int16x8_t __b)
10523
{
10524
  return (int16x8_t)__builtin_neon_vorrv8hi (__a, __b, 1);
10525
}
10526
 
10527
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10528
vorrq_s32 (int32x4_t __a, int32x4_t __b)
10529
{
10530
  return (int32x4_t)__builtin_neon_vorrv4si (__a, __b, 1);
10531
}
10532
 
10533
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10534
vorrq_s64 (int64x2_t __a, int64x2_t __b)
10535
{
10536
  return (int64x2_t)__builtin_neon_vorrv2di (__a, __b, 1);
10537
}
10538
 
10539
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10540
vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
10541
{
10542
  return (uint8x16_t)__builtin_neon_vorrv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10543
}
10544
 
10545
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
10546
vorrq_u16 (uint16x8_t __a, uint16x8_t __b)
10547
{
10548
  return (uint16x8_t)__builtin_neon_vorrv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10549
}
10550
 
10551
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
10552
vorrq_u32 (uint32x4_t __a, uint32x4_t __b)
10553
{
10554
  return (uint32x4_t)__builtin_neon_vorrv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10555
}
10556
 
10557
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
10558
vorrq_u64 (uint64x2_t __a, uint64x2_t __b)
10559
{
10560
  return (uint64x2_t)__builtin_neon_vorrv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10561
}
10562
 
10563
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10564
veor_s8 (int8x8_t __a, int8x8_t __b)
10565
{
10566
  return (int8x8_t)__builtin_neon_veorv8qi (__a, __b, 1);
10567
}
10568
 
10569
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10570
veor_s16 (int16x4_t __a, int16x4_t __b)
10571
{
10572
  return (int16x4_t)__builtin_neon_veorv4hi (__a, __b, 1);
10573
}
10574
 
10575
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10576
veor_s32 (int32x2_t __a, int32x2_t __b)
10577
{
10578
  return (int32x2_t)__builtin_neon_veorv2si (__a, __b, 1);
10579
}
10580
 
10581
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10582
veor_u8 (uint8x8_t __a, uint8x8_t __b)
10583
{
10584
  return (uint8x8_t)__builtin_neon_veorv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10585
}
10586
 
10587
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10588
veor_u16 (uint16x4_t __a, uint16x4_t __b)
10589
{
10590
  return (uint16x4_t)__builtin_neon_veorv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10591
}
10592
 
10593
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10594
veor_u32 (uint32x2_t __a, uint32x2_t __b)
10595
{
10596
  return (uint32x2_t)__builtin_neon_veorv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10597
}
10598
 
10599
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10600
veor_s64 (int64x1_t __a, int64x1_t __b)
10601
{
10602
  return (int64x1_t)__builtin_neon_veordi (__a, __b, 1);
10603
}
10604
 
10605
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10606
veor_u64 (uint64x1_t __a, uint64x1_t __b)
10607
{
10608
  return (uint64x1_t)__builtin_neon_veordi ((int64x1_t) __a, (int64x1_t) __b, 0);
10609
}
10610
 
10611
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10612
veorq_s8 (int8x16_t __a, int8x16_t __b)
10613
{
10614
  return (int8x16_t)__builtin_neon_veorv16qi (__a, __b, 1);
10615
}
10616
 
10617
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10618
veorq_s16 (int16x8_t __a, int16x8_t __b)
10619
{
10620
  return (int16x8_t)__builtin_neon_veorv8hi (__a, __b, 1);
10621
}
10622
 
10623
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10624
veorq_s32 (int32x4_t __a, int32x4_t __b)
10625
{
10626
  return (int32x4_t)__builtin_neon_veorv4si (__a, __b, 1);
10627
}
10628
 
10629
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10630
veorq_s64 (int64x2_t __a, int64x2_t __b)
10631
{
10632
  return (int64x2_t)__builtin_neon_veorv2di (__a, __b, 1);
10633
}
10634
 
10635
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10636
veorq_u8 (uint8x16_t __a, uint8x16_t __b)
10637
{
10638
  return (uint8x16_t)__builtin_neon_veorv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10639
}
10640
 
10641
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
10642
veorq_u16 (uint16x8_t __a, uint16x8_t __b)
10643
{
10644
  return (uint16x8_t)__builtin_neon_veorv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10645
}
10646
 
10647
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
10648
veorq_u32 (uint32x4_t __a, uint32x4_t __b)
10649
{
10650
  return (uint32x4_t)__builtin_neon_veorv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10651
}
10652
 
10653
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
10654
veorq_u64 (uint64x2_t __a, uint64x2_t __b)
10655
{
10656
  return (uint64x2_t)__builtin_neon_veorv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10657
}
10658
 
10659
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10660
vbic_s8 (int8x8_t __a, int8x8_t __b)
10661
{
10662
  return (int8x8_t)__builtin_neon_vbicv8qi (__a, __b, 1);
10663
}
10664
 
10665
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10666
vbic_s16 (int16x4_t __a, int16x4_t __b)
10667
{
10668
  return (int16x4_t)__builtin_neon_vbicv4hi (__a, __b, 1);
10669
}
10670
 
10671
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10672
vbic_s32 (int32x2_t __a, int32x2_t __b)
10673
{
10674
  return (int32x2_t)__builtin_neon_vbicv2si (__a, __b, 1);
10675
}
10676
 
10677
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10678
vbic_u8 (uint8x8_t __a, uint8x8_t __b)
10679
{
10680
  return (uint8x8_t)__builtin_neon_vbicv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10681
}
10682
 
10683
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10684
vbic_u16 (uint16x4_t __a, uint16x4_t __b)
10685
{
10686
  return (uint16x4_t)__builtin_neon_vbicv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10687
}
10688
 
10689
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10690
vbic_u32 (uint32x2_t __a, uint32x2_t __b)
10691
{
10692
  return (uint32x2_t)__builtin_neon_vbicv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10693
}
10694
 
10695
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10696
vbic_s64 (int64x1_t __a, int64x1_t __b)
10697
{
10698
  return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1);
10699
}
10700
 
10701
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10702
vbic_u64 (uint64x1_t __a, uint64x1_t __b)
10703
{
10704
  return (uint64x1_t)__builtin_neon_vbicdi ((int64x1_t) __a, (int64x1_t) __b, 0);
10705
}
10706
 
10707
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10708
vbicq_s8 (int8x16_t __a, int8x16_t __b)
10709
{
10710
  return (int8x16_t)__builtin_neon_vbicv16qi (__a, __b, 1);
10711
}
10712
 
10713
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10714
vbicq_s16 (int16x8_t __a, int16x8_t __b)
10715
{
10716
  return (int16x8_t)__builtin_neon_vbicv8hi (__a, __b, 1);
10717
}
10718
 
10719
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10720
vbicq_s32 (int32x4_t __a, int32x4_t __b)
10721
{
10722
  return (int32x4_t)__builtin_neon_vbicv4si (__a, __b, 1);
10723
}
10724
 
10725
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10726
vbicq_s64 (int64x2_t __a, int64x2_t __b)
10727
{
10728
  return (int64x2_t)__builtin_neon_vbicv2di (__a, __b, 1);
10729
}
10730
 
10731
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10732
vbicq_u8 (uint8x16_t __a, uint8x16_t __b)
10733
{
10734
  return (uint8x16_t)__builtin_neon_vbicv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10735
}
10736
 
10737
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
10738
vbicq_u16 (uint16x8_t __a, uint16x8_t __b)
10739
{
10740
  return (uint16x8_t)__builtin_neon_vbicv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10741
}
10742
 
10743
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
10744
vbicq_u32 (uint32x4_t __a, uint32x4_t __b)
10745
{
10746
  return (uint32x4_t)__builtin_neon_vbicv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10747
}
10748
 
10749
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
10750
vbicq_u64 (uint64x2_t __a, uint64x2_t __b)
10751
{
10752
  return (uint64x2_t)__builtin_neon_vbicv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10753
}
10754
 
10755
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
10756
vorn_s8 (int8x8_t __a, int8x8_t __b)
10757
{
10758
  return (int8x8_t)__builtin_neon_vornv8qi (__a, __b, 1);
10759
}
10760
 
10761
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
10762
vorn_s16 (int16x4_t __a, int16x4_t __b)
10763
{
10764
  return (int16x4_t)__builtin_neon_vornv4hi (__a, __b, 1);
10765
}
10766
 
10767
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
10768
vorn_s32 (int32x2_t __a, int32x2_t __b)
10769
{
10770
  return (int32x2_t)__builtin_neon_vornv2si (__a, __b, 1);
10771
}
10772
 
10773
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
10774
vorn_u8 (uint8x8_t __a, uint8x8_t __b)
10775
{
10776
  return (uint8x8_t)__builtin_neon_vornv8qi ((int8x8_t) __a, (int8x8_t) __b, 0);
10777
}
10778
 
10779
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
10780
vorn_u16 (uint16x4_t __a, uint16x4_t __b)
10781
{
10782
  return (uint16x4_t)__builtin_neon_vornv4hi ((int16x4_t) __a, (int16x4_t) __b, 0);
10783
}
10784
 
10785
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
10786
vorn_u32 (uint32x2_t __a, uint32x2_t __b)
10787
{
10788
  return (uint32x2_t)__builtin_neon_vornv2si ((int32x2_t) __a, (int32x2_t) __b, 0);
10789
}
10790
 
10791
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
10792
vorn_s64 (int64x1_t __a, int64x1_t __b)
10793
{
10794
  return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1);
10795
}
10796
 
10797
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
10798
vorn_u64 (uint64x1_t __a, uint64x1_t __b)
10799
{
10800
  return (uint64x1_t)__builtin_neon_vorndi ((int64x1_t) __a, (int64x1_t) __b, 0);
10801
}
10802
 
10803
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
10804
vornq_s8 (int8x16_t __a, int8x16_t __b)
10805
{
10806
  return (int8x16_t)__builtin_neon_vornv16qi (__a, __b, 1);
10807
}
10808
 
10809
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
10810
vornq_s16 (int16x8_t __a, int16x8_t __b)
10811
{
10812
  return (int16x8_t)__builtin_neon_vornv8hi (__a, __b, 1);
10813
}
10814
 
10815
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
10816
vornq_s32 (int32x4_t __a, int32x4_t __b)
10817
{
10818
  return (int32x4_t)__builtin_neon_vornv4si (__a, __b, 1);
10819
}
10820
 
10821
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
10822
vornq_s64 (int64x2_t __a, int64x2_t __b)
10823
{
10824
  return (int64x2_t)__builtin_neon_vornv2di (__a, __b, 1);
10825
}
10826
 
10827
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
10828
vornq_u8 (uint8x16_t __a, uint8x16_t __b)
10829
{
10830
  return (uint8x16_t)__builtin_neon_vornv16qi ((int8x16_t) __a, (int8x16_t) __b, 0);
10831
}
10832
 
10833
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
10834
vornq_u16 (uint16x8_t __a, uint16x8_t __b)
10835
{
10836
  return (uint16x8_t)__builtin_neon_vornv8hi ((int16x8_t) __a, (int16x8_t) __b, 0);
10837
}
10838
 
10839
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
10840
vornq_u32 (uint32x4_t __a, uint32x4_t __b)
10841
{
10842
  return (uint32x4_t)__builtin_neon_vornv4si ((int32x4_t) __a, (int32x4_t) __b, 0);
10843
}
10844
 
10845
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
10846
vornq_u64 (uint64x2_t __a, uint64x2_t __b)
10847
{
10848
  return (uint64x2_t)__builtin_neon_vornv2di ((int64x2_t) __a, (int64x2_t) __b, 0);
10849
}
10850
 
10851
 
10852
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
10853
vreinterpret_p8_s8 (int8x8_t __a)
10854
{
10855
  return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a);
10856
}
10857
 
10858
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
10859
vreinterpret_p8_s16 (int16x4_t __a)
10860
{
10861
  return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
10862
}
10863
 
10864
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
10865
vreinterpret_p8_s32 (int32x2_t __a)
10866
{
10867
  return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
10868
}
10869
 
10870
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
10871
vreinterpret_p8_s64 (int64x1_t __a)
10872
{
10873
  return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
10874
}
10875
 
10876
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
10877
vreinterpret_p8_f32 (float32x2_t __a)
10878
{
10879
  return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
10880
}
10881
 
10882
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
10883
vreinterpret_p8_u8 (uint8x8_t __a)
10884
{
10885
  return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
10886
}
10887
 
10888
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
10889
vreinterpret_p8_u16 (uint16x4_t __a)
10890
{
10891
  return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
10892
}
10893
 
10894
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
10895
vreinterpret_p8_u32 (uint32x2_t __a)
10896
{
10897
  return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
10898
}
10899
 
10900
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
10901
vreinterpret_p8_u64 (uint64x1_t __a)
10902
{
10903
  return (poly8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
10904
}
10905
 
10906
__extension__ static __inline poly8x8_t __attribute__ ((__always_inline__))
10907
vreinterpret_p8_p16 (poly16x4_t __a)
10908
{
10909
  return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
10910
}
10911
 
10912
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
10913
vreinterpretq_p8_s8 (int8x16_t __a)
10914
{
10915
  return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a);
10916
}
10917
 
10918
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
10919
vreinterpretq_p8_s16 (int16x8_t __a)
10920
{
10921
  return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
10922
}
10923
 
10924
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
10925
vreinterpretq_p8_s32 (int32x4_t __a)
10926
{
10927
  return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
10928
}
10929
 
10930
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
10931
vreinterpretq_p8_s64 (int64x2_t __a)
10932
{
10933
  return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
10934
}
10935
 
10936
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
10937
vreinterpretq_p8_f32 (float32x4_t __a)
10938
{
10939
  return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
10940
}
10941
 
10942
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
10943
vreinterpretq_p8_u8 (uint8x16_t __a)
10944
{
10945
  return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
10946
}
10947
 
10948
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
10949
vreinterpretq_p8_u16 (uint16x8_t __a)
10950
{
10951
  return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
10952
}
10953
 
10954
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
10955
vreinterpretq_p8_u32 (uint32x4_t __a)
10956
{
10957
  return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
10958
}
10959
 
10960
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
10961
vreinterpretq_p8_u64 (uint64x2_t __a)
10962
{
10963
  return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
10964
}
10965
 
10966
__extension__ static __inline poly8x16_t __attribute__ ((__always_inline__))
10967
vreinterpretq_p8_p16 (poly16x8_t __a)
10968
{
10969
  return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
10970
}
10971
 
10972
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
10973
vreinterpret_p16_s8 (int8x8_t __a)
10974
{
10975
  return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
10976
}
10977
 
10978
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
10979
vreinterpret_p16_s16 (int16x4_t __a)
10980
{
10981
  return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a);
10982
}
10983
 
10984
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
10985
vreinterpret_p16_s32 (int32x2_t __a)
10986
{
10987
  return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
10988
}
10989
 
10990
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
10991
vreinterpret_p16_s64 (int64x1_t __a)
10992
{
10993
  return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
10994
}
10995
 
10996
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
10997
vreinterpret_p16_f32 (float32x2_t __a)
10998
{
10999
  return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
11000
}
11001
 
11002
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11003
vreinterpret_p16_u8 (uint8x8_t __a)
11004
{
11005
  return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11006
}
11007
 
11008
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11009
vreinterpret_p16_u16 (uint16x4_t __a)
11010
{
11011
  return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11012
}
11013
 
11014
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11015
vreinterpret_p16_u32 (uint32x2_t __a)
11016
{
11017
  return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
11018
}
11019
 
11020
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11021
vreinterpret_p16_u64 (uint64x1_t __a)
11022
{
11023
  return (poly16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
11024
}
11025
 
11026
__extension__ static __inline poly16x4_t __attribute__ ((__always_inline__))
11027
vreinterpret_p16_p8 (poly8x8_t __a)
11028
{
11029
  return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11030
}
11031
 
11032
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11033
vreinterpretq_p16_s8 (int8x16_t __a)
11034
{
11035
  return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
11036
}
11037
 
11038
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11039
vreinterpretq_p16_s16 (int16x8_t __a)
11040
{
11041
  return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a);
11042
}
11043
 
11044
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11045
vreinterpretq_p16_s32 (int32x4_t __a)
11046
{
11047
  return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
11048
}
11049
 
11050
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11051
vreinterpretq_p16_s64 (int64x2_t __a)
11052
{
11053
  return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
11054
}
11055
 
11056
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11057
vreinterpretq_p16_f32 (float32x4_t __a)
11058
{
11059
  return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
11060
}
11061
 
11062
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11063
vreinterpretq_p16_u8 (uint8x16_t __a)
11064
{
11065
  return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11066
}
11067
 
11068
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11069
vreinterpretq_p16_u16 (uint16x8_t __a)
11070
{
11071
  return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
11072
}
11073
 
11074
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11075
vreinterpretq_p16_u32 (uint32x4_t __a)
11076
{
11077
  return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
11078
}
11079
 
11080
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11081
vreinterpretq_p16_u64 (uint64x2_t __a)
11082
{
11083
  return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
11084
}
11085
 
11086
__extension__ static __inline poly16x8_t __attribute__ ((__always_inline__))
11087
vreinterpretq_p16_p8 (poly8x16_t __a)
11088
{
11089
  return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11090
}
11091
 
11092
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11093
vreinterpret_f32_s8 (int8x8_t __a)
11094
{
11095
  return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi (__a);
11096
}
11097
 
11098
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11099
vreinterpret_f32_s16 (int16x4_t __a)
11100
{
11101
  return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi (__a);
11102
}
11103
 
11104
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11105
vreinterpret_f32_s32 (int32x2_t __a)
11106
{
11107
  return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si (__a);
11108
}
11109
 
11110
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11111
vreinterpret_f32_s64 (int64x1_t __a)
11112
{
11113
  return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a);
11114
}
11115
 
11116
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11117
vreinterpret_f32_u8 (uint8x8_t __a)
11118
{
11119
  return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a);
11120
}
11121
 
11122
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11123
vreinterpret_f32_u16 (uint16x4_t __a)
11124
{
11125
  return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a);
11126
}
11127
 
11128
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11129
vreinterpret_f32_u32 (uint32x2_t __a)
11130
{
11131
  return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si ((int32x2_t) __a);
11132
}
11133
 
11134
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11135
vreinterpret_f32_u64 (uint64x1_t __a)
11136
{
11137
  return (float32x2_t)__builtin_neon_vreinterpretv2sfdi ((int64x1_t) __a);
11138
}
11139
 
11140
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11141
vreinterpret_f32_p8 (poly8x8_t __a)
11142
{
11143
  return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a);
11144
}
11145
 
11146
__extension__ static __inline float32x2_t __attribute__ ((__always_inline__))
11147
vreinterpret_f32_p16 (poly16x4_t __a)
11148
{
11149
  return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a);
11150
}
11151
 
11152
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11153
vreinterpretq_f32_s8 (int8x16_t __a)
11154
{
11155
  return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi (__a);
11156
}
11157
 
11158
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11159
vreinterpretq_f32_s16 (int16x8_t __a)
11160
{
11161
  return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi (__a);
11162
}
11163
 
11164
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11165
vreinterpretq_f32_s32 (int32x4_t __a)
11166
{
11167
  return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si (__a);
11168
}
11169
 
11170
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11171
vreinterpretq_f32_s64 (int64x2_t __a)
11172
{
11173
  return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di (__a);
11174
}
11175
 
11176
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11177
vreinterpretq_f32_u8 (uint8x16_t __a)
11178
{
11179
  return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a);
11180
}
11181
 
11182
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11183
vreinterpretq_f32_u16 (uint16x8_t __a)
11184
{
11185
  return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a);
11186
}
11187
 
11188
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11189
vreinterpretq_f32_u32 (uint32x4_t __a)
11190
{
11191
  return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si ((int32x4_t) __a);
11192
}
11193
 
11194
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11195
vreinterpretq_f32_u64 (uint64x2_t __a)
11196
{
11197
  return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a);
11198
}
11199
 
11200
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11201
vreinterpretq_f32_p8 (poly8x16_t __a)
11202
{
11203
  return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) __a);
11204
}
11205
 
11206
__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
11207
vreinterpretq_f32_p16 (poly16x8_t __a)
11208
{
11209
  return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a);
11210
}
11211
 
11212
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11213
vreinterpret_s64_s8 (int8x8_t __a)
11214
{
11215
  return (int64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
11216
}
11217
 
11218
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11219
vreinterpret_s64_s16 (int16x4_t __a)
11220
{
11221
  return (int64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
11222
}
11223
 
11224
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11225
vreinterpret_s64_s32 (int32x2_t __a)
11226
{
11227
  return (int64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
11228
}
11229
 
11230
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11231
vreinterpret_s64_f32 (float32x2_t __a)
11232
{
11233
  return (int64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
11234
}
11235
 
11236
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11237
vreinterpret_s64_u8 (uint8x8_t __a)
11238
{
11239
  return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11240
}
11241
 
11242
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11243
vreinterpret_s64_u16 (uint16x4_t __a)
11244
{
11245
  return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11246
}
11247
 
11248
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11249
vreinterpret_s64_u32 (uint32x2_t __a)
11250
{
11251
  return (int64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
11252
}
11253
 
11254
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11255
vreinterpret_s64_u64 (uint64x1_t __a)
11256
{
11257
  return (int64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a);
11258
}
11259
 
11260
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11261
vreinterpret_s64_p8 (poly8x8_t __a)
11262
{
11263
  return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11264
}
11265
 
11266
__extension__ static __inline int64x1_t __attribute__ ((__always_inline__))
11267
vreinterpret_s64_p16 (poly16x4_t __a)
11268
{
11269
  return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11270
}
11271
 
11272
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11273
vreinterpretq_s64_s8 (int8x16_t __a)
11274
{
11275
  return (int64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
11276
}
11277
 
11278
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11279
vreinterpretq_s64_s16 (int16x8_t __a)
11280
{
11281
  return (int64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
11282
}
11283
 
11284
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11285
vreinterpretq_s64_s32 (int32x4_t __a)
11286
{
11287
  return (int64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
11288
}
11289
 
11290
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11291
vreinterpretq_s64_f32 (float32x4_t __a)
11292
{
11293
  return (int64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
11294
}
11295
 
11296
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11297
vreinterpretq_s64_u8 (uint8x16_t __a)
11298
{
11299
  return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11300
}
11301
 
11302
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11303
vreinterpretq_s64_u16 (uint16x8_t __a)
11304
{
11305
  return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11306
}
11307
 
11308
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11309
vreinterpretq_s64_u32 (uint32x4_t __a)
11310
{
11311
  return (int64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
11312
}
11313
 
11314
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11315
vreinterpretq_s64_u64 (uint64x2_t __a)
11316
{
11317
  return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a);
11318
}
11319
 
11320
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11321
vreinterpretq_s64_p8 (poly8x16_t __a)
11322
{
11323
  return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11324
}
11325
 
11326
__extension__ static __inline int64x2_t __attribute__ ((__always_inline__))
11327
vreinterpretq_s64_p16 (poly16x8_t __a)
11328
{
11329
  return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11330
}
11331
 
11332
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11333
vreinterpret_u64_s8 (int8x8_t __a)
11334
{
11335
  return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi (__a);
11336
}
11337
 
11338
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11339
vreinterpret_u64_s16 (int16x4_t __a)
11340
{
11341
  return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi (__a);
11342
}
11343
 
11344
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11345
vreinterpret_u64_s32 (int32x2_t __a)
11346
{
11347
  return (uint64x1_t)__builtin_neon_vreinterpretdiv2si (__a);
11348
}
11349
 
11350
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11351
vreinterpret_u64_s64 (int64x1_t __a)
11352
{
11353
  return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a);
11354
}
11355
 
11356
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11357
vreinterpret_u64_f32 (float32x2_t __a)
11358
{
11359
  return (uint64x1_t)__builtin_neon_vreinterpretdiv2sf (__a);
11360
}
11361
 
11362
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11363
vreinterpret_u64_u8 (uint8x8_t __a)
11364
{
11365
  return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11366
}
11367
 
11368
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11369
vreinterpret_u64_u16 (uint16x4_t __a)
11370
{
11371
  return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11372
}
11373
 
11374
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11375
vreinterpret_u64_u32 (uint32x2_t __a)
11376
{
11377
  return (uint64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a);
11378
}
11379
 
11380
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11381
vreinterpret_u64_p8 (poly8x8_t __a)
11382
{
11383
  return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a);
11384
}
11385
 
11386
__extension__ static __inline uint64x1_t __attribute__ ((__always_inline__))
11387
vreinterpret_u64_p16 (poly16x4_t __a)
11388
{
11389
  return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a);
11390
}
11391
 
11392
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11393
vreinterpretq_u64_s8 (int8x16_t __a)
11394
{
11395
  return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi (__a);
11396
}
11397
 
11398
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11399
vreinterpretq_u64_s16 (int16x8_t __a)
11400
{
11401
  return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi (__a);
11402
}
11403
 
11404
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11405
vreinterpretq_u64_s32 (int32x4_t __a)
11406
{
11407
  return (uint64x2_t)__builtin_neon_vreinterpretv2div4si (__a);
11408
}
11409
 
11410
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11411
vreinterpretq_u64_s64 (int64x2_t __a)
11412
{
11413
  return (uint64x2_t)__builtin_neon_vreinterpretv2div2di (__a);
11414
}
11415
 
11416
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11417
vreinterpretq_u64_f32 (float32x4_t __a)
11418
{
11419
  return (uint64x2_t)__builtin_neon_vreinterpretv2div4sf (__a);
11420
}
11421
 
11422
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11423
vreinterpretq_u64_u8 (uint8x16_t __a)
11424
{
11425
  return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11426
}
11427
 
11428
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11429
vreinterpretq_u64_u16 (uint16x8_t __a)
11430
{
11431
  return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11432
}
11433
 
11434
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11435
vreinterpretq_u64_u32 (uint32x4_t __a)
11436
{
11437
  return (uint64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a);
11438
}
11439
 
11440
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11441
vreinterpretq_u64_p8 (poly8x16_t __a)
11442
{
11443
  return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a);
11444
}
11445
 
11446
__extension__ static __inline uint64x2_t __attribute__ ((__always_inline__))
11447
vreinterpretq_u64_p16 (poly16x8_t __a)
11448
{
11449
  return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a);
11450
}
11451
 
11452
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11453
vreinterpret_s8_s16 (int16x4_t __a)
11454
{
11455
  return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11456
}
11457
 
11458
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11459
vreinterpret_s8_s32 (int32x2_t __a)
11460
{
11461
  return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11462
}
11463
 
11464
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11465
vreinterpret_s8_s64 (int64x1_t __a)
11466
{
11467
  return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11468
}
11469
 
11470
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11471
vreinterpret_s8_f32 (float32x2_t __a)
11472
{
11473
  return (int8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
11474
}
11475
 
11476
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11477
vreinterpret_s8_u8 (uint8x8_t __a)
11478
{
11479
  return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11480
}
11481
 
11482
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11483
vreinterpret_s8_u16 (uint16x4_t __a)
11484
{
11485
  return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11486
}
11487
 
11488
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11489
vreinterpret_s8_u32 (uint32x2_t __a)
11490
{
11491
  return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
11492
}
11493
 
11494
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11495
vreinterpret_s8_u64 (uint64x1_t __a)
11496
{
11497
  return (int8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
11498
}
11499
 
11500
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11501
vreinterpret_s8_p8 (poly8x8_t __a)
11502
{
11503
  return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11504
}
11505
 
11506
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
11507
vreinterpret_s8_p16 (poly16x4_t __a)
11508
{
11509
  return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11510
}
11511
 
11512
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11513
vreinterpretq_s8_s16 (int16x8_t __a)
11514
{
11515
  return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
11516
}
11517
 
11518
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11519
vreinterpretq_s8_s32 (int32x4_t __a)
11520
{
11521
  return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
11522
}
11523
 
11524
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11525
vreinterpretq_s8_s64 (int64x2_t __a)
11526
{
11527
  return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
11528
}
11529
 
11530
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11531
vreinterpretq_s8_f32 (float32x4_t __a)
11532
{
11533
  return (int8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
11534
}
11535
 
11536
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11537
vreinterpretq_s8_u8 (uint8x16_t __a)
11538
{
11539
  return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
11540
}
11541
 
11542
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11543
vreinterpretq_s8_u16 (uint16x8_t __a)
11544
{
11545
  return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11546
}
11547
 
11548
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11549
vreinterpretq_s8_u32 (uint32x4_t __a)
11550
{
11551
  return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
11552
}
11553
 
11554
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11555
vreinterpretq_s8_u64 (uint64x2_t __a)
11556
{
11557
  return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
11558
}
11559
 
11560
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11561
vreinterpretq_s8_p8 (poly8x16_t __a)
11562
{
11563
  return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
11564
}
11565
 
11566
__extension__ static __inline int8x16_t __attribute__ ((__always_inline__))
11567
vreinterpretq_s8_p16 (poly16x8_t __a)
11568
{
11569
  return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11570
}
11571
 
11572
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11573
vreinterpret_s16_s8 (int8x8_t __a)
11574
{
11575
  return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
11576
}
11577
 
11578
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11579
vreinterpret_s16_s32 (int32x2_t __a)
11580
{
11581
  return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
11582
}
11583
 
11584
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11585
vreinterpret_s16_s64 (int64x1_t __a)
11586
{
11587
  return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11588
}
11589
 
11590
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11591
vreinterpret_s16_f32 (float32x2_t __a)
11592
{
11593
  return (int16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
11594
}
11595
 
11596
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11597
vreinterpret_s16_u8 (uint8x8_t __a)
11598
{
11599
  return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11600
}
11601
 
11602
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11603
vreinterpret_s16_u16 (uint16x4_t __a)
11604
{
11605
  return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11606
}
11607
 
11608
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11609
vreinterpret_s16_u32 (uint32x2_t __a)
11610
{
11611
  return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
11612
}
11613
 
11614
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11615
vreinterpret_s16_u64 (uint64x1_t __a)
11616
{
11617
  return (int16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
11618
}
11619
 
11620
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11621
vreinterpret_s16_p8 (poly8x8_t __a)
11622
{
11623
  return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11624
}
11625
 
11626
__extension__ static __inline int16x4_t __attribute__ ((__always_inline__))
11627
vreinterpret_s16_p16 (poly16x4_t __a)
11628
{
11629
  return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11630
}
11631
 
11632
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11633
vreinterpretq_s16_s8 (int8x16_t __a)
11634
{
11635
  return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
11636
}
11637
 
11638
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11639
vreinterpretq_s16_s32 (int32x4_t __a)
11640
{
11641
  return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
11642
}
11643
 
11644
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11645
vreinterpretq_s16_s64 (int64x2_t __a)
11646
{
11647
  return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
11648
}
11649
 
11650
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11651
vreinterpretq_s16_f32 (float32x4_t __a)
11652
{
11653
  return (int16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
11654
}
11655
 
11656
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11657
vreinterpretq_s16_u8 (uint8x16_t __a)
11658
{
11659
  return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11660
}
11661
 
11662
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11663
vreinterpretq_s16_u16 (uint16x8_t __a)
11664
{
11665
  return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
11666
}
11667
 
11668
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11669
vreinterpretq_s16_u32 (uint32x4_t __a)
11670
{
11671
  return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
11672
}
11673
 
11674
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11675
vreinterpretq_s16_u64 (uint64x2_t __a)
11676
{
11677
  return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
11678
}
11679
 
11680
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11681
vreinterpretq_s16_p8 (poly8x16_t __a)
11682
{
11683
  return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
11684
}
11685
 
11686
__extension__ static __inline int16x8_t __attribute__ ((__always_inline__))
11687
vreinterpretq_s16_p16 (poly16x8_t __a)
11688
{
11689
  return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
11690
}
11691
 
11692
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11693
vreinterpret_s32_s8 (int8x8_t __a)
11694
{
11695
  return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a);
11696
}
11697
 
11698
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11699
vreinterpret_s32_s16 (int16x4_t __a)
11700
{
11701
  return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a);
11702
}
11703
 
11704
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11705
vreinterpret_s32_s64 (int64x1_t __a)
11706
{
11707
  return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
11708
}
11709
 
11710
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11711
vreinterpret_s32_f32 (float32x2_t __a)
11712
{
11713
  return (int32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a);
11714
}
11715
 
11716
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11717
vreinterpret_s32_u8 (uint8x8_t __a)
11718
{
11719
  return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
11720
}
11721
 
11722
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11723
vreinterpret_s32_u16 (uint16x4_t __a)
11724
{
11725
  return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
11726
}
11727
 
11728
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11729
vreinterpret_s32_u32 (uint32x2_t __a)
11730
{
11731
  return (int32x2_t)__builtin_neon_vreinterpretv2siv2si ((int32x2_t) __a);
11732
}
11733
 
11734
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11735
vreinterpret_s32_u64 (uint64x1_t __a)
11736
{
11737
  return (int32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a);
11738
}
11739
 
11740
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11741
vreinterpret_s32_p8 (poly8x8_t __a)
11742
{
11743
  return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
11744
}
11745
 
11746
__extension__ static __inline int32x2_t __attribute__ ((__always_inline__))
11747
vreinterpret_s32_p16 (poly16x4_t __a)
11748
{
11749
  return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
11750
}
11751
 
11752
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11753
vreinterpretq_s32_s8 (int8x16_t __a)
11754
{
11755
  return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a);
11756
}
11757
 
11758
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11759
vreinterpretq_s32_s16 (int16x8_t __a)
11760
{
11761
  return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a);
11762
}
11763
 
11764
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11765
vreinterpretq_s32_s64 (int64x2_t __a)
11766
{
11767
  return (int32x4_t)__builtin_neon_vreinterpretv4siv2di (__a);
11768
}
11769
 
11770
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11771
vreinterpretq_s32_f32 (float32x4_t __a)
11772
{
11773
  return (int32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a);
11774
}
11775
 
11776
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11777
vreinterpretq_s32_u8 (uint8x16_t __a)
11778
{
11779
  return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
11780
}
11781
 
11782
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11783
vreinterpretq_s32_u16 (uint16x8_t __a)
11784
{
11785
  return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
11786
}
11787
 
11788
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11789
vreinterpretq_s32_u32 (uint32x4_t __a)
11790
{
11791
  return (int32x4_t)__builtin_neon_vreinterpretv4siv4si ((int32x4_t) __a);
11792
}
11793
 
11794
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11795
vreinterpretq_s32_u64 (uint64x2_t __a)
11796
{
11797
  return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
11798
}
11799
 
11800
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11801
vreinterpretq_s32_p8 (poly8x16_t __a)
11802
{
11803
  return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
11804
}
11805
 
11806
__extension__ static __inline int32x4_t __attribute__ ((__always_inline__))
11807
vreinterpretq_s32_p16 (poly16x8_t __a)
11808
{
11809
  return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
11810
}
11811
 
11812
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11813
vreinterpret_u8_s8 (int8x8_t __a)
11814
{
11815
  return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a);
11816
}
11817
 
11818
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11819
vreinterpret_u8_s16 (int16x4_t __a)
11820
{
11821
  return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a);
11822
}
11823
 
11824
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11825
vreinterpret_u8_s32 (int32x2_t __a)
11826
{
11827
  return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a);
11828
}
11829
 
11830
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11831
vreinterpret_u8_s64 (int64x1_t __a)
11832
{
11833
  return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a);
11834
}
11835
 
11836
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11837
vreinterpret_u8_f32 (float32x2_t __a)
11838
{
11839
  return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a);
11840
}
11841
 
11842
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11843
vreinterpret_u8_u16 (uint16x4_t __a)
11844
{
11845
  return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11846
}
11847
 
11848
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11849
vreinterpret_u8_u32 (uint32x2_t __a)
11850
{
11851
  return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a);
11852
}
11853
 
11854
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11855
vreinterpret_u8_u64 (uint64x1_t __a)
11856
{
11857
  return (uint8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a);
11858
}
11859
 
11860
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11861
vreinterpret_u8_p8 (poly8x8_t __a)
11862
{
11863
  return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a);
11864
}
11865
 
11866
__extension__ static __inline uint8x8_t __attribute__ ((__always_inline__))
11867
vreinterpret_u8_p16 (poly16x4_t __a)
11868
{
11869
  return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a);
11870
}
11871
 
11872
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11873
vreinterpretq_u8_s8 (int8x16_t __a)
11874
{
11875
  return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a);
11876
}
11877
 
11878
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11879
vreinterpretq_u8_s16 (int16x8_t __a)
11880
{
11881
  return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a);
11882
}
11883
 
11884
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11885
vreinterpretq_u8_s32 (int32x4_t __a)
11886
{
11887
  return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a);
11888
}
11889
 
11890
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11891
vreinterpretq_u8_s64 (int64x2_t __a)
11892
{
11893
  return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a);
11894
}
11895
 
11896
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11897
vreinterpretq_u8_f32 (float32x4_t __a)
11898
{
11899
  return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a);
11900
}
11901
 
11902
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11903
vreinterpretq_u8_u16 (uint16x8_t __a)
11904
{
11905
  return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11906
}
11907
 
11908
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11909
vreinterpretq_u8_u32 (uint32x4_t __a)
11910
{
11911
  return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a);
11912
}
11913
 
11914
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11915
vreinterpretq_u8_u64 (uint64x2_t __a)
11916
{
11917
  return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a);
11918
}
11919
 
11920
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11921
vreinterpretq_u8_p8 (poly8x16_t __a)
11922
{
11923
  return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a);
11924
}
11925
 
11926
__extension__ static __inline uint8x16_t __attribute__ ((__always_inline__))
11927
vreinterpretq_u8_p16 (poly16x8_t __a)
11928
{
11929
  return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a);
11930
}
11931
 
11932
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11933
vreinterpret_u16_s8 (int8x8_t __a)
11934
{
11935
  return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a);
11936
}
11937
 
11938
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11939
vreinterpret_u16_s16 (int16x4_t __a)
11940
{
11941
  return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a);
11942
}
11943
 
11944
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11945
vreinterpret_u16_s32 (int32x2_t __a)
11946
{
11947
  return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a);
11948
}
11949
 
11950
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11951
vreinterpret_u16_s64 (int64x1_t __a)
11952
{
11953
  return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a);
11954
}
11955
 
11956
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11957
vreinterpret_u16_f32 (float32x2_t __a)
11958
{
11959
  return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a);
11960
}
11961
 
11962
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11963
vreinterpret_u16_u8 (uint8x8_t __a)
11964
{
11965
  return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11966
}
11967
 
11968
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11969
vreinterpret_u16_u32 (uint32x2_t __a)
11970
{
11971
  return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a);
11972
}
11973
 
11974
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11975
vreinterpret_u16_u64 (uint64x1_t __a)
11976
{
11977
  return (uint16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a);
11978
}
11979
 
11980
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11981
vreinterpret_u16_p8 (poly8x8_t __a)
11982
{
11983
  return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a);
11984
}
11985
 
11986
__extension__ static __inline uint16x4_t __attribute__ ((__always_inline__))
11987
vreinterpret_u16_p16 (poly16x4_t __a)
11988
{
11989
  return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a);
11990
}
11991
 
11992
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
11993
vreinterpretq_u16_s8 (int8x16_t __a)
11994
{
11995
  return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a);
11996
}
11997
 
11998
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
11999
vreinterpretq_u16_s16 (int16x8_t __a)
12000
{
12001
  return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a);
12002
}
12003
 
12004
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12005
vreinterpretq_u16_s32 (int32x4_t __a)
12006
{
12007
  return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a);
12008
}
12009
 
12010
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12011
vreinterpretq_u16_s64 (int64x2_t __a)
12012
{
12013
  return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a);
12014
}
12015
 
12016
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12017
vreinterpretq_u16_f32 (float32x4_t __a)
12018
{
12019
  return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a);
12020
}
12021
 
12022
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12023
vreinterpretq_u16_u8 (uint8x16_t __a)
12024
{
12025
  return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12026
}
12027
 
12028
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12029
vreinterpretq_u16_u32 (uint32x4_t __a)
12030
{
12031
  return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a);
12032
}
12033
 
12034
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12035
vreinterpretq_u16_u64 (uint64x2_t __a)
12036
{
12037
  return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a);
12038
}
12039
 
12040
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12041
vreinterpretq_u16_p8 (poly8x16_t __a)
12042
{
12043
  return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a);
12044
}
12045
 
12046
__extension__ static __inline uint16x8_t __attribute__ ((__always_inline__))
12047
vreinterpretq_u16_p16 (poly16x8_t __a)
12048
{
12049
  return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a);
12050
}
12051
 
12052
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12053
vreinterpret_u32_s8 (int8x8_t __a)
12054
{
12055
  return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a);
12056
}
12057
 
12058
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12059
vreinterpret_u32_s16 (int16x4_t __a)
12060
{
12061
  return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a);
12062
}
12063
 
12064
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12065
vreinterpret_u32_s32 (int32x2_t __a)
12066
{
12067
  return (uint32x2_t)__builtin_neon_vreinterpretv2siv2si (__a);
12068
}
12069
 
12070
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12071
vreinterpret_u32_s64 (int64x1_t __a)
12072
{
12073
  return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a);
12074
}
12075
 
12076
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12077
vreinterpret_u32_f32 (float32x2_t __a)
12078
{
12079
  return (uint32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a);
12080
}
12081
 
12082
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12083
vreinterpret_u32_u8 (uint8x8_t __a)
12084
{
12085
  return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12086
}
12087
 
12088
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12089
vreinterpret_u32_u16 (uint16x4_t __a)
12090
{
12091
  return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12092
}
12093
 
12094
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12095
vreinterpret_u32_u64 (uint64x1_t __a)
12096
{
12097
  return (uint32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a);
12098
}
12099
 
12100
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12101
vreinterpret_u32_p8 (poly8x8_t __a)
12102
{
12103
  return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a);
12104
}
12105
 
12106
__extension__ static __inline uint32x2_t __attribute__ ((__always_inline__))
12107
vreinterpret_u32_p16 (poly16x4_t __a)
12108
{
12109
  return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a);
12110
}
12111
 
12112
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12113
vreinterpretq_u32_s8 (int8x16_t __a)
12114
{
12115
  return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a);
12116
}
12117
 
12118
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12119
vreinterpretq_u32_s16 (int16x8_t __a)
12120
{
12121
  return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a);
12122
}
12123
 
12124
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12125
vreinterpretq_u32_s32 (int32x4_t __a)
12126
{
12127
  return (uint32x4_t)__builtin_neon_vreinterpretv4siv4si (__a);
12128
}
12129
 
12130
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12131
vreinterpretq_u32_s64 (int64x2_t __a)
12132
{
12133
  return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di (__a);
12134
}
12135
 
12136
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12137
vreinterpretq_u32_f32 (float32x4_t __a)
12138
{
12139
  return (uint32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a);
12140
}
12141
 
12142
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12143
vreinterpretq_u32_u8 (uint8x16_t __a)
12144
{
12145
  return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
12146
}
12147
 
12148
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12149
vreinterpretq_u32_u16 (uint16x8_t __a)
12150
{
12151
  return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
12152
}
12153
 
12154
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12155
vreinterpretq_u32_u64 (uint64x2_t __a)
12156
{
12157
  return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a);
12158
}
12159
 
12160
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12161
vreinterpretq_u32_p8 (poly8x16_t __a)
12162
{
12163
  return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a);
12164
}
12165
 
12166
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
12167
vreinterpretq_u32_p16 (poly16x8_t __a)
12168
{
12169
  return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a);
12170
}
12171
 
12172
#ifdef __cplusplus
12173
}
12174
#endif
12175
#endif
12176
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.