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