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