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