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