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