| OLD | NEW |
| (Empty) | |
| 1 /*===---- arm_neon.h - ARM Neon intrinsics ---------------------------------=== |
| 2 * |
| 3 * Permission is hereby granted, free of charge, to any person obtaining a copy |
| 4 * of this software and associated documentation files (the "Software"), to deal |
| 5 * in the Software without restriction, including without limitation the rights |
| 6 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
| 7 * copies of the Software, and to permit persons to whom the Software is |
| 8 * furnished to do so, subject to the following conditions: |
| 9 * |
| 10 * The above copyright notice and this permission notice shall be included in |
| 11 * all copies or substantial portions of the Software. |
| 12 * |
| 13 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| 14 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| 15 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| 16 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| 17 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| 18 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
| 19 * THE SOFTWARE. |
| 20 * |
| 21 *===-----------------------------------------------------------------------=== |
| 22 */ |
| 23 |
| 24 #ifndef __ARM_NEON_H |
| 25 #define __ARM_NEON_H |
| 26 |
| 27 #if !defined(__ARM_NEON) |
| 28 #error "NEON support not enabled" |
| 29 #endif |
| 30 |
| 31 #include <stdint.h> |
| 32 |
| 33 typedef float float32_t; |
| 34 typedef __fp16 float16_t; |
| 35 #ifdef __aarch64__ |
| 36 typedef double float64_t; |
| 37 #endif |
| 38 |
| 39 #ifdef __aarch64__ |
| 40 typedef uint8_t poly8_t; |
| 41 typedef uint16_t poly16_t; |
| 42 typedef uint64_t poly64_t; |
| 43 typedef __uint128_t poly128_t; |
| 44 #else |
| 45 typedef int8_t poly8_t; |
| 46 typedef int16_t poly16_t; |
| 47 #endif |
| 48 typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t; |
| 49 typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t; |
| 50 typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t; |
| 51 typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t; |
| 52 typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t; |
| 53 typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t; |
| 54 typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t; |
| 55 typedef __attribute__((neon_vector_type(2))) int64_t int64x2_t; |
| 56 typedef __attribute__((neon_vector_type(8))) uint8_t uint8x8_t; |
| 57 typedef __attribute__((neon_vector_type(16))) uint8_t uint8x16_t; |
| 58 typedef __attribute__((neon_vector_type(4))) uint16_t uint16x4_t; |
| 59 typedef __attribute__((neon_vector_type(8))) uint16_t uint16x8_t; |
| 60 typedef __attribute__((neon_vector_type(2))) uint32_t uint32x2_t; |
| 61 typedef __attribute__((neon_vector_type(4))) uint32_t uint32x4_t; |
| 62 typedef __attribute__((neon_vector_type(1))) uint64_t uint64x1_t; |
| 63 typedef __attribute__((neon_vector_type(2))) uint64_t uint64x2_t; |
| 64 typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t; |
| 65 typedef __attribute__((neon_vector_type(8))) float16_t float16x8_t; |
| 66 typedef __attribute__((neon_vector_type(2))) float32_t float32x2_t; |
| 67 typedef __attribute__((neon_vector_type(4))) float32_t float32x4_t; |
| 68 #ifdef __aarch64__ |
| 69 typedef __attribute__((neon_vector_type(1))) float64_t float64x1_t; |
| 70 typedef __attribute__((neon_vector_type(2))) float64_t float64x2_t; |
| 71 #endif |
| 72 typedef __attribute__((neon_polyvector_type(8))) poly8_t poly8x8_t; |
| 73 typedef __attribute__((neon_polyvector_type(16))) poly8_t poly8x16_t; |
| 74 typedef __attribute__((neon_polyvector_type(4))) poly16_t poly16x4_t; |
| 75 typedef __attribute__((neon_polyvector_type(8))) poly16_t poly16x8_t; |
| 76 #ifdef __aarch64__ |
| 77 typedef __attribute__((neon_polyvector_type(1))) poly64_t poly64x1_t; |
| 78 typedef __attribute__((neon_polyvector_type(2))) poly64_t poly64x2_t; |
| 79 #endif |
| 80 |
| 81 typedef struct int8x8x2_t { |
| 82 int8x8_t val[2]; |
| 83 } int8x8x2_t; |
| 84 |
| 85 typedef struct int8x16x2_t { |
| 86 int8x16_t val[2]; |
| 87 } int8x16x2_t; |
| 88 |
| 89 typedef struct int16x4x2_t { |
| 90 int16x4_t val[2]; |
| 91 } int16x4x2_t; |
| 92 |
| 93 typedef struct int16x8x2_t { |
| 94 int16x8_t val[2]; |
| 95 } int16x8x2_t; |
| 96 |
| 97 typedef struct int32x2x2_t { |
| 98 int32x2_t val[2]; |
| 99 } int32x2x2_t; |
| 100 |
| 101 typedef struct int32x4x2_t { |
| 102 int32x4_t val[2]; |
| 103 } int32x4x2_t; |
| 104 |
| 105 typedef struct int64x1x2_t { |
| 106 int64x1_t val[2]; |
| 107 } int64x1x2_t; |
| 108 |
| 109 typedef struct int64x2x2_t { |
| 110 int64x2_t val[2]; |
| 111 } int64x2x2_t; |
| 112 |
| 113 typedef struct uint8x8x2_t { |
| 114 uint8x8_t val[2]; |
| 115 } uint8x8x2_t; |
| 116 |
| 117 typedef struct uint8x16x2_t { |
| 118 uint8x16_t val[2]; |
| 119 } uint8x16x2_t; |
| 120 |
| 121 typedef struct uint16x4x2_t { |
| 122 uint16x4_t val[2]; |
| 123 } uint16x4x2_t; |
| 124 |
| 125 typedef struct uint16x8x2_t { |
| 126 uint16x8_t val[2]; |
| 127 } uint16x8x2_t; |
| 128 |
| 129 typedef struct uint32x2x2_t { |
| 130 uint32x2_t val[2]; |
| 131 } uint32x2x2_t; |
| 132 |
| 133 typedef struct uint32x4x2_t { |
| 134 uint32x4_t val[2]; |
| 135 } uint32x4x2_t; |
| 136 |
| 137 typedef struct uint64x1x2_t { |
| 138 uint64x1_t val[2]; |
| 139 } uint64x1x2_t; |
| 140 |
| 141 typedef struct uint64x2x2_t { |
| 142 uint64x2_t val[2]; |
| 143 } uint64x2x2_t; |
| 144 |
| 145 typedef struct float16x4x2_t { |
| 146 float16x4_t val[2]; |
| 147 } float16x4x2_t; |
| 148 |
| 149 typedef struct float16x8x2_t { |
| 150 float16x8_t val[2]; |
| 151 } float16x8x2_t; |
| 152 |
| 153 typedef struct float32x2x2_t { |
| 154 float32x2_t val[2]; |
| 155 } float32x2x2_t; |
| 156 |
| 157 typedef struct float32x4x2_t { |
| 158 float32x4_t val[2]; |
| 159 } float32x4x2_t; |
| 160 |
| 161 #ifdef __aarch64__ |
| 162 typedef struct float64x1x2_t { |
| 163 float64x1_t val[2]; |
| 164 } float64x1x2_t; |
| 165 |
| 166 typedef struct float64x2x2_t { |
| 167 float64x2_t val[2]; |
| 168 } float64x2x2_t; |
| 169 |
| 170 #endif |
| 171 typedef struct poly8x8x2_t { |
| 172 poly8x8_t val[2]; |
| 173 } poly8x8x2_t; |
| 174 |
| 175 typedef struct poly8x16x2_t { |
| 176 poly8x16_t val[2]; |
| 177 } poly8x16x2_t; |
| 178 |
| 179 typedef struct poly16x4x2_t { |
| 180 poly16x4_t val[2]; |
| 181 } poly16x4x2_t; |
| 182 |
| 183 typedef struct poly16x8x2_t { |
| 184 poly16x8_t val[2]; |
| 185 } poly16x8x2_t; |
| 186 |
| 187 #ifdef __aarch64__ |
| 188 typedef struct poly64x1x2_t { |
| 189 poly64x1_t val[2]; |
| 190 } poly64x1x2_t; |
| 191 |
| 192 typedef struct poly64x2x2_t { |
| 193 poly64x2_t val[2]; |
| 194 } poly64x2x2_t; |
| 195 |
| 196 #endif |
| 197 typedef struct int8x8x3_t { |
| 198 int8x8_t val[3]; |
| 199 } int8x8x3_t; |
| 200 |
| 201 typedef struct int8x16x3_t { |
| 202 int8x16_t val[3]; |
| 203 } int8x16x3_t; |
| 204 |
| 205 typedef struct int16x4x3_t { |
| 206 int16x4_t val[3]; |
| 207 } int16x4x3_t; |
| 208 |
| 209 typedef struct int16x8x3_t { |
| 210 int16x8_t val[3]; |
| 211 } int16x8x3_t; |
| 212 |
| 213 typedef struct int32x2x3_t { |
| 214 int32x2_t val[3]; |
| 215 } int32x2x3_t; |
| 216 |
| 217 typedef struct int32x4x3_t { |
| 218 int32x4_t val[3]; |
| 219 } int32x4x3_t; |
| 220 |
| 221 typedef struct int64x1x3_t { |
| 222 int64x1_t val[3]; |
| 223 } int64x1x3_t; |
| 224 |
| 225 typedef struct int64x2x3_t { |
| 226 int64x2_t val[3]; |
| 227 } int64x2x3_t; |
| 228 |
| 229 typedef struct uint8x8x3_t { |
| 230 uint8x8_t val[3]; |
| 231 } uint8x8x3_t; |
| 232 |
| 233 typedef struct uint8x16x3_t { |
| 234 uint8x16_t val[3]; |
| 235 } uint8x16x3_t; |
| 236 |
| 237 typedef struct uint16x4x3_t { |
| 238 uint16x4_t val[3]; |
| 239 } uint16x4x3_t; |
| 240 |
| 241 typedef struct uint16x8x3_t { |
| 242 uint16x8_t val[3]; |
| 243 } uint16x8x3_t; |
| 244 |
| 245 typedef struct uint32x2x3_t { |
| 246 uint32x2_t val[3]; |
| 247 } uint32x2x3_t; |
| 248 |
| 249 typedef struct uint32x4x3_t { |
| 250 uint32x4_t val[3]; |
| 251 } uint32x4x3_t; |
| 252 |
| 253 typedef struct uint64x1x3_t { |
| 254 uint64x1_t val[3]; |
| 255 } uint64x1x3_t; |
| 256 |
| 257 typedef struct uint64x2x3_t { |
| 258 uint64x2_t val[3]; |
| 259 } uint64x2x3_t; |
| 260 |
| 261 typedef struct float16x4x3_t { |
| 262 float16x4_t val[3]; |
| 263 } float16x4x3_t; |
| 264 |
| 265 typedef struct float16x8x3_t { |
| 266 float16x8_t val[3]; |
| 267 } float16x8x3_t; |
| 268 |
| 269 typedef struct float32x2x3_t { |
| 270 float32x2_t val[3]; |
| 271 } float32x2x3_t; |
| 272 |
| 273 typedef struct float32x4x3_t { |
| 274 float32x4_t val[3]; |
| 275 } float32x4x3_t; |
| 276 |
| 277 #ifdef __aarch64__ |
| 278 typedef struct float64x1x3_t { |
| 279 float64x1_t val[3]; |
| 280 } float64x1x3_t; |
| 281 |
| 282 typedef struct float64x2x3_t { |
| 283 float64x2_t val[3]; |
| 284 } float64x2x3_t; |
| 285 |
| 286 #endif |
| 287 typedef struct poly8x8x3_t { |
| 288 poly8x8_t val[3]; |
| 289 } poly8x8x3_t; |
| 290 |
| 291 typedef struct poly8x16x3_t { |
| 292 poly8x16_t val[3]; |
| 293 } poly8x16x3_t; |
| 294 |
| 295 typedef struct poly16x4x3_t { |
| 296 poly16x4_t val[3]; |
| 297 } poly16x4x3_t; |
| 298 |
| 299 typedef struct poly16x8x3_t { |
| 300 poly16x8_t val[3]; |
| 301 } poly16x8x3_t; |
| 302 |
| 303 #ifdef __aarch64__ |
| 304 typedef struct poly64x1x3_t { |
| 305 poly64x1_t val[3]; |
| 306 } poly64x1x3_t; |
| 307 |
| 308 typedef struct poly64x2x3_t { |
| 309 poly64x2_t val[3]; |
| 310 } poly64x2x3_t; |
| 311 |
| 312 #endif |
| 313 typedef struct int8x8x4_t { |
| 314 int8x8_t val[4]; |
| 315 } int8x8x4_t; |
| 316 |
| 317 typedef struct int8x16x4_t { |
| 318 int8x16_t val[4]; |
| 319 } int8x16x4_t; |
| 320 |
| 321 typedef struct int16x4x4_t { |
| 322 int16x4_t val[4]; |
| 323 } int16x4x4_t; |
| 324 |
| 325 typedef struct int16x8x4_t { |
| 326 int16x8_t val[4]; |
| 327 } int16x8x4_t; |
| 328 |
| 329 typedef struct int32x2x4_t { |
| 330 int32x2_t val[4]; |
| 331 } int32x2x4_t; |
| 332 |
| 333 typedef struct int32x4x4_t { |
| 334 int32x4_t val[4]; |
| 335 } int32x4x4_t; |
| 336 |
| 337 typedef struct int64x1x4_t { |
| 338 int64x1_t val[4]; |
| 339 } int64x1x4_t; |
| 340 |
| 341 typedef struct int64x2x4_t { |
| 342 int64x2_t val[4]; |
| 343 } int64x2x4_t; |
| 344 |
| 345 typedef struct uint8x8x4_t { |
| 346 uint8x8_t val[4]; |
| 347 } uint8x8x4_t; |
| 348 |
| 349 typedef struct uint8x16x4_t { |
| 350 uint8x16_t val[4]; |
| 351 } uint8x16x4_t; |
| 352 |
| 353 typedef struct uint16x4x4_t { |
| 354 uint16x4_t val[4]; |
| 355 } uint16x4x4_t; |
| 356 |
| 357 typedef struct uint16x8x4_t { |
| 358 uint16x8_t val[4]; |
| 359 } uint16x8x4_t; |
| 360 |
| 361 typedef struct uint32x2x4_t { |
| 362 uint32x2_t val[4]; |
| 363 } uint32x2x4_t; |
| 364 |
| 365 typedef struct uint32x4x4_t { |
| 366 uint32x4_t val[4]; |
| 367 } uint32x4x4_t; |
| 368 |
| 369 typedef struct uint64x1x4_t { |
| 370 uint64x1_t val[4]; |
| 371 } uint64x1x4_t; |
| 372 |
| 373 typedef struct uint64x2x4_t { |
| 374 uint64x2_t val[4]; |
| 375 } uint64x2x4_t; |
| 376 |
| 377 typedef struct float16x4x4_t { |
| 378 float16x4_t val[4]; |
| 379 } float16x4x4_t; |
| 380 |
| 381 typedef struct float16x8x4_t { |
| 382 float16x8_t val[4]; |
| 383 } float16x8x4_t; |
| 384 |
| 385 typedef struct float32x2x4_t { |
| 386 float32x2_t val[4]; |
| 387 } float32x2x4_t; |
| 388 |
| 389 typedef struct float32x4x4_t { |
| 390 float32x4_t val[4]; |
| 391 } float32x4x4_t; |
| 392 |
| 393 #ifdef __aarch64__ |
| 394 typedef struct float64x1x4_t { |
| 395 float64x1_t val[4]; |
| 396 } float64x1x4_t; |
| 397 |
| 398 typedef struct float64x2x4_t { |
| 399 float64x2_t val[4]; |
| 400 } float64x2x4_t; |
| 401 |
| 402 #endif |
| 403 typedef struct poly8x8x4_t { |
| 404 poly8x8_t val[4]; |
| 405 } poly8x8x4_t; |
| 406 |
| 407 typedef struct poly8x16x4_t { |
| 408 poly8x16_t val[4]; |
| 409 } poly8x16x4_t; |
| 410 |
| 411 typedef struct poly16x4x4_t { |
| 412 poly16x4_t val[4]; |
| 413 } poly16x4x4_t; |
| 414 |
| 415 typedef struct poly16x8x4_t { |
| 416 poly16x8_t val[4]; |
| 417 } poly16x8x4_t; |
| 418 |
| 419 #ifdef __aarch64__ |
| 420 typedef struct poly64x1x4_t { |
| 421 poly64x1_t val[4]; |
| 422 } poly64x1x4_t; |
| 423 |
| 424 typedef struct poly64x2x4_t { |
| 425 poly64x2_t val[4]; |
| 426 } poly64x2x4_t; |
| 427 |
| 428 #endif |
| 429 |
| 430 #define __ai static inline __attribute__((__always_inline__, __nodebug__)) |
| 431 |
| 432 __ai float32x2_t vfma_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) { |
| 433 return (float32x2_t)__builtin_neon_vfma_v((int8x8_t)__a, (int8x8_t)__b, (int8x
8_t)__c, 9); } |
| 434 __ai float32x4_t vfmaq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) { |
| 435 return (float32x4_t)__builtin_neon_vfmaq_v((int8x16_t)__a, (int8x16_t)__b, (in
t8x16_t)__c, 41); } |
| 436 |
| 437 __ai int8x8_t vqmovn_s16(int16x8_t __a) { |
| 438 return (int8x8_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 0); } |
| 439 __ai int16x4_t vqmovn_s32(int32x4_t __a) { |
| 440 return (int16x4_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 1); } |
| 441 __ai int32x2_t vqmovn_s64(int64x2_t __a) { |
| 442 return (int32x2_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 2); } |
| 443 __ai uint8x8_t vqmovn_u16(uint16x8_t __a) { |
| 444 return (uint8x8_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 16); } |
| 445 __ai uint16x4_t vqmovn_u32(uint32x4_t __a) { |
| 446 return (uint16x4_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 17); } |
| 447 __ai uint32x2_t vqmovn_u64(uint64x2_t __a) { |
| 448 return (uint32x2_t)__builtin_neon_vqmovn_v((int8x16_t)__a, 18); } |
| 449 |
| 450 __ai uint8x8_t vqmovun_s16(int16x8_t __a) { |
| 451 return (uint8x8_t)__builtin_neon_vqmovun_v((int8x16_t)__a, 16); } |
| 452 __ai uint16x4_t vqmovun_s32(int32x4_t __a) { |
| 453 return (uint16x4_t)__builtin_neon_vqmovun_v((int8x16_t)__a, 17); } |
| 454 __ai uint32x2_t vqmovun_s64(int64x2_t __a) { |
| 455 return (uint32x2_t)__builtin_neon_vqmovun_v((int8x16_t)__a, 18); } |
| 456 |
| 457 __ai int8x8_t vabd_s8(int8x8_t __a, int8x8_t __b) { |
| 458 return (int8x8_t)__builtin_neon_vabd_v(__a, __b, 0); } |
| 459 __ai int16x4_t vabd_s16(int16x4_t __a, int16x4_t __b) { |
| 460 return (int16x4_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 461 __ai int32x2_t vabd_s32(int32x2_t __a, int32x2_t __b) { |
| 462 return (int32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 463 __ai uint8x8_t vabd_u8(uint8x8_t __a, uint8x8_t __b) { |
| 464 return (uint8x8_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 465 __ai uint16x4_t vabd_u16(uint16x4_t __a, uint16x4_t __b) { |
| 466 return (uint16x4_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 467 __ai uint32x2_t vabd_u32(uint32x2_t __a, uint32x2_t __b) { |
| 468 return (uint32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 469 __ai float32x2_t vabd_f32(float32x2_t __a, float32x2_t __b) { |
| 470 return (float32x2_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 9); } |
| 471 __ai int8x16_t vabdq_s8(int8x16_t __a, int8x16_t __b) { |
| 472 return (int8x16_t)__builtin_neon_vabdq_v(__a, __b, 32); } |
| 473 __ai int16x8_t vabdq_s16(int16x8_t __a, int16x8_t __b) { |
| 474 return (int16x8_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 475 __ai int32x4_t vabdq_s32(int32x4_t __a, int32x4_t __b) { |
| 476 return (int32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 477 __ai uint8x16_t vabdq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 478 return (uint8x16_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 48);
} |
| 479 __ai uint16x8_t vabdq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 480 return (uint16x8_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 49);
} |
| 481 __ai uint32x4_t vabdq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 482 return (uint32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 50);
} |
| 483 __ai float32x4_t vabdq_f32(float32x4_t __a, float32x4_t __b) { |
| 484 return (float32x4_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 41)
; } |
| 485 |
| 486 __ai int16x8_t vmovl_s8(int8x8_t __a) { |
| 487 return (int16x8_t)__builtin_neon_vmovl_v(__a, 33); } |
| 488 __ai int32x4_t vmovl_s16(int16x4_t __a) { |
| 489 return (int32x4_t)__builtin_neon_vmovl_v((int8x8_t)__a, 34); } |
| 490 __ai int64x2_t vmovl_s32(int32x2_t __a) { |
| 491 return (int64x2_t)__builtin_neon_vmovl_v((int8x8_t)__a, 35); } |
| 492 __ai uint16x8_t vmovl_u8(uint8x8_t __a) { |
| 493 return (uint16x8_t)__builtin_neon_vmovl_v((int8x8_t)__a, 49); } |
| 494 __ai uint32x4_t vmovl_u16(uint16x4_t __a) { |
| 495 return (uint32x4_t)__builtin_neon_vmovl_v((int8x8_t)__a, 50); } |
| 496 __ai uint64x2_t vmovl_u32(uint32x2_t __a) { |
| 497 return (uint64x2_t)__builtin_neon_vmovl_v((int8x8_t)__a, 51); } |
| 498 |
| 499 __ai int16x8_t vabdl_s8(int8x8_t __a, int8x8_t __b) { |
| 500 return (int16x8_t)vmovl_u8((uint8x8_t)vabd_s8(__a, __b)); } |
| 501 __ai int32x4_t vabdl_s16(int16x4_t __a, int16x4_t __b) { |
| 502 return (int32x4_t)vmovl_u16((uint16x4_t)vabd_s16(__a, __b)); } |
| 503 __ai int64x2_t vabdl_s32(int32x2_t __a, int32x2_t __b) { |
| 504 return (int64x2_t)vmovl_u32((uint32x2_t)vabd_s32(__a, __b)); } |
| 505 __ai uint16x8_t vabdl_u8(uint8x8_t __a, uint8x8_t __b) { |
| 506 return vmovl_u8(vabd_u8(__a, __b)); } |
| 507 __ai uint32x4_t vabdl_u16(uint16x4_t __a, uint16x4_t __b) { |
| 508 return vmovl_u16(vabd_u16(__a, __b)); } |
| 509 __ai uint64x2_t vabdl_u32(uint32x2_t __a, uint32x2_t __b) { |
| 510 return vmovl_u32(vabd_u32(__a, __b)); } |
| 511 |
| 512 __ai int8x8_t vget_high_s8(int8x16_t __a) { |
| 513 return __builtin_shufflevector(__a, __a, 8, 9, 10, 11, 12, 13, 14, 15); } |
| 514 __ai int16x4_t vget_high_s16(int16x8_t __a) { |
| 515 return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); } |
| 516 __ai int32x2_t vget_high_s32(int32x4_t __a) { |
| 517 return __builtin_shufflevector(__a, __a, 2, 3); } |
| 518 __ai int64x1_t vget_high_s64(int64x2_t __a) { |
| 519 return __builtin_shufflevector(__a, __a, 1); } |
| 520 __ai float16x4_t vget_high_f16(float16x8_t __a) { |
| 521 return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); } |
| 522 __ai float32x2_t vget_high_f32(float32x4_t __a) { |
| 523 return __builtin_shufflevector(__a, __a, 2, 3); } |
| 524 __ai uint8x8_t vget_high_u8(uint8x16_t __a) { |
| 525 return __builtin_shufflevector(__a, __a, 8, 9, 10, 11, 12, 13, 14, 15); } |
| 526 __ai uint16x4_t vget_high_u16(uint16x8_t __a) { |
| 527 return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); } |
| 528 __ai uint32x2_t vget_high_u32(uint32x4_t __a) { |
| 529 return __builtin_shufflevector(__a, __a, 2, 3); } |
| 530 __ai uint64x1_t vget_high_u64(uint64x2_t __a) { |
| 531 return __builtin_shufflevector(__a, __a, 1); } |
| 532 __ai poly8x8_t vget_high_p8(poly8x16_t __a) { |
| 533 return __builtin_shufflevector(__a, __a, 8, 9, 10, 11, 12, 13, 14, 15); } |
| 534 __ai poly16x4_t vget_high_p16(poly16x8_t __a) { |
| 535 return __builtin_shufflevector(__a, __a, 4, 5, 6, 7); } |
| 536 |
| 537 __ai int8x16_t vcombine_s8(int8x8_t __a, int8x8_t __b) { |
| 538 return (int8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1
); } |
| 539 __ai int16x8_t vcombine_s16(int16x4_t __a, int16x4_t __b) { |
| 540 return (int16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1
); } |
| 541 __ai int32x4_t vcombine_s32(int32x2_t __a, int32x2_t __b) { |
| 542 return (int32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1
); } |
| 543 __ai int64x2_t vcombine_s64(int64x1_t __a, int64x1_t __b) { |
| 544 return (int64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0, 1
); } |
| 545 __ai float16x8_t vcombine_f16(float16x4_t __a, float16x4_t __b) { |
| 546 return (float16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0,
1); } |
| 547 __ai float32x4_t vcombine_f32(float32x2_t __a, float32x2_t __b) { |
| 548 return (float32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0,
1); } |
| 549 __ai uint8x16_t vcombine_u8(uint8x8_t __a, uint8x8_t __b) { |
| 550 return (uint8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0,
1); } |
| 551 __ai uint16x8_t vcombine_u16(uint16x4_t __a, uint16x4_t __b) { |
| 552 return (uint16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0,
1); } |
| 553 __ai uint32x4_t vcombine_u32(uint32x2_t __a, uint32x2_t __b) { |
| 554 return (uint32x4_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0,
1); } |
| 555 __ai uint64x2_t vcombine_u64(uint64x1_t __a, uint64x1_t __b) { |
| 556 return (uint64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0,
1); } |
| 557 __ai poly8x16_t vcombine_p8(poly8x8_t __a, poly8x8_t __b) { |
| 558 return (poly8x16_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0,
1); } |
| 559 __ai poly16x8_t vcombine_p16(poly16x4_t __a, poly16x4_t __b) { |
| 560 return (poly16x8_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0,
1); } |
| 561 |
| 562 #define vshll_n_s8(a, __b) __extension__ ({ \ |
| 563 int8x8_t __a = (a); \ |
| 564 (int16x8_t)__builtin_neon_vshll_n_v(__a, __b, 33); }) |
| 565 #define vshll_n_s16(a, __b) __extension__ ({ \ |
| 566 int16x4_t __a = (a); \ |
| 567 (int32x4_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 34); }) |
| 568 #define vshll_n_s32(a, __b) __extension__ ({ \ |
| 569 int32x2_t __a = (a); \ |
| 570 (int64x2_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 35); }) |
| 571 #define vshll_n_u8(a, __b) __extension__ ({ \ |
| 572 uint8x8_t __a = (a); \ |
| 573 (uint16x8_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 49); }) |
| 574 #define vshll_n_u16(a, __b) __extension__ ({ \ |
| 575 uint16x4_t __a = (a); \ |
| 576 (uint32x4_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 50); }) |
| 577 #define vshll_n_u32(a, __b) __extension__ ({ \ |
| 578 uint32x2_t __a = (a); \ |
| 579 (uint64x2_t)__builtin_neon_vshll_n_v((int8x8_t)__a, __b, 51); }) |
| 580 |
| 581 #if defined(__aarch64__) |
| 582 __ai int16x8_t vmovl_high_s8(int8x16_t __a) { |
| 583 int8x8_t __a1 = vget_high_s8(__a); |
| 584 return (int16x8_t)vshll_n_s8(__a1, 0); } |
| 585 __ai int32x4_t vmovl_high_s16(int16x8_t __a) { |
| 586 int16x4_t __a1 = vget_high_s16(__a); |
| 587 return (int32x4_t)vshll_n_s16(__a1, 0); } |
| 588 __ai int64x2_t vmovl_high_s32(int32x4_t __a) { |
| 589 int32x2_t __a1 = vget_high_s32(__a); |
| 590 return (int64x2_t)vshll_n_s32(__a1, 0); } |
| 591 __ai uint16x8_t vmovl_high_u8(uint8x16_t __a) { |
| 592 uint8x8_t __a1 = vget_high_u8(__a); |
| 593 return (uint16x8_t)vshll_n_u8(__a1, 0); } |
| 594 __ai uint32x4_t vmovl_high_u16(uint16x8_t __a) { |
| 595 uint16x4_t __a1 = vget_high_u16(__a); |
| 596 return (uint32x4_t)vshll_n_u16(__a1, 0); } |
| 597 __ai uint64x2_t vmovl_high_u32(uint32x4_t __a) { |
| 598 uint32x2_t __a1 = vget_high_u32(__a); |
| 599 return (uint64x2_t)vshll_n_u32(__a1, 0); } |
| 600 |
| 601 #endif |
| 602 |
| 603 __ai int16x8_t vmull_s8(int8x8_t __a, int8x8_t __b) { |
| 604 return (int16x8_t)__builtin_neon_vmull_v(__a, __b, 33); } |
| 605 __ai int32x4_t vmull_s16(int16x4_t __a, int16x4_t __b) { |
| 606 return (int32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 34); } |
| 607 __ai int64x2_t vmull_s32(int32x2_t __a, int32x2_t __b) { |
| 608 return (int64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 35); } |
| 609 __ai uint16x8_t vmull_u8(uint8x8_t __a, uint8x8_t __b) { |
| 610 return (uint16x8_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 49); } |
| 611 __ai uint32x4_t vmull_u16(uint16x4_t __a, uint16x4_t __b) { |
| 612 return (uint32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 50); } |
| 613 __ai uint64x2_t vmull_u32(uint32x2_t __a, uint32x2_t __b) { |
| 614 return (uint64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 51); } |
| 615 __ai poly16x8_t vmull_p8(poly8x8_t __a, poly8x8_t __b) { |
| 616 return (poly16x8_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)__b, 37); } |
| 617 |
| 618 __ai int32x4_t vmlal_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) { |
| 619 return __a + vmull_s16(__b, (int16x4_t){ __c, __c, __c, __c }); } |
| 620 __ai int64x2_t vmlal_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) { |
| 621 return __a + vmull_s32(__b, (int32x2_t){ __c, __c }); } |
| 622 __ai uint32x4_t vmlal_n_u16(uint32x4_t __a, uint16x4_t __b, uint16_t __c) { |
| 623 return __a + vmull_u16(__b, (uint16x4_t){ __c, __c, __c, __c }); } |
| 624 __ai uint64x2_t vmlal_n_u32(uint64x2_t __a, uint32x2_t __b, uint32_t __c) { |
| 625 return __a + vmull_u32(__b, (uint32x2_t){ __c, __c }); } |
| 626 |
| 627 __ai int32x4_t vmlsl_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) { |
| 628 return __a - vmull_s16(__b, (int16x4_t){ __c, __c, __c, __c }); } |
| 629 __ai int64x2_t vmlsl_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) { |
| 630 return __a - vmull_s32(__b, (int32x2_t){ __c, __c }); } |
| 631 __ai uint32x4_t vmlsl_n_u16(uint32x4_t __a, uint16x4_t __b, uint16_t __c) { |
| 632 return __a - vmull_u16(__b, (uint16x4_t){ __c, __c, __c, __c }); } |
| 633 __ai uint64x2_t vmlsl_n_u32(uint64x2_t __a, uint32x2_t __b, uint32_t __c) { |
| 634 return __a - vmull_u32(__b, (uint32x2_t){ __c, __c }); } |
| 635 |
| 636 __ai int32x4_t vmull_n_s16(int16x4_t __a, int16_t __b) { |
| 637 return (int32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(int16x4_t){
__b, __b, __b, __b }, 34); } |
| 638 __ai int64x2_t vmull_n_s32(int32x2_t __a, int32_t __b) { |
| 639 return (int64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(int32x2_t){
__b, __b }, 35); } |
| 640 __ai uint32x4_t vmull_n_u16(uint16x4_t __a, uint16_t __b) { |
| 641 return (uint32x4_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(uint16x4_t
){ __b, __b, __b, __b }, 50); } |
| 642 __ai uint64x2_t vmull_n_u32(uint32x2_t __a, uint32_t __b) { |
| 643 return (uint64x2_t)__builtin_neon_vmull_v((int8x8_t)__a, (int8x8_t)(uint32x2_t
){ __b, __b }, 51); } |
| 644 |
| 645 #if defined(__aarch64__) |
| 646 __ai poly128_t vmull_p64(poly64_t __a, poly64_t __b) { |
| 647 return (poly128_t)__builtin_neon_vmull_p64(__a, __b); } |
| 648 |
| 649 #endif |
| 650 |
| 651 __ai int32x4_t vqdmlal_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) { |
| 652 return (int32x4_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int
8x8_t)(int16x4_t){ __c, __c, __c, __c }, 34); } |
| 653 __ai int64x2_t vqdmlal_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) { |
| 654 return (int64x2_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int
8x8_t)(int32x2_t){ __c, __c }, 35); } |
| 655 |
| 656 __ai int32x4_t vqdmlsl_n_s16(int32x4_t __a, int16x4_t __b, int16_t __c) { |
| 657 return (int32x4_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int
8x8_t)(int16x4_t){ __c, __c, __c, __c }, 34); } |
| 658 __ai int64x2_t vqdmlsl_n_s32(int64x2_t __a, int32x2_t __b, int32_t __c) { |
| 659 return (int64x2_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int
8x8_t)(int32x2_t){ __c, __c }, 35); } |
| 660 |
| 661 __ai int32x4_t vqdmull_n_s16(int16x4_t __a, int16_t __b) { |
| 662 return (int32x4_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)(int16x4_t
){ __b, __b, __b, __b }, 34); } |
| 663 __ai int64x2_t vqdmull_n_s32(int32x2_t __a, int32_t __b) { |
| 664 return (int64x2_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)(int32x2_t
){ __b, __b }, 35); } |
| 665 |
| 666 #if defined(__aarch64__) |
| 667 __ai float64x1_t vabd_f64(float64x1_t __a, float64x1_t __b) { |
| 668 return (float64x1_t)__builtin_neon_vabd_v((int8x8_t)__a, (int8x8_t)__b, 10); } |
| 669 __ai float64x2_t vabdq_f64(float64x2_t __a, float64x2_t __b) { |
| 670 return (float64x2_t)__builtin_neon_vabdq_v((int8x16_t)__a, (int8x16_t)__b, 42)
; } |
| 671 |
| 672 __ai float64x1_t vabs_f64(float64x1_t __a) { |
| 673 return (float64x1_t)__builtin_neon_vabs_v((int8x8_t)__a, 10); } |
| 674 __ai float64x2_t vabsq_f64(float64x2_t __a) { |
| 675 return (float64x2_t)__builtin_neon_vabsq_v((int8x16_t)__a, 42); } |
| 676 __ai int64x1_t vabs_s64(int64x1_t __a) { |
| 677 return (int64x1_t)__builtin_neon_vabs_v((int8x8_t)__a, 3); } |
| 678 __ai int64x2_t vabsq_s64(int64x2_t __a) { |
| 679 return (int64x2_t)__builtin_neon_vabsq_v((int8x16_t)__a, 35); } |
| 680 |
| 681 __ai float64x1_t vadd_f64(float64x1_t __a, float64x1_t __b) { |
| 682 return __a + __b; } |
| 683 __ai float64x2_t vaddq_f64(float64x2_t __a, float64x2_t __b) { |
| 684 return __a + __b; } |
| 685 |
| 686 __ai int8x16_t vpaddq_s8(int8x16_t __a, int8x16_t __b) { |
| 687 return (int8x16_t)__builtin_neon_vpaddq_v(__a, __b, 32); } |
| 688 __ai int16x8_t vpaddq_s16(int16x8_t __a, int16x8_t __b) { |
| 689 return (int16x8_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 690 __ai int32x4_t vpaddq_s32(int32x4_t __a, int32x4_t __b) { |
| 691 return (int32x4_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 692 __ai int64x2_t vpaddq_s64(int64x2_t __a, int64x2_t __b) { |
| 693 return (int64x2_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 35);
} |
| 694 __ai uint8x16_t vpaddq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 695 return (uint8x16_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 48)
; } |
| 696 __ai uint16x8_t vpaddq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 697 return (uint16x8_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 49)
; } |
| 698 __ai uint32x4_t vpaddq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 699 return (uint32x4_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 700 __ai uint64x2_t vpaddq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 701 return (uint64x2_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 51)
; } |
| 702 __ai float32x4_t vpaddq_f32(float32x4_t __a, float32x4_t __b) { |
| 703 return (float32x4_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 41
); } |
| 704 __ai float64x2_t vpaddq_f64(float64x2_t __a, float64x2_t __b) { |
| 705 return (float64x2_t)__builtin_neon_vpaddq_v((int8x16_t)__a, (int8x16_t)__b, 42
); } |
| 706 |
| 707 #endif |
| 708 |
| 709 #if __ARM_FEATURE_CRYPTO |
| 710 __ai uint8x16_t vaesdq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 711 return (uint8x16_t)__builtin_neon_vaesdq_v((int8x16_t)__a, (int8x16_t)__b, 48)
; } |
| 712 |
| 713 __ai uint8x16_t vaeseq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 714 return (uint8x16_t)__builtin_neon_vaeseq_v((int8x16_t)__a, (int8x16_t)__b, 48)
; } |
| 715 |
| 716 __ai uint8x16_t vaesimcq_u8(uint8x16_t __a) { |
| 717 return (uint8x16_t)__builtin_neon_vaesimcq_v((int8x16_t)__a, 48); } |
| 718 |
| 719 __ai uint8x16_t vaesmcq_u8(uint8x16_t __a) { |
| 720 return (uint8x16_t)__builtin_neon_vaesmcq_v((int8x16_t)__a, 48); } |
| 721 |
| 722 #endif |
| 723 |
| 724 #if defined(__aarch64__) |
| 725 __ai float64x1_t vbsl_f64(uint64x1_t __a, float64x1_t __b, float64x1_t __c) { |
| 726 return (float64x1_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x
8_t)__c, 10); } |
| 727 __ai poly64x1_t vbsl_p64(uint64x1_t __a, poly64x1_t __b, poly64x1_t __c) { |
| 728 return (poly64x1_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8
_t)__c, 6); } |
| 729 __ai float64x2_t vbslq_f64(uint64x2_t __a, float64x2_t __b, float64x2_t __c) { |
| 730 return (float64x2_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (in
t8x16_t)__c, 42); } |
| 731 __ai poly64x2_t vbslq_p64(uint64x2_t __a, poly64x2_t __b, poly64x2_t __c) { |
| 732 return (poly64x2_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int
8x16_t)__c, 38); } |
| 733 |
| 734 __ai uint64x1_t vceq_s64(int64x1_t __a, int64x1_t __b) { |
| 735 return (uint64x1_t)(__a == __b); } |
| 736 __ai uint64x1_t vceq_u64(uint64x1_t __a, uint64x1_t __b) { |
| 737 return (uint64x1_t)(__a == __b); } |
| 738 __ai uint64x1_t vceq_f64(float64x1_t __a, float64x1_t __b) { |
| 739 return (uint64x1_t)(__a == __b); } |
| 740 __ai uint64x2_t vceqq_f64(float64x2_t __a, float64x2_t __b) { |
| 741 return (uint64x2_t)(__a == __b); } |
| 742 __ai uint64x2_t vceqq_s64(int64x2_t __a, int64x2_t __b) { |
| 743 return (uint64x2_t)(__a == __b); } |
| 744 __ai uint64x2_t vceqq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 745 return (uint64x2_t)(__a == __b); } |
| 746 __ai uint64x1_t vceq_p64(poly64x1_t __a, poly64x1_t __b) { |
| 747 return (uint64x1_t)(__a == __b); } |
| 748 __ai uint64x2_t vceqq_p64(poly64x2_t __a, poly64x2_t __b) { |
| 749 return (uint64x2_t)(__a == __b); } |
| 750 |
| 751 __ai uint64x1_t vcge_s64(int64x1_t __a, int64x1_t __b) { |
| 752 return (uint64x1_t)(__a >= __b); } |
| 753 __ai uint64x1_t vcge_u64(uint64x1_t __a, uint64x1_t __b) { |
| 754 return (uint64x1_t)(__a >= __b); } |
| 755 __ai uint64x1_t vcge_f64(float64x1_t __a, float64x1_t __b) { |
| 756 return (uint64x1_t)(__a >= __b); } |
| 757 __ai uint64x2_t vcgeq_f64(float64x2_t __a, float64x2_t __b) { |
| 758 return (uint64x2_t)(__a >= __b); } |
| 759 __ai uint64x2_t vcgeq_s64(int64x2_t __a, int64x2_t __b) { |
| 760 return (uint64x2_t)(__a >= __b); } |
| 761 __ai uint64x2_t vcgeq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 762 return (uint64x2_t)(__a >= __b); } |
| 763 |
| 764 __ai uint64x1_t vcgt_s64(int64x1_t __a, int64x1_t __b) { |
| 765 return (uint64x1_t)(__a > __b); } |
| 766 __ai uint64x1_t vcgt_u64(uint64x1_t __a, uint64x1_t __b) { |
| 767 return (uint64x1_t)(__a > __b); } |
| 768 __ai uint64x1_t vcgt_f64(float64x1_t __a, float64x1_t __b) { |
| 769 return (uint64x1_t)(__a > __b); } |
| 770 __ai uint64x2_t vcgtq_f64(float64x2_t __a, float64x2_t __b) { |
| 771 return (uint64x2_t)(__a > __b); } |
| 772 __ai uint64x2_t vcgtq_s64(int64x2_t __a, int64x2_t __b) { |
| 773 return (uint64x2_t)(__a > __b); } |
| 774 __ai uint64x2_t vcgtq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 775 return (uint64x2_t)(__a > __b); } |
| 776 |
| 777 __ai uint64x1_t vcle_s64(int64x1_t __a, int64x1_t __b) { |
| 778 return (uint64x1_t)(__a <= __b); } |
| 779 __ai uint64x1_t vcle_u64(uint64x1_t __a, uint64x1_t __b) { |
| 780 return (uint64x1_t)(__a <= __b); } |
| 781 __ai uint64x1_t vcle_f64(float64x1_t __a, float64x1_t __b) { |
| 782 return (uint64x1_t)(__a <= __b); } |
| 783 __ai uint64x2_t vcleq_f64(float64x2_t __a, float64x2_t __b) { |
| 784 return (uint64x2_t)(__a <= __b); } |
| 785 __ai uint64x2_t vcleq_s64(int64x2_t __a, int64x2_t __b) { |
| 786 return (uint64x2_t)(__a <= __b); } |
| 787 __ai uint64x2_t vcleq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 788 return (uint64x2_t)(__a <= __b); } |
| 789 |
| 790 __ai uint64x1_t vclt_s64(int64x1_t __a, int64x1_t __b) { |
| 791 return (uint64x1_t)(__a < __b); } |
| 792 __ai uint64x1_t vclt_u64(uint64x1_t __a, uint64x1_t __b) { |
| 793 return (uint64x1_t)(__a < __b); } |
| 794 __ai uint64x1_t vclt_f64(float64x1_t __a, float64x1_t __b) { |
| 795 return (uint64x1_t)(__a < __b); } |
| 796 __ai uint64x2_t vcltq_f64(float64x2_t __a, float64x2_t __b) { |
| 797 return (uint64x2_t)(__a < __b); } |
| 798 __ai uint64x2_t vcltq_s64(int64x2_t __a, int64x2_t __b) { |
| 799 return (uint64x2_t)(__a < __b); } |
| 800 __ai uint64x2_t vcltq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 801 return (uint64x2_t)(__a < __b); } |
| 802 |
| 803 __ai uint8x8_t vceqz_s8(int8x8_t __a) { |
| 804 return (uint8x8_t)__builtin_neon_vceqz_v(__a, 16); } |
| 805 __ai uint16x4_t vceqz_s16(int16x4_t __a) { |
| 806 return (uint16x4_t)__builtin_neon_vceqz_v((int8x8_t)__a, 17); } |
| 807 __ai uint32x2_t vceqz_s32(int32x2_t __a) { |
| 808 return (uint32x2_t)__builtin_neon_vceqz_v((int8x8_t)__a, 18); } |
| 809 __ai uint64x1_t vceqz_s64(int64x1_t __a) { |
| 810 return (uint64x1_t)__builtin_neon_vceqz_v((int8x8_t)__a, 19); } |
| 811 __ai uint32x2_t vceqz_f32(float32x2_t __a) { |
| 812 return (uint32x2_t)__builtin_neon_vceqz_v((int8x8_t)__a, 18); } |
| 813 __ai uint8x8_t vceqz_u8(uint8x8_t __a) { |
| 814 return (uint8x8_t)__builtin_neon_vceqz_v((int8x8_t)__a, 16); } |
| 815 __ai uint16x4_t vceqz_u16(uint16x4_t __a) { |
| 816 return (uint16x4_t)__builtin_neon_vceqz_v((int8x8_t)__a, 17); } |
| 817 __ai uint32x2_t vceqz_u32(uint32x2_t __a) { |
| 818 return (uint32x2_t)__builtin_neon_vceqz_v((int8x8_t)__a, 18); } |
| 819 __ai uint64x1_t vceqz_u64(uint64x1_t __a) { |
| 820 return (uint64x1_t)__builtin_neon_vceqz_v((int8x8_t)__a, 19); } |
| 821 __ai uint8x8_t vceqz_p8(poly8x8_t __a) { |
| 822 return (uint8x8_t)__builtin_neon_vceqz_v((int8x8_t)__a, 16); } |
| 823 __ai uint16x4_t vceqz_p16(poly16x4_t __a) { |
| 824 return (uint16x4_t)__builtin_neon_vceqz_v((int8x8_t)__a, 17); } |
| 825 __ai uint64x1_t vceqz_p64(poly64x1_t __a) { |
| 826 return (uint64x1_t)__builtin_neon_vceqz_v((int8x8_t)__a, 19); } |
| 827 __ai uint8x16_t vceqzq_s8(int8x16_t __a) { |
| 828 return (uint8x16_t)__builtin_neon_vceqzq_v(__a, 48); } |
| 829 __ai uint16x8_t vceqzq_s16(int16x8_t __a) { |
| 830 return (uint16x8_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 49); } |
| 831 __ai uint32x4_t vceqzq_s32(int32x4_t __a) { |
| 832 return (uint32x4_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 50); } |
| 833 __ai uint64x2_t vceqzq_s64(int64x2_t __a) { |
| 834 return (uint64x2_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 51); } |
| 835 __ai uint32x4_t vceqzq_f32(float32x4_t __a) { |
| 836 return (uint32x4_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 50); } |
| 837 __ai uint8x16_t vceqzq_u8(uint8x16_t __a) { |
| 838 return (uint8x16_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 48); } |
| 839 __ai uint16x8_t vceqzq_u16(uint16x8_t __a) { |
| 840 return (uint16x8_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 49); } |
| 841 __ai uint32x4_t vceqzq_u32(uint32x4_t __a) { |
| 842 return (uint32x4_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 50); } |
| 843 __ai uint64x2_t vceqzq_u64(uint64x2_t __a) { |
| 844 return (uint64x2_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 51); } |
| 845 __ai uint8x16_t vceqzq_p8(poly8x16_t __a) { |
| 846 return (uint8x16_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 48); } |
| 847 __ai uint16x8_t vceqzq_p16(poly16x8_t __a) { |
| 848 return (uint16x8_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 49); } |
| 849 __ai uint64x1_t vceqz_f64(float64x1_t __a) { |
| 850 return (uint64x1_t)__builtin_neon_vceqz_v((int8x8_t)__a, 19); } |
| 851 __ai uint64x2_t vceqzq_f64(float64x2_t __a) { |
| 852 return (uint64x2_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 51); } |
| 853 __ai uint64x2_t vceqzq_p64(poly64x2_t __a) { |
| 854 return (uint64x2_t)__builtin_neon_vceqzq_v((int8x16_t)__a, 51); } |
| 855 |
| 856 __ai uint8x8_t vcgez_s8(int8x8_t __a) { |
| 857 return (uint8x8_t)__builtin_neon_vcgez_v(__a, 16); } |
| 858 __ai uint16x4_t vcgez_s16(int16x4_t __a) { |
| 859 return (uint16x4_t)__builtin_neon_vcgez_v((int8x8_t)__a, 17); } |
| 860 __ai uint32x2_t vcgez_s32(int32x2_t __a) { |
| 861 return (uint32x2_t)__builtin_neon_vcgez_v((int8x8_t)__a, 18); } |
| 862 __ai uint64x1_t vcgez_s64(int64x1_t __a) { |
| 863 return (uint64x1_t)__builtin_neon_vcgez_v((int8x8_t)__a, 19); } |
| 864 __ai uint32x2_t vcgez_f32(float32x2_t __a) { |
| 865 return (uint32x2_t)__builtin_neon_vcgez_v((int8x8_t)__a, 18); } |
| 866 __ai uint64x1_t vcgez_f64(float64x1_t __a) { |
| 867 return (uint64x1_t)__builtin_neon_vcgez_v((int8x8_t)__a, 19); } |
| 868 __ai uint8x16_t vcgezq_s8(int8x16_t __a) { |
| 869 return (uint8x16_t)__builtin_neon_vcgezq_v(__a, 48); } |
| 870 __ai uint16x8_t vcgezq_s16(int16x8_t __a) { |
| 871 return (uint16x8_t)__builtin_neon_vcgezq_v((int8x16_t)__a, 49); } |
| 872 __ai uint32x4_t vcgezq_s32(int32x4_t __a) { |
| 873 return (uint32x4_t)__builtin_neon_vcgezq_v((int8x16_t)__a, 50); } |
| 874 __ai uint64x2_t vcgezq_s64(int64x2_t __a) { |
| 875 return (uint64x2_t)__builtin_neon_vcgezq_v((int8x16_t)__a, 51); } |
| 876 __ai uint32x4_t vcgezq_f32(float32x4_t __a) { |
| 877 return (uint32x4_t)__builtin_neon_vcgezq_v((int8x16_t)__a, 50); } |
| 878 __ai uint64x2_t vcgezq_f64(float64x2_t __a) { |
| 879 return (uint64x2_t)__builtin_neon_vcgezq_v((int8x16_t)__a, 51); } |
| 880 |
| 881 __ai uint8x8_t vcgtz_s8(int8x8_t __a) { |
| 882 return (uint8x8_t)__builtin_neon_vcgtz_v(__a, 16); } |
| 883 __ai uint16x4_t vcgtz_s16(int16x4_t __a) { |
| 884 return (uint16x4_t)__builtin_neon_vcgtz_v((int8x8_t)__a, 17); } |
| 885 __ai uint32x2_t vcgtz_s32(int32x2_t __a) { |
| 886 return (uint32x2_t)__builtin_neon_vcgtz_v((int8x8_t)__a, 18); } |
| 887 __ai uint64x1_t vcgtz_s64(int64x1_t __a) { |
| 888 return (uint64x1_t)__builtin_neon_vcgtz_v((int8x8_t)__a, 19); } |
| 889 __ai uint32x2_t vcgtz_f32(float32x2_t __a) { |
| 890 return (uint32x2_t)__builtin_neon_vcgtz_v((int8x8_t)__a, 18); } |
| 891 __ai uint64x1_t vcgtz_f64(float64x1_t __a) { |
| 892 return (uint64x1_t)__builtin_neon_vcgtz_v((int8x8_t)__a, 19); } |
| 893 __ai uint8x16_t vcgtzq_s8(int8x16_t __a) { |
| 894 return (uint8x16_t)__builtin_neon_vcgtzq_v(__a, 48); } |
| 895 __ai uint16x8_t vcgtzq_s16(int16x8_t __a) { |
| 896 return (uint16x8_t)__builtin_neon_vcgtzq_v((int8x16_t)__a, 49); } |
| 897 __ai uint32x4_t vcgtzq_s32(int32x4_t __a) { |
| 898 return (uint32x4_t)__builtin_neon_vcgtzq_v((int8x16_t)__a, 50); } |
| 899 __ai uint64x2_t vcgtzq_s64(int64x2_t __a) { |
| 900 return (uint64x2_t)__builtin_neon_vcgtzq_v((int8x16_t)__a, 51); } |
| 901 __ai uint32x4_t vcgtzq_f32(float32x4_t __a) { |
| 902 return (uint32x4_t)__builtin_neon_vcgtzq_v((int8x16_t)__a, 50); } |
| 903 __ai uint64x2_t vcgtzq_f64(float64x2_t __a) { |
| 904 return (uint64x2_t)__builtin_neon_vcgtzq_v((int8x16_t)__a, 51); } |
| 905 |
| 906 __ai uint8x8_t vclez_s8(int8x8_t __a) { |
| 907 return (uint8x8_t)__builtin_neon_vclez_v(__a, 16); } |
| 908 __ai uint16x4_t vclez_s16(int16x4_t __a) { |
| 909 return (uint16x4_t)__builtin_neon_vclez_v((int8x8_t)__a, 17); } |
| 910 __ai uint32x2_t vclez_s32(int32x2_t __a) { |
| 911 return (uint32x2_t)__builtin_neon_vclez_v((int8x8_t)__a, 18); } |
| 912 __ai uint64x1_t vclez_s64(int64x1_t __a) { |
| 913 return (uint64x1_t)__builtin_neon_vclez_v((int8x8_t)__a, 19); } |
| 914 __ai uint32x2_t vclez_f32(float32x2_t __a) { |
| 915 return (uint32x2_t)__builtin_neon_vclez_v((int8x8_t)__a, 18); } |
| 916 __ai uint64x1_t vclez_f64(float64x1_t __a) { |
| 917 return (uint64x1_t)__builtin_neon_vclez_v((int8x8_t)__a, 19); } |
| 918 __ai uint8x16_t vclezq_s8(int8x16_t __a) { |
| 919 return (uint8x16_t)__builtin_neon_vclezq_v(__a, 48); } |
| 920 __ai uint16x8_t vclezq_s16(int16x8_t __a) { |
| 921 return (uint16x8_t)__builtin_neon_vclezq_v((int8x16_t)__a, 49); } |
| 922 __ai uint32x4_t vclezq_s32(int32x4_t __a) { |
| 923 return (uint32x4_t)__builtin_neon_vclezq_v((int8x16_t)__a, 50); } |
| 924 __ai uint64x2_t vclezq_s64(int64x2_t __a) { |
| 925 return (uint64x2_t)__builtin_neon_vclezq_v((int8x16_t)__a, 51); } |
| 926 __ai uint32x4_t vclezq_f32(float32x4_t __a) { |
| 927 return (uint32x4_t)__builtin_neon_vclezq_v((int8x16_t)__a, 50); } |
| 928 __ai uint64x2_t vclezq_f64(float64x2_t __a) { |
| 929 return (uint64x2_t)__builtin_neon_vclezq_v((int8x16_t)__a, 51); } |
| 930 |
| 931 __ai uint8x8_t vcltz_s8(int8x8_t __a) { |
| 932 return (uint8x8_t)__builtin_neon_vcltz_v(__a, 16); } |
| 933 __ai uint16x4_t vcltz_s16(int16x4_t __a) { |
| 934 return (uint16x4_t)__builtin_neon_vcltz_v((int8x8_t)__a, 17); } |
| 935 __ai uint32x2_t vcltz_s32(int32x2_t __a) { |
| 936 return (uint32x2_t)__builtin_neon_vcltz_v((int8x8_t)__a, 18); } |
| 937 __ai uint64x1_t vcltz_s64(int64x1_t __a) { |
| 938 return (uint64x1_t)__builtin_neon_vcltz_v((int8x8_t)__a, 19); } |
| 939 __ai uint32x2_t vcltz_f32(float32x2_t __a) { |
| 940 return (uint32x2_t)__builtin_neon_vcltz_v((int8x8_t)__a, 18); } |
| 941 __ai uint64x1_t vcltz_f64(float64x1_t __a) { |
| 942 return (uint64x1_t)__builtin_neon_vcltz_v((int8x8_t)__a, 19); } |
| 943 __ai uint8x16_t vcltzq_s8(int8x16_t __a) { |
| 944 return (uint8x16_t)__builtin_neon_vcltzq_v(__a, 48); } |
| 945 __ai uint16x8_t vcltzq_s16(int16x8_t __a) { |
| 946 return (uint16x8_t)__builtin_neon_vcltzq_v((int8x16_t)__a, 49); } |
| 947 __ai uint32x4_t vcltzq_s32(int32x4_t __a) { |
| 948 return (uint32x4_t)__builtin_neon_vcltzq_v((int8x16_t)__a, 50); } |
| 949 __ai uint64x2_t vcltzq_s64(int64x2_t __a) { |
| 950 return (uint64x2_t)__builtin_neon_vcltzq_v((int8x16_t)__a, 51); } |
| 951 __ai uint32x4_t vcltzq_f32(float32x4_t __a) { |
| 952 return (uint32x4_t)__builtin_neon_vcltzq_v((int8x16_t)__a, 50); } |
| 953 __ai uint64x2_t vcltzq_f64(float64x2_t __a) { |
| 954 return (uint64x2_t)__builtin_neon_vcltzq_v((int8x16_t)__a, 51); } |
| 955 |
| 956 __ai uint64x1_t vtst_s64(int64x1_t __a, int64x1_t __b) { |
| 957 return (uint64x1_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 958 __ai uint64x1_t vtst_u64(uint64x1_t __a, uint64x1_t __b) { |
| 959 return (uint64x1_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 960 __ai uint64x1_t vtst_p64(poly64x1_t __a, poly64x1_t __b) { |
| 961 return (uint64x1_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 962 __ai uint64x2_t vtstq_s64(int64x2_t __a, int64x2_t __b) { |
| 963 return (uint64x2_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 51);
} |
| 964 __ai uint64x2_t vtstq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 965 return (uint64x2_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 51);
} |
| 966 __ai uint64x2_t vtstq_p64(poly64x2_t __a, poly64x2_t __b) { |
| 967 return (uint64x2_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 51);
} |
| 968 |
| 969 __ai float64x2_t vcombine_f64(float64x1_t __a, float64x1_t __b) { |
| 970 return (float64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0,
1); } |
| 971 __ai poly64x2_t vcombine_p64(poly64x1_t __a, poly64x1_t __b) { |
| 972 return (poly64x2_t)__builtin_shufflevector((int64x1_t)__a, (int64x1_t)__b, 0,
1); } |
| 973 |
| 974 #define vcopyq_lane_s8(a, __b, c, __d) __extension__ ({ \ |
| 975 int8x16_t __a = (a); int8x8_t __c = (c); \ |
| 976 int8x16_t __a1 = __a; \ |
| 977 int8x8_t __c1 = __c; \ |
| 978 int8_t __c2 = vget_lane_s8(__c1, __d); \ |
| 979 vsetq_lane_s8(__c2, __a1, __b); }) |
| 980 #define vcopyq_lane_s16(a, __b, c, __d) __extension__ ({ \ |
| 981 int16x8_t __a = (a); int16x4_t __c = (c); \ |
| 982 int16x8_t __a1 = __a; \ |
| 983 int16x4_t __c1 = __c; \ |
| 984 int16_t __c2 = vget_lane_s16(__c1, __d); \ |
| 985 vsetq_lane_s16(__c2, __a1, __b); }) |
| 986 #define vcopyq_lane_s32(a, __b, c, __d) __extension__ ({ \ |
| 987 int32x4_t __a = (a); int32x2_t __c = (c); \ |
| 988 int32x4_t __a1 = __a; \ |
| 989 int32x2_t __c1 = __c; \ |
| 990 int32_t __c2 = vget_lane_s32(__c1, __d); \ |
| 991 vsetq_lane_s32(__c2, __a1, __b); }) |
| 992 #define vcopyq_lane_s64(a, __b, c, __d) __extension__ ({ \ |
| 993 int64x2_t __a = (a); int64x1_t __c = (c); \ |
| 994 int64x2_t __a1 = __a; \ |
| 995 int64x1_t __c1 = __c; \ |
| 996 int64_t __c2 = vget_lane_s64(__c1, __d); \ |
| 997 vsetq_lane_s64(__c2, __a1, __b); }) |
| 998 #define vcopyq_lane_u8(a, __b, c, __d) __extension__ ({ \ |
| 999 uint8x16_t __a = (a); uint8x8_t __c = (c); \ |
| 1000 uint8x16_t __a1 = __a; \ |
| 1001 uint8x8_t __c1 = __c; \ |
| 1002 uint8_t __c2 = vget_lane_u8(__c1, __d); \ |
| 1003 vsetq_lane_u8(__c2, __a1, __b); }) |
| 1004 #define vcopyq_lane_u16(a, __b, c, __d) __extension__ ({ \ |
| 1005 uint16x8_t __a = (a); uint16x4_t __c = (c); \ |
| 1006 uint16x8_t __a1 = __a; \ |
| 1007 uint16x4_t __c1 = __c; \ |
| 1008 uint16_t __c2 = vget_lane_u16(__c1, __d); \ |
| 1009 vsetq_lane_u16(__c2, __a1, __b); }) |
| 1010 #define vcopyq_lane_u32(a, __b, c, __d) __extension__ ({ \ |
| 1011 uint32x4_t __a = (a); uint32x2_t __c = (c); \ |
| 1012 uint32x4_t __a1 = __a; \ |
| 1013 uint32x2_t __c1 = __c; \ |
| 1014 uint32_t __c2 = vget_lane_u32(__c1, __d); \ |
| 1015 vsetq_lane_u32(__c2, __a1, __b); }) |
| 1016 #define vcopyq_lane_u64(a, __b, c, __d) __extension__ ({ \ |
| 1017 uint64x2_t __a = (a); uint64x1_t __c = (c); \ |
| 1018 uint64x2_t __a1 = __a; \ |
| 1019 uint64x1_t __c1 = __c; \ |
| 1020 uint64_t __c2 = vget_lane_u64(__c1, __d); \ |
| 1021 vsetq_lane_u64(__c2, __a1, __b); }) |
| 1022 #define vcopyq_lane_p8(a, __b, c, __d) __extension__ ({ \ |
| 1023 poly8x16_t __a = (a); poly8x8_t __c = (c); \ |
| 1024 poly8x16_t __a1 = __a; \ |
| 1025 poly8x8_t __c1 = __c; \ |
| 1026 poly8_t __c2 = vget_lane_p8(__c1, __d); \ |
| 1027 vsetq_lane_p8(__c2, __a1, __b); }) |
| 1028 #define vcopyq_lane_p16(a, __b, c, __d) __extension__ ({ \ |
| 1029 poly16x8_t __a = (a); poly16x4_t __c = (c); \ |
| 1030 poly16x8_t __a1 = __a; \ |
| 1031 poly16x4_t __c1 = __c; \ |
| 1032 poly16_t __c2 = vget_lane_p16(__c1, __d); \ |
| 1033 vsetq_lane_p16(__c2, __a1, __b); }) |
| 1034 #define vcopyq_lane_f32(a, __b, c, __d) __extension__ ({ \ |
| 1035 float32x4_t __a = (a); float32x2_t __c = (c); \ |
| 1036 float32x4_t __a1 = __a; \ |
| 1037 float32x2_t __c1 = __c; \ |
| 1038 float32_t __c2 = vget_lane_f32(__c1, __d); \ |
| 1039 vsetq_lane_f32(__c2, __a1, __b); }) |
| 1040 #define vcopyq_lane_f64(a, __b, c, __d) __extension__ ({ \ |
| 1041 float64x2_t __a = (a); float64x1_t __c = (c); \ |
| 1042 float64x2_t __a1 = __a; \ |
| 1043 float64x1_t __c1 = __c; \ |
| 1044 float64_t __c2 = vget_lane_f64(__c1, __d); \ |
| 1045 vsetq_lane_f64(__c2, __a1, __b); }) |
| 1046 #define vcopyq_lane_p64(a, __b, c, __d) __extension__ ({ \ |
| 1047 poly64x2_t __a = (a); poly64x1_t __c = (c); \ |
| 1048 poly64x2_t __a1 = __a; \ |
| 1049 poly64x1_t __c1 = __c; \ |
| 1050 poly64_t __c2 = vget_lane_p64(__c1, __d); \ |
| 1051 vsetq_lane_p64(__c2, __a1, __b); }) |
| 1052 |
| 1053 #define vcopyq_laneq_s8(a, __b, c, __d) __extension__ ({ \ |
| 1054 int8x16_t __a = (a); int8x16_t __c = (c); \ |
| 1055 int8x16_t __a1 = __a; \ |
| 1056 int8x16_t __c1 = __c; \ |
| 1057 int8_t __c2 = vgetq_lane_s8(__c1, __d); \ |
| 1058 vsetq_lane_s8(__c2, __a1, __b); }) |
| 1059 #define vcopyq_laneq_s16(a, __b, c, __d) __extension__ ({ \ |
| 1060 int16x8_t __a = (a); int16x8_t __c = (c); \ |
| 1061 int16x8_t __a1 = __a; \ |
| 1062 int16x8_t __c1 = __c; \ |
| 1063 int16_t __c2 = vgetq_lane_s16(__c1, __d); \ |
| 1064 vsetq_lane_s16(__c2, __a1, __b); }) |
| 1065 #define vcopyq_laneq_s32(a, __b, c, __d) __extension__ ({ \ |
| 1066 int32x4_t __a = (a); int32x4_t __c = (c); \ |
| 1067 int32x4_t __a1 = __a; \ |
| 1068 int32x4_t __c1 = __c; \ |
| 1069 int32_t __c2 = vgetq_lane_s32(__c1, __d); \ |
| 1070 vsetq_lane_s32(__c2, __a1, __b); }) |
| 1071 #define vcopyq_laneq_s64(a, __b, c, __d) __extension__ ({ \ |
| 1072 int64x2_t __a = (a); int64x2_t __c = (c); \ |
| 1073 int64x2_t __a1 = __a; \ |
| 1074 int64x2_t __c1 = __c; \ |
| 1075 int64_t __c2 = vgetq_lane_s64(__c1, __d); \ |
| 1076 vsetq_lane_s64(__c2, __a1, __b); }) |
| 1077 #define vcopyq_laneq_u8(a, __b, c, __d) __extension__ ({ \ |
| 1078 uint8x16_t __a = (a); uint8x16_t __c = (c); \ |
| 1079 uint8x16_t __a1 = __a; \ |
| 1080 uint8x16_t __c1 = __c; \ |
| 1081 uint8_t __c2 = vgetq_lane_u8(__c1, __d); \ |
| 1082 vsetq_lane_u8(__c2, __a1, __b); }) |
| 1083 #define vcopyq_laneq_u16(a, __b, c, __d) __extension__ ({ \ |
| 1084 uint16x8_t __a = (a); uint16x8_t __c = (c); \ |
| 1085 uint16x8_t __a1 = __a; \ |
| 1086 uint16x8_t __c1 = __c; \ |
| 1087 uint16_t __c2 = vgetq_lane_u16(__c1, __d); \ |
| 1088 vsetq_lane_u16(__c2, __a1, __b); }) |
| 1089 #define vcopyq_laneq_u32(a, __b, c, __d) __extension__ ({ \ |
| 1090 uint32x4_t __a = (a); uint32x4_t __c = (c); \ |
| 1091 uint32x4_t __a1 = __a; \ |
| 1092 uint32x4_t __c1 = __c; \ |
| 1093 uint32_t __c2 = vgetq_lane_u32(__c1, __d); \ |
| 1094 vsetq_lane_u32(__c2, __a1, __b); }) |
| 1095 #define vcopyq_laneq_u64(a, __b, c, __d) __extension__ ({ \ |
| 1096 uint64x2_t __a = (a); uint64x2_t __c = (c); \ |
| 1097 uint64x2_t __a1 = __a; \ |
| 1098 uint64x2_t __c1 = __c; \ |
| 1099 uint64_t __c2 = vgetq_lane_u64(__c1, __d); \ |
| 1100 vsetq_lane_u64(__c2, __a1, __b); }) |
| 1101 #define vcopyq_laneq_p8(a, __b, c, __d) __extension__ ({ \ |
| 1102 poly8x16_t __a = (a); poly8x16_t __c = (c); \ |
| 1103 poly8x16_t __a1 = __a; \ |
| 1104 poly8x16_t __c1 = __c; \ |
| 1105 poly8_t __c2 = vgetq_lane_p8(__c1, __d); \ |
| 1106 vsetq_lane_p8(__c2, __a1, __b); }) |
| 1107 #define vcopyq_laneq_p16(a, __b, c, __d) __extension__ ({ \ |
| 1108 poly16x8_t __a = (a); poly16x8_t __c = (c); \ |
| 1109 poly16x8_t __a1 = __a; \ |
| 1110 poly16x8_t __c1 = __c; \ |
| 1111 poly16_t __c2 = vgetq_lane_p16(__c1, __d); \ |
| 1112 vsetq_lane_p16(__c2, __a1, __b); }) |
| 1113 #define vcopyq_laneq_f32(a, __b, c, __d) __extension__ ({ \ |
| 1114 float32x4_t __a = (a); float32x4_t __c = (c); \ |
| 1115 float32x4_t __a1 = __a; \ |
| 1116 float32x4_t __c1 = __c; \ |
| 1117 float32_t __c2 = vgetq_lane_f32(__c1, __d); \ |
| 1118 vsetq_lane_f32(__c2, __a1, __b); }) |
| 1119 #define vcopyq_laneq_f64(a, __b, c, __d) __extension__ ({ \ |
| 1120 float64x2_t __a = (a); float64x2_t __c = (c); \ |
| 1121 float64x2_t __a1 = __a; \ |
| 1122 float64x2_t __c1 = __c; \ |
| 1123 float64_t __c2 = vgetq_lane_f64(__c1, __d); \ |
| 1124 vsetq_lane_f64(__c2, __a1, __b); }) |
| 1125 #define vcopyq_laneq_p64(a, __b, c, __d) __extension__ ({ \ |
| 1126 poly64x2_t __a = (a); poly64x2_t __c = (c); \ |
| 1127 poly64x2_t __a1 = __a; \ |
| 1128 poly64x2_t __c1 = __c; \ |
| 1129 poly64_t __c2 = vgetq_lane_p64(__c1, __d); \ |
| 1130 vsetq_lane_p64(__c2, __a1, __b); }) |
| 1131 |
| 1132 #define vcopy_lane_s8(a, __b, c, __d) __extension__ ({ \ |
| 1133 int8x8_t __a = (a); int8x8_t __c = (c); \ |
| 1134 int8x8_t __a1 = __a; \ |
| 1135 int8x8_t __c1 = __c; \ |
| 1136 int8_t __c2 = vget_lane_s8(__c1, __d); \ |
| 1137 vset_lane_s8(__c2, __a1, __b); }) |
| 1138 #define vcopy_lane_s16(a, __b, c, __d) __extension__ ({ \ |
| 1139 int16x4_t __a = (a); int16x4_t __c = (c); \ |
| 1140 int16x4_t __a1 = __a; \ |
| 1141 int16x4_t __c1 = __c; \ |
| 1142 int16_t __c2 = vget_lane_s16(__c1, __d); \ |
| 1143 vset_lane_s16(__c2, __a1, __b); }) |
| 1144 #define vcopy_lane_s32(a, __b, c, __d) __extension__ ({ \ |
| 1145 int32x2_t __a = (a); int32x2_t __c = (c); \ |
| 1146 int32x2_t __a1 = __a; \ |
| 1147 int32x2_t __c1 = __c; \ |
| 1148 int32_t __c2 = vget_lane_s32(__c1, __d); \ |
| 1149 vset_lane_s32(__c2, __a1, __b); }) |
| 1150 #define vcopy_lane_s64(a, __b, c, __d) __extension__ ({ \ |
| 1151 int64x1_t __a = (a); int64x1_t __c = (c); \ |
| 1152 int64x1_t __a1 = __a; \ |
| 1153 int64x1_t __c1 = __c; \ |
| 1154 int64_t __c2 = vget_lane_s64(__c1, __d); \ |
| 1155 vset_lane_s64(__c2, __a1, __b); }) |
| 1156 #define vcopy_lane_u8(a, __b, c, __d) __extension__ ({ \ |
| 1157 uint8x8_t __a = (a); uint8x8_t __c = (c); \ |
| 1158 uint8x8_t __a1 = __a; \ |
| 1159 uint8x8_t __c1 = __c; \ |
| 1160 uint8_t __c2 = vget_lane_u8(__c1, __d); \ |
| 1161 vset_lane_u8(__c2, __a1, __b); }) |
| 1162 #define vcopy_lane_u16(a, __b, c, __d) __extension__ ({ \ |
| 1163 uint16x4_t __a = (a); uint16x4_t __c = (c); \ |
| 1164 uint16x4_t __a1 = __a; \ |
| 1165 uint16x4_t __c1 = __c; \ |
| 1166 uint16_t __c2 = vget_lane_u16(__c1, __d); \ |
| 1167 vset_lane_u16(__c2, __a1, __b); }) |
| 1168 #define vcopy_lane_u32(a, __b, c, __d) __extension__ ({ \ |
| 1169 uint32x2_t __a = (a); uint32x2_t __c = (c); \ |
| 1170 uint32x2_t __a1 = __a; \ |
| 1171 uint32x2_t __c1 = __c; \ |
| 1172 uint32_t __c2 = vget_lane_u32(__c1, __d); \ |
| 1173 vset_lane_u32(__c2, __a1, __b); }) |
| 1174 #define vcopy_lane_u64(a, __b, c, __d) __extension__ ({ \ |
| 1175 uint64x1_t __a = (a); uint64x1_t __c = (c); \ |
| 1176 uint64x1_t __a1 = __a; \ |
| 1177 uint64x1_t __c1 = __c; \ |
| 1178 uint64_t __c2 = vget_lane_u64(__c1, __d); \ |
| 1179 vset_lane_u64(__c2, __a1, __b); }) |
| 1180 #define vcopy_lane_p8(a, __b, c, __d) __extension__ ({ \ |
| 1181 poly8x8_t __a = (a); poly8x8_t __c = (c); \ |
| 1182 poly8x8_t __a1 = __a; \ |
| 1183 poly8x8_t __c1 = __c; \ |
| 1184 poly8_t __c2 = vget_lane_p8(__c1, __d); \ |
| 1185 vset_lane_p8(__c2, __a1, __b); }) |
| 1186 #define vcopy_lane_p16(a, __b, c, __d) __extension__ ({ \ |
| 1187 poly16x4_t __a = (a); poly16x4_t __c = (c); \ |
| 1188 poly16x4_t __a1 = __a; \ |
| 1189 poly16x4_t __c1 = __c; \ |
| 1190 poly16_t __c2 = vget_lane_p16(__c1, __d); \ |
| 1191 vset_lane_p16(__c2, __a1, __b); }) |
| 1192 #define vcopy_lane_p64(a, __b, c, __d) __extension__ ({ \ |
| 1193 poly64x1_t __a = (a); poly64x1_t __c = (c); \ |
| 1194 poly64x1_t __a1 = __a; \ |
| 1195 poly64x1_t __c1 = __c; \ |
| 1196 poly64_t __c2 = vget_lane_p64(__c1, __d); \ |
| 1197 vset_lane_p64(__c2, __a1, __b); }) |
| 1198 #define vcopy_lane_f32(a, __b, c, __d) __extension__ ({ \ |
| 1199 float32x2_t __a = (a); float32x2_t __c = (c); \ |
| 1200 float32x2_t __a1 = __a; \ |
| 1201 float32x2_t __c1 = __c; \ |
| 1202 float32_t __c2 = vget_lane_f32(__c1, __d); \ |
| 1203 vset_lane_f32(__c2, __a1, __b); }) |
| 1204 #define vcopy_lane_f64(a, __b, c, __d) __extension__ ({ \ |
| 1205 float64x1_t __a = (a); float64x1_t __c = (c); \ |
| 1206 float64x1_t __a1 = __a; \ |
| 1207 float64x1_t __c1 = __c; \ |
| 1208 float64_t __c2 = vget_lane_f64(__c1, __d); \ |
| 1209 vset_lane_f64(__c2, __a1, __b); }) |
| 1210 |
| 1211 #define vcopy_laneq_s8(a, __b, c, __d) __extension__ ({ \ |
| 1212 int8x8_t __a = (a); int8x16_t __c = (c); \ |
| 1213 int8x8_t __a1 = __a; \ |
| 1214 int8x16_t __c1 = __c; \ |
| 1215 int8_t __c2 = vgetq_lane_s8(__c1, __d); \ |
| 1216 vset_lane_s8(__c2, __a1, __b); }) |
| 1217 #define vcopy_laneq_s16(a, __b, c, __d) __extension__ ({ \ |
| 1218 int16x4_t __a = (a); int16x8_t __c = (c); \ |
| 1219 int16x4_t __a1 = __a; \ |
| 1220 int16x8_t __c1 = __c; \ |
| 1221 int16_t __c2 = vgetq_lane_s16(__c1, __d); \ |
| 1222 vset_lane_s16(__c2, __a1, __b); }) |
| 1223 #define vcopy_laneq_s32(a, __b, c, __d) __extension__ ({ \ |
| 1224 int32x2_t __a = (a); int32x4_t __c = (c); \ |
| 1225 int32x2_t __a1 = __a; \ |
| 1226 int32x4_t __c1 = __c; \ |
| 1227 int32_t __c2 = vgetq_lane_s32(__c1, __d); \ |
| 1228 vset_lane_s32(__c2, __a1, __b); }) |
| 1229 #define vcopy_laneq_s64(a, __b, c, __d) __extension__ ({ \ |
| 1230 int64x1_t __a = (a); int64x2_t __c = (c); \ |
| 1231 int64x1_t __a1 = __a; \ |
| 1232 int64x2_t __c1 = __c; \ |
| 1233 int64_t __c2 = vgetq_lane_s64(__c1, __d); \ |
| 1234 vset_lane_s64(__c2, __a1, __b); }) |
| 1235 #define vcopy_laneq_p8(a, __b, c, __d) __extension__ ({ \ |
| 1236 poly8x8_t __a = (a); poly8x16_t __c = (c); \ |
| 1237 poly8x8_t __a1 = __a; \ |
| 1238 poly8x16_t __c1 = __c; \ |
| 1239 poly8_t __c2 = vgetq_lane_p8(__c1, __d); \ |
| 1240 vset_lane_p8(__c2, __a1, __b); }) |
| 1241 #define vcopy_laneq_p16(a, __b, c, __d) __extension__ ({ \ |
| 1242 poly16x4_t __a = (a); poly16x8_t __c = (c); \ |
| 1243 poly16x4_t __a1 = __a; \ |
| 1244 poly16x8_t __c1 = __c; \ |
| 1245 poly16_t __c2 = vgetq_lane_p16(__c1, __d); \ |
| 1246 vset_lane_p16(__c2, __a1, __b); }) |
| 1247 #define vcopy_laneq_p64(a, __b, c, __d) __extension__ ({ \ |
| 1248 poly64x1_t __a = (a); poly64x2_t __c = (c); \ |
| 1249 poly64x1_t __a1 = __a; \ |
| 1250 poly64x2_t __c1 = __c; \ |
| 1251 poly64_t __c2 = vgetq_lane_p64(__c1, __d); \ |
| 1252 vset_lane_p64(__c2, __a1, __b); }) |
| 1253 #define vcopy_laneq_u8(a, __b, c, __d) __extension__ ({ \ |
| 1254 uint8x8_t __a = (a); uint8x16_t __c = (c); \ |
| 1255 uint8x8_t __a1 = __a; \ |
| 1256 uint8x16_t __c1 = __c; \ |
| 1257 uint8_t __c2 = vgetq_lane_u8(__c1, __d); \ |
| 1258 vset_lane_u8(__c2, __a1, __b); }) |
| 1259 #define vcopy_laneq_u16(a, __b, c, __d) __extension__ ({ \ |
| 1260 uint16x4_t __a = (a); uint16x8_t __c = (c); \ |
| 1261 uint16x4_t __a1 = __a; \ |
| 1262 uint16x8_t __c1 = __c; \ |
| 1263 uint16_t __c2 = vgetq_lane_u16(__c1, __d); \ |
| 1264 vset_lane_u16(__c2, __a1, __b); }) |
| 1265 #define vcopy_laneq_u32(a, __b, c, __d) __extension__ ({ \ |
| 1266 uint32x2_t __a = (a); uint32x4_t __c = (c); \ |
| 1267 uint32x2_t __a1 = __a; \ |
| 1268 uint32x4_t __c1 = __c; \ |
| 1269 uint32_t __c2 = vgetq_lane_u32(__c1, __d); \ |
| 1270 vset_lane_u32(__c2, __a1, __b); }) |
| 1271 #define vcopy_laneq_u64(a, __b, c, __d) __extension__ ({ \ |
| 1272 uint64x1_t __a = (a); uint64x2_t __c = (c); \ |
| 1273 uint64x1_t __a1 = __a; \ |
| 1274 uint64x2_t __c1 = __c; \ |
| 1275 uint64_t __c2 = vgetq_lane_u64(__c1, __d); \ |
| 1276 vset_lane_u64(__c2, __a1, __b); }) |
| 1277 #define vcopy_laneq_f32(a, __b, c, __d) __extension__ ({ \ |
| 1278 float32x2_t __a = (a); float32x4_t __c = (c); \ |
| 1279 float32x2_t __a1 = __a; \ |
| 1280 float32x4_t __c1 = __c; \ |
| 1281 float32_t __c2 = vgetq_lane_f32(__c1, __d); \ |
| 1282 vset_lane_f32(__c2, __a1, __b); }) |
| 1283 #define vcopy_laneq_f64(a, __b, c, __d) __extension__ ({ \ |
| 1284 float64x1_t __a = (a); float64x2_t __c = (c); \ |
| 1285 float64x1_t __a1 = __a; \ |
| 1286 float64x2_t __c1 = __c; \ |
| 1287 float64_t __c2 = vgetq_lane_f64(__c1, __d); \ |
| 1288 vset_lane_f64(__c2, __a1, __b); }) |
| 1289 |
| 1290 __ai float64x1_t vcreate_f64(uint64_t __a) { |
| 1291 return (float64x1_t)__a; } |
| 1292 __ai poly64x1_t vcreate_p64(uint64_t __a) { |
| 1293 return (poly64x1_t)__a; } |
| 1294 |
| 1295 #define vcvt_n_f64_s64(a, __b) __extension__ ({ \ |
| 1296 int64x1_t __a = (a); \ |
| 1297 (float64x1_t)__builtin_neon_vcvt_n_f64_v((int8x8_t)__a, __b, 3); }) |
| 1298 #define vcvt_n_f64_u64(a, __b) __extension__ ({ \ |
| 1299 uint64x1_t __a = (a); \ |
| 1300 (float64x1_t)__builtin_neon_vcvt_n_f64_v((int8x8_t)__a, __b, 19); }) |
| 1301 #define vcvtq_n_f64_s64(a, __b) __extension__ ({ \ |
| 1302 int64x2_t __a = (a); \ |
| 1303 (float64x2_t)__builtin_neon_vcvtq_n_f64_v((int8x16_t)__a, __b, 35); }) |
| 1304 #define vcvtq_n_f64_u64(a, __b) __extension__ ({ \ |
| 1305 uint64x2_t __a = (a); \ |
| 1306 (float64x2_t)__builtin_neon_vcvtq_n_f64_v((int8x16_t)__a, __b, 51); }) |
| 1307 |
| 1308 __ai float64x1_t vdup_n_f64(float64_t __a) { |
| 1309 return (float64x1_t){ __a }; } |
| 1310 __ai float64x2_t vdupq_n_f64(float64_t __a) { |
| 1311 return (float64x2_t){ __a, __a }; } |
| 1312 __ai poly64x1_t vdup_n_p64(poly64_t __a) { |
| 1313 return (poly64x1_t){ __a }; } |
| 1314 __ai poly64x2_t vdupq_n_p64(poly64_t __a) { |
| 1315 return (poly64x2_t){ __a, __a }; } |
| 1316 |
| 1317 __ai uint64x1_t vcage_f64(float64x1_t __a, float64x1_t __b) { |
| 1318 return (uint64x1_t)__builtin_neon_vcage_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 1319 __ai uint64x2_t vcageq_f64(float64x2_t __a, float64x2_t __b) { |
| 1320 return (uint64x2_t)__builtin_neon_vcageq_v((int8x16_t)__a, (int8x16_t)__b, 51)
; } |
| 1321 |
| 1322 __ai uint64x1_t vcagt_f64(float64x1_t __a, float64x1_t __b) { |
| 1323 return (uint64x1_t)__builtin_neon_vcagt_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 1324 __ai uint64x2_t vcagtq_f64(float64x2_t __a, float64x2_t __b) { |
| 1325 return (uint64x2_t)__builtin_neon_vcagtq_v((int8x16_t)__a, (int8x16_t)__b, 51)
; } |
| 1326 |
| 1327 __ai uint64x1_t vcale_f64(float64x1_t __a, float64x1_t __b) { |
| 1328 return (uint64x1_t)__builtin_neon_vcale_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 1329 __ai uint64x2_t vcaleq_f64(float64x2_t __a, float64x2_t __b) { |
| 1330 return (uint64x2_t)__builtin_neon_vcaleq_v((int8x16_t)__a, (int8x16_t)__b, 51)
; } |
| 1331 |
| 1332 __ai uint64x1_t vcalt_f64(float64x1_t __a, float64x1_t __b) { |
| 1333 return (uint64x1_t)__builtin_neon_vcalt_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 1334 __ai uint64x2_t vcaltq_f64(float64x2_t __a, float64x2_t __b) { |
| 1335 return (uint64x2_t)__builtin_neon_vcaltq_v((int8x16_t)__a, (int8x16_t)__b, 51)
; } |
| 1336 |
| 1337 #endif |
| 1338 |
| 1339 #if __ARM_ARCH >= 8 |
| 1340 __ai int32x2_t vcvta_s32_f32(float32x2_t __a) { |
| 1341 return (int32x2_t)__builtin_neon_vcvta_s32_v((int8x8_t)__a, 2); } |
| 1342 __ai int32x4_t vcvtaq_s32_f32(float32x4_t __a) { |
| 1343 return (int32x4_t)__builtin_neon_vcvtaq_s32_v((int8x16_t)__a, 34); } |
| 1344 |
| 1345 #endif |
| 1346 |
| 1347 #if __ARM_ARCH >= 8 && defined(__aarch64__) |
| 1348 __ai int64x1_t vcvta_s64_f64(float64x1_t __a) { |
| 1349 return (int64x1_t)__builtin_neon_vcvta_s64_v((int8x8_t)__a, 3); } |
| 1350 __ai int64x2_t vcvtaq_s64_f64(float64x2_t __a) { |
| 1351 return (int64x2_t)__builtin_neon_vcvtaq_s64_v((int8x16_t)__a, 35); } |
| 1352 |
| 1353 #endif |
| 1354 |
| 1355 #if __ARM_ARCH >= 8 |
| 1356 __ai uint32x2_t vcvta_u32_f32(float32x2_t __a) { |
| 1357 return (uint32x2_t)__builtin_neon_vcvta_u32_v((int8x8_t)__a, 18); } |
| 1358 __ai uint32x4_t vcvtaq_u32_f32(float32x4_t __a) { |
| 1359 return (uint32x4_t)__builtin_neon_vcvtaq_u32_v((int8x16_t)__a, 50); } |
| 1360 |
| 1361 #endif |
| 1362 |
| 1363 #if __ARM_ARCH >= 8 && defined(__aarch64__) |
| 1364 __ai uint64x1_t vcvta_u64_f64(float64x1_t __a) { |
| 1365 return (uint64x1_t)__builtin_neon_vcvta_u64_v((int8x8_t)__a, 19); } |
| 1366 __ai uint64x2_t vcvtaq_u64_f64(float64x2_t __a) { |
| 1367 return (uint64x2_t)__builtin_neon_vcvtaq_u64_v((int8x16_t)__a, 51); } |
| 1368 |
| 1369 #endif |
| 1370 |
| 1371 #if __ARM_ARCH >= 8 |
| 1372 __ai int32x2_t vcvtm_s32_f32(float32x2_t __a) { |
| 1373 return (int32x2_t)__builtin_neon_vcvtm_s32_v((int8x8_t)__a, 2); } |
| 1374 __ai int32x4_t vcvtmq_s32_f32(float32x4_t __a) { |
| 1375 return (int32x4_t)__builtin_neon_vcvtmq_s32_v((int8x16_t)__a, 34); } |
| 1376 |
| 1377 #endif |
| 1378 |
| 1379 #if __ARM_ARCH >= 8 && defined(__aarch64__) |
| 1380 __ai int64x1_t vcvtm_s64_f64(float64x1_t __a) { |
| 1381 return (int64x1_t)__builtin_neon_vcvtm_s64_v((int8x8_t)__a, 3); } |
| 1382 __ai int64x2_t vcvtmq_s64_f64(float64x2_t __a) { |
| 1383 return (int64x2_t)__builtin_neon_vcvtmq_s64_v((int8x16_t)__a, 35); } |
| 1384 |
| 1385 #endif |
| 1386 |
| 1387 #if __ARM_ARCH >= 8 |
| 1388 __ai uint32x2_t vcvtm_u32_f32(float32x2_t __a) { |
| 1389 return (uint32x2_t)__builtin_neon_vcvtm_u32_v((int8x8_t)__a, 18); } |
| 1390 __ai uint32x4_t vcvtmq_u32_f32(float32x4_t __a) { |
| 1391 return (uint32x4_t)__builtin_neon_vcvtmq_u32_v((int8x16_t)__a, 50); } |
| 1392 |
| 1393 #endif |
| 1394 |
| 1395 #if __ARM_ARCH >= 8 && defined(__aarch64__) |
| 1396 __ai uint64x1_t vcvtm_u64_f64(float64x1_t __a) { |
| 1397 return (uint64x1_t)__builtin_neon_vcvtm_u64_v((int8x8_t)__a, 19); } |
| 1398 __ai uint64x2_t vcvtmq_u64_f64(float64x2_t __a) { |
| 1399 return (uint64x2_t)__builtin_neon_vcvtmq_u64_v((int8x16_t)__a, 51); } |
| 1400 |
| 1401 #endif |
| 1402 |
| 1403 #if __ARM_ARCH >= 8 |
| 1404 __ai int32x2_t vcvtn_s32_f32(float32x2_t __a) { |
| 1405 return (int32x2_t)__builtin_neon_vcvtn_s32_v((int8x8_t)__a, 2); } |
| 1406 __ai int32x4_t vcvtnq_s32_f32(float32x4_t __a) { |
| 1407 return (int32x4_t)__builtin_neon_vcvtnq_s32_v((int8x16_t)__a, 34); } |
| 1408 |
| 1409 #endif |
| 1410 |
| 1411 #if __ARM_ARCH >= 8 && defined(__aarch64__) |
| 1412 __ai int64x1_t vcvtn_s64_f64(float64x1_t __a) { |
| 1413 return (int64x1_t)__builtin_neon_vcvtn_s64_v((int8x8_t)__a, 3); } |
| 1414 __ai int64x2_t vcvtnq_s64_f64(float64x2_t __a) { |
| 1415 return (int64x2_t)__builtin_neon_vcvtnq_s64_v((int8x16_t)__a, 35); } |
| 1416 |
| 1417 #endif |
| 1418 |
| 1419 #if __ARM_ARCH >= 8 |
| 1420 __ai uint32x2_t vcvtn_u32_f32(float32x2_t __a) { |
| 1421 return (uint32x2_t)__builtin_neon_vcvtn_u32_v((int8x8_t)__a, 18); } |
| 1422 __ai uint32x4_t vcvtnq_u32_f32(float32x4_t __a) { |
| 1423 return (uint32x4_t)__builtin_neon_vcvtnq_u32_v((int8x16_t)__a, 50); } |
| 1424 |
| 1425 #endif |
| 1426 |
| 1427 #if __ARM_ARCH >= 8 && defined(__aarch64__) |
| 1428 __ai uint64x1_t vcvtn_u64_f64(float64x1_t __a) { |
| 1429 return (uint64x1_t)__builtin_neon_vcvtn_u64_v((int8x8_t)__a, 19); } |
| 1430 __ai uint64x2_t vcvtnq_u64_f64(float64x2_t __a) { |
| 1431 return (uint64x2_t)__builtin_neon_vcvtnq_u64_v((int8x16_t)__a, 51); } |
| 1432 |
| 1433 #endif |
| 1434 |
| 1435 #if __ARM_ARCH >= 8 |
| 1436 __ai int32x2_t vcvtp_s32_f32(float32x2_t __a) { |
| 1437 return (int32x2_t)__builtin_neon_vcvtp_s32_v((int8x8_t)__a, 2); } |
| 1438 __ai int32x4_t vcvtpq_s32_f32(float32x4_t __a) { |
| 1439 return (int32x4_t)__builtin_neon_vcvtpq_s32_v((int8x16_t)__a, 34); } |
| 1440 |
| 1441 #endif |
| 1442 |
| 1443 #if __ARM_ARCH >= 8 && defined(__aarch64__) |
| 1444 __ai int64x1_t vcvtp_s64_f64(float64x1_t __a) { |
| 1445 return (int64x1_t)__builtin_neon_vcvtp_s64_v((int8x8_t)__a, 3); } |
| 1446 __ai int64x2_t vcvtpq_s64_f64(float64x2_t __a) { |
| 1447 return (int64x2_t)__builtin_neon_vcvtpq_s64_v((int8x16_t)__a, 35); } |
| 1448 |
| 1449 #endif |
| 1450 |
| 1451 #if __ARM_ARCH >= 8 |
| 1452 __ai uint32x2_t vcvtp_u32_f32(float32x2_t __a) { |
| 1453 return (uint32x2_t)__builtin_neon_vcvtp_u32_v((int8x8_t)__a, 18); } |
| 1454 __ai uint32x4_t vcvtpq_u32_f32(float32x4_t __a) { |
| 1455 return (uint32x4_t)__builtin_neon_vcvtpq_u32_v((int8x16_t)__a, 50); } |
| 1456 |
| 1457 #endif |
| 1458 |
| 1459 #if __ARM_ARCH >= 8 && defined(__aarch64__) |
| 1460 __ai uint64x1_t vcvtp_u64_f64(float64x1_t __a) { |
| 1461 return (uint64x1_t)__builtin_neon_vcvtp_u64_v((int8x8_t)__a, 19); } |
| 1462 __ai uint64x2_t vcvtpq_u64_f64(float64x2_t __a) { |
| 1463 return (uint64x2_t)__builtin_neon_vcvtpq_u64_v((int8x16_t)__a, 51); } |
| 1464 |
| 1465 #endif |
| 1466 |
| 1467 #if defined(__aarch64__) |
| 1468 #define vcvt_n_s64_f64(a, __b) __extension__ ({ \ |
| 1469 float64x1_t __a = (a); \ |
| 1470 (int64x1_t)__builtin_neon_vcvt_n_s64_v((int8x8_t)__a, __b, 3); }) |
| 1471 #define vcvtq_n_s64_f64(a, __b) __extension__ ({ \ |
| 1472 float64x2_t __a = (a); \ |
| 1473 (int64x2_t)__builtin_neon_vcvtq_n_s64_v((int8x16_t)__a, __b, 35); }) |
| 1474 |
| 1475 #define vcvt_n_u64_f64(a, __b) __extension__ ({ \ |
| 1476 float64x1_t __a = (a); \ |
| 1477 (uint64x1_t)__builtin_neon_vcvt_n_u64_v((int8x8_t)__a, __b, 19); }) |
| 1478 #define vcvtq_n_u64_f64(a, __b) __extension__ ({ \ |
| 1479 float64x2_t __a = (a); \ |
| 1480 (uint64x2_t)__builtin_neon_vcvtq_n_u64_v((int8x16_t)__a, __b, 51); }) |
| 1481 |
| 1482 __ai float32x2_t vdiv_f32(float32x2_t __a, float32x2_t __b) { |
| 1483 return __a / __b; } |
| 1484 __ai float64x1_t vdiv_f64(float64x1_t __a, float64x1_t __b) { |
| 1485 return __a / __b; } |
| 1486 __ai float32x4_t vdivq_f32(float32x4_t __a, float32x4_t __b) { |
| 1487 return __a / __b; } |
| 1488 __ai float64x2_t vdivq_f64(float64x2_t __a, float64x2_t __b) { |
| 1489 return __a / __b; } |
| 1490 |
| 1491 __ai float32x2_t vmaxnm_f32(float32x2_t __a, float32x2_t __b) { |
| 1492 return (float32x2_t)__builtin_neon_vmaxnm_v((int8x8_t)__a, (int8x8_t)__b, 9);
} |
| 1493 __ai float64x1_t vmaxnm_f64(float64x1_t __a, float64x1_t __b) { |
| 1494 return (float64x1_t)__builtin_neon_vmaxnm_v((int8x8_t)__a, (int8x8_t)__b, 10);
} |
| 1495 __ai float32x4_t vmaxnmq_f32(float32x4_t __a, float32x4_t __b) { |
| 1496 return (float32x4_t)__builtin_neon_vmaxnmq_v((int8x16_t)__a, (int8x16_t)__b, 4
1); } |
| 1497 __ai float64x2_t vmaxnmq_f64(float64x2_t __a, float64x2_t __b) { |
| 1498 return (float64x2_t)__builtin_neon_vmaxnmq_v((int8x16_t)__a, (int8x16_t)__b, 4
2); } |
| 1499 |
| 1500 __ai float32x2_t vpmaxnm_f32(float32x2_t __a, float32x2_t __b) { |
| 1501 return (float32x2_t)__builtin_neon_vpmaxnm_v((int8x8_t)__a, (int8x8_t)__b, 9);
} |
| 1502 __ai float32x4_t vpmaxnmq_f32(float32x4_t __a, float32x4_t __b) { |
| 1503 return (float32x4_t)__builtin_neon_vpmaxnmq_v((int8x16_t)__a, (int8x16_t)__b,
41); } |
| 1504 __ai float64x2_t vpmaxnmq_f64(float64x2_t __a, float64x2_t __b) { |
| 1505 return (float64x2_t)__builtin_neon_vpmaxnmq_v((int8x16_t)__a, (int8x16_t)__b,
42); } |
| 1506 |
| 1507 __ai float32_t vmaxnmv_f32(float32x2_t __a) { |
| 1508 return (float32_t)__builtin_neon_vmaxnmv_f32(__a); } |
| 1509 __ai float32_t vmaxnmvq_f32(float32x4_t __a) { |
| 1510 return (float32_t)__builtin_neon_vmaxnmvq_f32(__a); } |
| 1511 __ai float64_t vmaxnmvq_f64(float64x2_t __a) { |
| 1512 return (float64_t)__builtin_neon_vmaxnmvq_f64(__a); } |
| 1513 |
| 1514 __ai float32x2_t vminnm_f32(float32x2_t __a, float32x2_t __b) { |
| 1515 return (float32x2_t)__builtin_neon_vminnm_v((int8x8_t)__a, (int8x8_t)__b, 9);
} |
| 1516 __ai float64x1_t vminnm_f64(float64x1_t __a, float64x1_t __b) { |
| 1517 return (float64x1_t)__builtin_neon_vminnm_v((int8x8_t)__a, (int8x8_t)__b, 10);
} |
| 1518 __ai float32x4_t vminnmq_f32(float32x4_t __a, float32x4_t __b) { |
| 1519 return (float32x4_t)__builtin_neon_vminnmq_v((int8x16_t)__a, (int8x16_t)__b, 4
1); } |
| 1520 __ai float64x2_t vminnmq_f64(float64x2_t __a, float64x2_t __b) { |
| 1521 return (float64x2_t)__builtin_neon_vminnmq_v((int8x16_t)__a, (int8x16_t)__b, 4
2); } |
| 1522 |
| 1523 __ai float32x2_t vpminnm_f32(float32x2_t __a, float32x2_t __b) { |
| 1524 return (float32x2_t)__builtin_neon_vpminnm_v((int8x8_t)__a, (int8x8_t)__b, 9);
} |
| 1525 __ai float32x4_t vpminnmq_f32(float32x4_t __a, float32x4_t __b) { |
| 1526 return (float32x4_t)__builtin_neon_vpminnmq_v((int8x16_t)__a, (int8x16_t)__b,
41); } |
| 1527 __ai float64x2_t vpminnmq_f64(float64x2_t __a, float64x2_t __b) { |
| 1528 return (float64x2_t)__builtin_neon_vpminnmq_v((int8x16_t)__a, (int8x16_t)__b,
42); } |
| 1529 |
| 1530 __ai float32_t vminnmv_f32(float32x2_t __a) { |
| 1531 return (float32_t)__builtin_neon_vminnmv_f32(__a); } |
| 1532 __ai float32_t vminnmvq_f32(float32x4_t __a) { |
| 1533 return (float32_t)__builtin_neon_vminnmvq_f32(__a); } |
| 1534 __ai float64_t vminnmvq_f64(float64x2_t __a) { |
| 1535 return (float64_t)__builtin_neon_vminnmvq_f64(__a); } |
| 1536 |
| 1537 __ai float64x1_t vfma_f64(float64x1_t __a, float64x1_t __b, float64x1_t __c) { |
| 1538 return (float64x1_t)__builtin_neon_vfma_v((int8x8_t)__a, (int8x8_t)__b, (int8x
8_t)__c, 10); } |
| 1539 __ai float64x2_t vfmaq_f64(float64x2_t __a, float64x2_t __b, float64x2_t __c) { |
| 1540 return (float64x2_t)__builtin_neon_vfmaq_v((int8x16_t)__a, (int8x16_t)__b, (in
t8x16_t)__c, 42); } |
| 1541 |
| 1542 __ai float32x2_t vfma_n_f32(float32x2_t __a, float32x2_t __b, float32_t __c) { |
| 1543 return vfma_f32(__a, __b, (float32x2_t){ __c, __c }); } |
| 1544 __ai float32x4_t vfmaq_n_f32(float32x4_t __a, float32x4_t __b, float32_t __c) { |
| 1545 return vfmaq_f32(__a, __b, (float32x4_t){ __c, __c, __c, __c }); } |
| 1546 __ai float64x2_t vfmaq_n_f64(float64x2_t __a, float64x2_t __b, float64_t __c) { |
| 1547 return vfmaq_f64(__a, __b, (float64x2_t){ __c, __c }); } |
| 1548 |
| 1549 __ai float32x2_t vfms_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) { |
| 1550 return (float32x2_t)__builtin_neon_vfms_v((int8x8_t)__a, (int8x8_t)__b, (int8x
8_t)__c, 9); } |
| 1551 __ai float64x1_t vfms_f64(float64x1_t __a, float64x1_t __b, float64x1_t __c) { |
| 1552 return (float64x1_t)__builtin_neon_vfms_v((int8x8_t)__a, (int8x8_t)__b, (int8x
8_t)__c, 10); } |
| 1553 __ai float32x4_t vfmsq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) { |
| 1554 return (float32x4_t)__builtin_neon_vfmsq_v((int8x16_t)__a, (int8x16_t)__b, (in
t8x16_t)__c, 41); } |
| 1555 __ai float64x2_t vfmsq_f64(float64x2_t __a, float64x2_t __b, float64x2_t __c) { |
| 1556 return (float64x2_t)__builtin_neon_vfmsq_v((int8x16_t)__a, (int8x16_t)__b, (in
t8x16_t)__c, 42); } |
| 1557 |
| 1558 __ai float32x2_t vfms_n_f32(float32x2_t __a, float32x2_t __b, float32_t __c) { |
| 1559 return vfms_f32(__a, __b, (float32x2_t){ __c, __c }); } |
| 1560 __ai float32x4_t vfmsq_n_f32(float32x4_t __a, float32x4_t __b, float32_t __c) { |
| 1561 return vfmsq_f32(__a, __b, (float32x4_t){ __c, __c, __c, __c }); } |
| 1562 __ai float64x2_t vfmsq_n_f64(float64x2_t __a, float64x2_t __b, float64_t __c) { |
| 1563 return vfmsq_f64(__a, __b, (float64x2_t){ __c, __c }); } |
| 1564 |
| 1565 __ai float64x1_t vrecpe_f64(float64x1_t __a) { |
| 1566 return (float64x1_t)__builtin_neon_vrecpe_v((int8x8_t)__a, 10); } |
| 1567 __ai float64x2_t vrecpeq_f64(float64x2_t __a) { |
| 1568 return (float64x2_t)__builtin_neon_vrecpeq_v((int8x16_t)__a, 42); } |
| 1569 |
| 1570 __ai float64x1_t vrecps_f64(float64x1_t __a, float64x1_t __b) { |
| 1571 return (float64x1_t)__builtin_neon_vrecps_v((int8x8_t)__a, (int8x8_t)__b, 10);
} |
| 1572 __ai float64x2_t vrecpsq_f64(float64x2_t __a, float64x2_t __b) { |
| 1573 return (float64x2_t)__builtin_neon_vrecpsq_v((int8x16_t)__a, (int8x16_t)__b, 4
2); } |
| 1574 |
| 1575 __ai float32x2_t vrnda_f32(float32x2_t __a) { |
| 1576 return (float32x2_t)__builtin_neon_vrnda_v((int8x8_t)__a, 9); } |
| 1577 __ai float64x1_t vrnda_f64(float64x1_t __a) { |
| 1578 return (float64x1_t)__builtin_neon_vrnda_v((int8x8_t)__a, 10); } |
| 1579 __ai float32x4_t vrndaq_f32(float32x4_t __a) { |
| 1580 return (float32x4_t)__builtin_neon_vrndaq_v((int8x16_t)__a, 41); } |
| 1581 __ai float64x2_t vrndaq_f64(float64x2_t __a) { |
| 1582 return (float64x2_t)__builtin_neon_vrndaq_v((int8x16_t)__a, 42); } |
| 1583 |
| 1584 __ai float32x2_t vrndi_f32(float32x2_t __a) { |
| 1585 return (float32x2_t)__builtin_neon_vrndi_v((int8x8_t)__a, 9); } |
| 1586 __ai float64x1_t vrndi_f64(float64x1_t __a) { |
| 1587 return (float64x1_t)__builtin_neon_vrndi_v((int8x8_t)__a, 10); } |
| 1588 __ai float32x4_t vrndiq_f32(float32x4_t __a) { |
| 1589 return (float32x4_t)__builtin_neon_vrndiq_v((int8x16_t)__a, 41); } |
| 1590 __ai float64x2_t vrndiq_f64(float64x2_t __a) { |
| 1591 return (float64x2_t)__builtin_neon_vrndiq_v((int8x16_t)__a, 42); } |
| 1592 |
| 1593 __ai float32x2_t vrndm_f32(float32x2_t __a) { |
| 1594 return (float32x2_t)__builtin_neon_vrndm_v((int8x8_t)__a, 9); } |
| 1595 __ai float64x1_t vrndm_f64(float64x1_t __a) { |
| 1596 return (float64x1_t)__builtin_neon_vrndm_v((int8x8_t)__a, 10); } |
| 1597 __ai float32x4_t vrndmq_f32(float32x4_t __a) { |
| 1598 return (float32x4_t)__builtin_neon_vrndmq_v((int8x16_t)__a, 41); } |
| 1599 __ai float64x2_t vrndmq_f64(float64x2_t __a) { |
| 1600 return (float64x2_t)__builtin_neon_vrndmq_v((int8x16_t)__a, 42); } |
| 1601 |
| 1602 __ai float32x2_t vrndn_f32(float32x2_t __a) { |
| 1603 return (float32x2_t)__builtin_neon_vrndn_v((int8x8_t)__a, 9); } |
| 1604 __ai float64x1_t vrndn_f64(float64x1_t __a) { |
| 1605 return (float64x1_t)__builtin_neon_vrndn_v((int8x8_t)__a, 10); } |
| 1606 __ai float32x4_t vrndnq_f32(float32x4_t __a) { |
| 1607 return (float32x4_t)__builtin_neon_vrndnq_v((int8x16_t)__a, 41); } |
| 1608 __ai float64x2_t vrndnq_f64(float64x2_t __a) { |
| 1609 return (float64x2_t)__builtin_neon_vrndnq_v((int8x16_t)__a, 42); } |
| 1610 |
| 1611 __ai float32x2_t vrndp_f32(float32x2_t __a) { |
| 1612 return (float32x2_t)__builtin_neon_vrndp_v((int8x8_t)__a, 9); } |
| 1613 __ai float64x1_t vrndp_f64(float64x1_t __a) { |
| 1614 return (float64x1_t)__builtin_neon_vrndp_v((int8x8_t)__a, 10); } |
| 1615 __ai float32x4_t vrndpq_f32(float32x4_t __a) { |
| 1616 return (float32x4_t)__builtin_neon_vrndpq_v((int8x16_t)__a, 41); } |
| 1617 __ai float64x2_t vrndpq_f64(float64x2_t __a) { |
| 1618 return (float64x2_t)__builtin_neon_vrndpq_v((int8x16_t)__a, 42); } |
| 1619 |
| 1620 __ai float32x2_t vrndx_f32(float32x2_t __a) { |
| 1621 return (float32x2_t)__builtin_neon_vrndx_v((int8x8_t)__a, 9); } |
| 1622 __ai float64x1_t vrndx_f64(float64x1_t __a) { |
| 1623 return (float64x1_t)__builtin_neon_vrndx_v((int8x8_t)__a, 10); } |
| 1624 __ai float32x4_t vrndxq_f32(float32x4_t __a) { |
| 1625 return (float32x4_t)__builtin_neon_vrndxq_v((int8x16_t)__a, 41); } |
| 1626 __ai float64x2_t vrndxq_f64(float64x2_t __a) { |
| 1627 return (float64x2_t)__builtin_neon_vrndxq_v((int8x16_t)__a, 42); } |
| 1628 |
| 1629 __ai float32x2_t vrnd_f32(float32x2_t __a) { |
| 1630 return (float32x2_t)__builtin_neon_vrnd_v((int8x8_t)__a, 9); } |
| 1631 __ai float64x1_t vrnd_f64(float64x1_t __a) { |
| 1632 return (float64x1_t)__builtin_neon_vrnd_v((int8x8_t)__a, 10); } |
| 1633 __ai float32x4_t vrndq_f32(float32x4_t __a) { |
| 1634 return (float32x4_t)__builtin_neon_vrndq_v((int8x16_t)__a, 41); } |
| 1635 __ai float64x2_t vrndq_f64(float64x2_t __a) { |
| 1636 return (float64x2_t)__builtin_neon_vrndq_v((int8x16_t)__a, 42); } |
| 1637 |
| 1638 __ai float64x1_t vrsqrte_f64(float64x1_t __a) { |
| 1639 return (float64x1_t)__builtin_neon_vrsqrte_v((int8x8_t)__a, 10); } |
| 1640 __ai float64x2_t vrsqrteq_f64(float64x2_t __a) { |
| 1641 return (float64x2_t)__builtin_neon_vrsqrteq_v((int8x16_t)__a, 42); } |
| 1642 |
| 1643 __ai float64x1_t vrsqrts_f64(float64x1_t __a, float64x1_t __b) { |
| 1644 return (float64x1_t)__builtin_neon_vrsqrts_v((int8x8_t)__a, (int8x8_t)__b, 10)
; } |
| 1645 __ai float64x2_t vrsqrtsq_f64(float64x2_t __a, float64x2_t __b) { |
| 1646 return (float64x2_t)__builtin_neon_vrsqrtsq_v((int8x16_t)__a, (int8x16_t)__b,
42); } |
| 1647 |
| 1648 __ai float32x2_t vsqrt_f32(float32x2_t __a) { |
| 1649 return (float32x2_t)__builtin_neon_vsqrt_v((int8x8_t)__a, 9); } |
| 1650 __ai float64x1_t vsqrt_f64(float64x1_t __a) { |
| 1651 return (float64x1_t)__builtin_neon_vsqrt_v((int8x8_t)__a, 10); } |
| 1652 __ai float32x4_t vsqrtq_f32(float32x4_t __a) { |
| 1653 return (float32x4_t)__builtin_neon_vsqrtq_v((int8x16_t)__a, 41); } |
| 1654 __ai float64x2_t vsqrtq_f64(float64x2_t __a) { |
| 1655 return (float64x2_t)__builtin_neon_vsqrtq_v((int8x16_t)__a, 42); } |
| 1656 |
| 1657 #define vget_lane_f64(a, __b) __extension__ ({ \ |
| 1658 float64x1_t __a = (a); \ |
| 1659 (float64_t)__builtin_neon_vget_lane_f64(__a, __b); }) |
| 1660 #define vgetq_lane_f64(a, __b) __extension__ ({ \ |
| 1661 float64x2_t __a = (a); \ |
| 1662 (float64_t)__builtin_neon_vgetq_lane_f64(__a, __b); }) |
| 1663 #define vget_lane_p64(a, __b) __extension__ ({ \ |
| 1664 poly64x1_t __a = (a); \ |
| 1665 (poly64_t)__builtin_neon_vget_lane_i64((int64x1_t)__a, __b); }) |
| 1666 #define vgetq_lane_p64(a, __b) __extension__ ({ \ |
| 1667 poly64x2_t __a = (a); \ |
| 1668 (poly64_t)__builtin_neon_vgetq_lane_i64((int64x2_t)__a, __b); }) |
| 1669 |
| 1670 #define vld1_f64(__a) __extension__ ({ \ |
| 1671 (float64x1_t)__builtin_neon_vld1_v(__a, 10); }) |
| 1672 #define vld1q_f64(__a) __extension__ ({ \ |
| 1673 (float64x2_t)__builtin_neon_vld1q_v(__a, 42); }) |
| 1674 #define vld1_p64(__a) __extension__ ({ \ |
| 1675 (poly64x1_t)__builtin_neon_vld1_v(__a, 6); }) |
| 1676 #define vld1q_p64(__a) __extension__ ({ \ |
| 1677 (poly64x2_t)__builtin_neon_vld1q_v(__a, 38); }) |
| 1678 |
| 1679 #define vld1_dup_f64(__a) __extension__ ({ \ |
| 1680 (float64x1_t)__builtin_neon_vld1_dup_v(__a, 10); }) |
| 1681 #define vld1q_dup_f64(__a) __extension__ ({ \ |
| 1682 (float64x2_t)__builtin_neon_vld1q_dup_v(__a, 42); }) |
| 1683 #define vld1_dup_p64(__a) __extension__ ({ \ |
| 1684 (poly64x1_t)__builtin_neon_vld1_dup_v(__a, 6); }) |
| 1685 #define vld1q_dup_p64(__a) __extension__ ({ \ |
| 1686 (poly64x2_t)__builtin_neon_vld1q_dup_v(__a, 38); }) |
| 1687 |
| 1688 #define vld1_lane_f64(__a, b, __c) __extension__ ({ \ |
| 1689 float64x1_t __b = (b); \ |
| 1690 (float64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 10); }) |
| 1691 #define vld1q_lane_f64(__a, b, __c) __extension__ ({ \ |
| 1692 float64x2_t __b = (b); \ |
| 1693 (float64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 42); }) |
| 1694 #define vld1_lane_p64(__a, b, __c) __extension__ ({ \ |
| 1695 poly64x1_t __b = (b); \ |
| 1696 (poly64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 6); }) |
| 1697 #define vld1q_lane_p64(__a, b, __c) __extension__ ({ \ |
| 1698 poly64x2_t __b = (b); \ |
| 1699 (poly64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 38); }) |
| 1700 |
| 1701 #define vld1q_u8_x2(__a) __extension__ ({ \ |
| 1702 uint8x16x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 48); r; }) |
| 1703 #define vld1q_u16_x2(__a) __extension__ ({ \ |
| 1704 uint16x8x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 49); r; }) |
| 1705 #define vld1q_u32_x2(__a) __extension__ ({ \ |
| 1706 uint32x4x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 50); r; }) |
| 1707 #define vld1q_s8_x2(__a) __extension__ ({ \ |
| 1708 int8x16x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 32); r; }) |
| 1709 #define vld1q_s16_x2(__a) __extension__ ({ \ |
| 1710 int16x8x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 33); r; }) |
| 1711 #define vld1q_s32_x2(__a) __extension__ ({ \ |
| 1712 int32x4x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 34); r; }) |
| 1713 #define vld1q_f16_x2(__a) __extension__ ({ \ |
| 1714 float16x8x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 40); r; }) |
| 1715 #define vld1q_f32_x2(__a) __extension__ ({ \ |
| 1716 float32x4x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 41); r; }) |
| 1717 #define vld1q_p8_x2(__a) __extension__ ({ \ |
| 1718 poly8x16x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 36); r; }) |
| 1719 #define vld1q_p16_x2(__a) __extension__ ({ \ |
| 1720 poly16x8x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 37); r; }) |
| 1721 #define vld1_u8_x2(__a) __extension__ ({ \ |
| 1722 uint8x8x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 16); r; }) |
| 1723 #define vld1_u16_x2(__a) __extension__ ({ \ |
| 1724 uint16x4x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 17); r; }) |
| 1725 #define vld1_u32_x2(__a) __extension__ ({ \ |
| 1726 uint32x2x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 18); r; }) |
| 1727 #define vld1_u64_x2(__a) __extension__ ({ \ |
| 1728 uint64x1x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 19); r; }) |
| 1729 #define vld1_s8_x2(__a) __extension__ ({ \ |
| 1730 int8x8x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 0); r; }) |
| 1731 #define vld1_s16_x2(__a) __extension__ ({ \ |
| 1732 int16x4x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 1); r; }) |
| 1733 #define vld1_s32_x2(__a) __extension__ ({ \ |
| 1734 int32x2x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 2); r; }) |
| 1735 #define vld1_s64_x2(__a) __extension__ ({ \ |
| 1736 int64x1x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 3); r; }) |
| 1737 #define vld1_f16_x2(__a) __extension__ ({ \ |
| 1738 float16x4x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 8); r; }) |
| 1739 #define vld1_f32_x2(__a) __extension__ ({ \ |
| 1740 float32x2x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 9); r; }) |
| 1741 #define vld1_p8_x2(__a) __extension__ ({ \ |
| 1742 poly8x8x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 4); r; }) |
| 1743 #define vld1_p16_x2(__a) __extension__ ({ \ |
| 1744 poly16x4x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 5); r; }) |
| 1745 #define vld1q_u64_x2(__a) __extension__ ({ \ |
| 1746 uint64x2x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 51); r; }) |
| 1747 #define vld1q_s64_x2(__a) __extension__ ({ \ |
| 1748 int64x2x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 35); r; }) |
| 1749 #define vld1_f64_x2(__a) __extension__ ({ \ |
| 1750 float64x1x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 10); r; }) |
| 1751 #define vld1q_f64_x2(__a) __extension__ ({ \ |
| 1752 float64x2x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 42); r; }) |
| 1753 #define vld1_p64_x2(__a) __extension__ ({ \ |
| 1754 poly64x1x2_t r; __builtin_neon_vld1_x2_v(&r, __a, 6); r; }) |
| 1755 #define vld1q_p64_x2(__a) __extension__ ({ \ |
| 1756 poly64x2x2_t r; __builtin_neon_vld1q_x2_v(&r, __a, 38); r; }) |
| 1757 |
| 1758 #define vld2q_u64(__a) __extension__ ({ \ |
| 1759 uint64x2x2_t r; __builtin_neon_vld2q_v(&r, __a, 51); r; }) |
| 1760 #define vld2q_s64(__a) __extension__ ({ \ |
| 1761 int64x2x2_t r; __builtin_neon_vld2q_v(&r, __a, 35); r; }) |
| 1762 #define vld2_f64(__a) __extension__ ({ \ |
| 1763 float64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 10); r; }) |
| 1764 #define vld2q_f64(__a) __extension__ ({ \ |
| 1765 float64x2x2_t r; __builtin_neon_vld2q_v(&r, __a, 42); r; }) |
| 1766 #define vld2_p64(__a) __extension__ ({ \ |
| 1767 poly64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 6); r; }) |
| 1768 #define vld2q_p64(__a) __extension__ ({ \ |
| 1769 poly64x2x2_t r; __builtin_neon_vld2q_v(&r, __a, 38); r; }) |
| 1770 |
| 1771 #define vld2q_dup_u8(__a) __extension__ ({ \ |
| 1772 uint8x16x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 48); r; }) |
| 1773 #define vld2q_dup_u16(__a) __extension__ ({ \ |
| 1774 uint16x8x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 49); r; }) |
| 1775 #define vld2q_dup_u32(__a) __extension__ ({ \ |
| 1776 uint32x4x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 50); r; }) |
| 1777 #define vld2q_dup_u64(__a) __extension__ ({ \ |
| 1778 uint64x2x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 51); r; }) |
| 1779 #define vld2q_dup_s8(__a) __extension__ ({ \ |
| 1780 int8x16x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 32); r; }) |
| 1781 #define vld2q_dup_s16(__a) __extension__ ({ \ |
| 1782 int16x8x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 33); r; }) |
| 1783 #define vld2q_dup_s32(__a) __extension__ ({ \ |
| 1784 int32x4x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 34); r; }) |
| 1785 #define vld2q_dup_s64(__a) __extension__ ({ \ |
| 1786 int64x2x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 35); r; }) |
| 1787 #define vld2q_dup_f16(__a) __extension__ ({ \ |
| 1788 float16x8x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 40); r; }) |
| 1789 #define vld2q_dup_f32(__a) __extension__ ({ \ |
| 1790 float32x4x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 41); r; }) |
| 1791 #define vld2q_dup_f64(__a) __extension__ ({ \ |
| 1792 float64x2x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 42); r; }) |
| 1793 #define vld2q_dup_p8(__a) __extension__ ({ \ |
| 1794 poly8x16x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 36); r; }) |
| 1795 #define vld2q_dup_p16(__a) __extension__ ({ \ |
| 1796 poly16x8x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 37); r; }) |
| 1797 #define vld2q_dup_p64(__a) __extension__ ({ \ |
| 1798 poly64x2x2_t r; __builtin_neon_vld2q_dup_v(&r, __a, 38); r; }) |
| 1799 #define vld2_dup_f64(__a) __extension__ ({ \ |
| 1800 float64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 10); r; }) |
| 1801 #define vld2_dup_p64(__a) __extension__ ({ \ |
| 1802 poly64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 6); r; }) |
| 1803 |
| 1804 #define vld2_lane_s64(__a, b, __c) __extension__ ({ \ |
| 1805 int64x1x2_t __b = (b); \ |
| 1806 int64x1x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], __c, 3); r; }) |
| 1807 #define vld2_lane_u64(__a, b, __c) __extension__ ({ \ |
| 1808 uint64x1x2_t __b = (b); \ |
| 1809 uint64x1x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], __c, 19); r; }) |
| 1810 #define vld2q_lane_s8(__a, b, __c) __extension__ ({ \ |
| 1811 int8x16x2_t __b = (b); \ |
| 1812 int8x16x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, __b.val[0], __b.val[1], __
c, 32); r; }) |
| 1813 #define vld2q_lane_u8(__a, b, __c) __extension__ ({ \ |
| 1814 uint8x16x2_t __b = (b); \ |
| 1815 uint8x16x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], __c, 48); r; }) |
| 1816 #define vld2q_lane_p8(__a, b, __c) __extension__ ({ \ |
| 1817 poly8x16x2_t __b = (b); \ |
| 1818 poly8x16x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], __c, 36); r; }) |
| 1819 #define vld2q_lane_s64(__a, b, __c) __extension__ ({ \ |
| 1820 int64x2x2_t __b = (b); \ |
| 1821 int64x2x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in
t8x16_t)__b.val[1], __c, 35); r; }) |
| 1822 #define vld2q_lane_u64(__a, b, __c) __extension__ ({ \ |
| 1823 uint64x2x2_t __b = (b); \ |
| 1824 uint64x2x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], __c, 51); r; }) |
| 1825 #define vld2_lane_f64(__a, b, __c) __extension__ ({ \ |
| 1826 float64x1x2_t __b = (b); \ |
| 1827 float64x1x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (in
t8x8_t)__b.val[1], __c, 10); r; }) |
| 1828 #define vld2q_lane_f64(__a, b, __c) __extension__ ({ \ |
| 1829 float64x2x2_t __b = (b); \ |
| 1830 float64x2x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (
int8x16_t)__b.val[1], __c, 42); r; }) |
| 1831 #define vld2_lane_p64(__a, b, __c) __extension__ ({ \ |
| 1832 poly64x1x2_t __b = (b); \ |
| 1833 poly64x1x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], __c, 6); r; }) |
| 1834 #define vld2q_lane_p64(__a, b, __c) __extension__ ({ \ |
| 1835 poly64x2x2_t __b = (b); \ |
| 1836 poly64x2x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], __c, 38); r; }) |
| 1837 |
| 1838 #define vld3q_u64(__a) __extension__ ({ \ |
| 1839 uint64x2x3_t r; __builtin_neon_vld3q_v(&r, __a, 51); r; }) |
| 1840 #define vld3q_s64(__a) __extension__ ({ \ |
| 1841 int64x2x3_t r; __builtin_neon_vld3q_v(&r, __a, 35); r; }) |
| 1842 #define vld3_f64(__a) __extension__ ({ \ |
| 1843 float64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 10); r; }) |
| 1844 #define vld3q_f64(__a) __extension__ ({ \ |
| 1845 float64x2x3_t r; __builtin_neon_vld3q_v(&r, __a, 42); r; }) |
| 1846 #define vld3_p64(__a) __extension__ ({ \ |
| 1847 poly64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 6); r; }) |
| 1848 #define vld3q_p64(__a) __extension__ ({ \ |
| 1849 poly64x2x3_t r; __builtin_neon_vld3q_v(&r, __a, 38); r; }) |
| 1850 |
| 1851 #define vld3q_dup_u8(__a) __extension__ ({ \ |
| 1852 uint8x16x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 48); r; }) |
| 1853 #define vld3q_dup_u16(__a) __extension__ ({ \ |
| 1854 uint16x8x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 49); r; }) |
| 1855 #define vld3q_dup_u32(__a) __extension__ ({ \ |
| 1856 uint32x4x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 50); r; }) |
| 1857 #define vld3q_dup_u64(__a) __extension__ ({ \ |
| 1858 uint64x2x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 51); r; }) |
| 1859 #define vld3q_dup_s8(__a) __extension__ ({ \ |
| 1860 int8x16x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 32); r; }) |
| 1861 #define vld3q_dup_s16(__a) __extension__ ({ \ |
| 1862 int16x8x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 33); r; }) |
| 1863 #define vld3q_dup_s32(__a) __extension__ ({ \ |
| 1864 int32x4x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 34); r; }) |
| 1865 #define vld3q_dup_s64(__a) __extension__ ({ \ |
| 1866 int64x2x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 35); r; }) |
| 1867 #define vld3q_dup_f16(__a) __extension__ ({ \ |
| 1868 float16x8x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 40); r; }) |
| 1869 #define vld3q_dup_f32(__a) __extension__ ({ \ |
| 1870 float32x4x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 41); r; }) |
| 1871 #define vld3q_dup_f64(__a) __extension__ ({ \ |
| 1872 float64x2x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 42); r; }) |
| 1873 #define vld3q_dup_p8(__a) __extension__ ({ \ |
| 1874 poly8x16x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 36); r; }) |
| 1875 #define vld3q_dup_p16(__a) __extension__ ({ \ |
| 1876 poly16x8x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 37); r; }) |
| 1877 #define vld3q_dup_p64(__a) __extension__ ({ \ |
| 1878 poly64x2x3_t r; __builtin_neon_vld3q_dup_v(&r, __a, 38); r; }) |
| 1879 #define vld3_dup_f64(__a) __extension__ ({ \ |
| 1880 float64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 10); r; }) |
| 1881 #define vld3_dup_p64(__a) __extension__ ({ \ |
| 1882 poly64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 6); r; }) |
| 1883 |
| 1884 #define vld3_lane_s64(__a, b, __c) __extension__ ({ \ |
| 1885 int64x1x3_t __b = (b); \ |
| 1886 int64x1x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 3); r; }) |
| 1887 #define vld3_lane_u64(__a, b, __c) __extension__ ({ \ |
| 1888 uint64x1x3_t __b = (b); \ |
| 1889 uint64x1x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 19); r; }) |
| 1890 #define vld3q_lane_s8(__a, b, __c) __extension__ ({ \ |
| 1891 int8x16x3_t __b = (b); \ |
| 1892 int8x16x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, __b.val[0], __b.val[1], __
b.val[2], __c, 32); r; }) |
| 1893 #define vld3q_lane_u8(__a, b, __c) __extension__ ({ \ |
| 1894 uint8x16x3_t __b = (b); \ |
| 1895 uint8x16x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 48); r; }) |
| 1896 #define vld3q_lane_p8(__a, b, __c) __extension__ ({ \ |
| 1897 poly8x16x3_t __b = (b); \ |
| 1898 poly8x16x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 36); r; }) |
| 1899 #define vld3q_lane_s64(__a, b, __c) __extension__ ({ \ |
| 1900 int64x2x3_t __b = (b); \ |
| 1901 int64x2x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in
t8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 35); r; }) |
| 1902 #define vld3q_lane_u64(__a, b, __c) __extension__ ({ \ |
| 1903 uint64x2x3_t __b = (b); \ |
| 1904 uint64x2x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 51); r; }) |
| 1905 #define vld3_lane_f64(__a, b, __c) __extension__ ({ \ |
| 1906 float64x1x3_t __b = (b); \ |
| 1907 float64x1x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (in
t8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 10); r; }) |
| 1908 #define vld3q_lane_f64(__a, b, __c) __extension__ ({ \ |
| 1909 float64x2x3_t __b = (b); \ |
| 1910 float64x2x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (
int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 42); r; }) |
| 1911 #define vld3_lane_p64(__a, b, __c) __extension__ ({ \ |
| 1912 poly64x1x3_t __b = (b); \ |
| 1913 poly64x1x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 6); r; }) |
| 1914 #define vld3q_lane_p64(__a, b, __c) __extension__ ({ \ |
| 1915 poly64x2x3_t __b = (b); \ |
| 1916 poly64x2x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 38); r; }) |
| 1917 |
| 1918 #define vld1q_u8_x3(__a) __extension__ ({ \ |
| 1919 uint8x16x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 48); r; }) |
| 1920 #define vld1q_u16_x3(__a) __extension__ ({ \ |
| 1921 uint16x8x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 49); r; }) |
| 1922 #define vld1q_u32_x3(__a) __extension__ ({ \ |
| 1923 uint32x4x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 50); r; }) |
| 1924 #define vld1q_s8_x3(__a) __extension__ ({ \ |
| 1925 int8x16x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 32); r; }) |
| 1926 #define vld1q_s16_x3(__a) __extension__ ({ \ |
| 1927 int16x8x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 33); r; }) |
| 1928 #define vld1q_s32_x3(__a) __extension__ ({ \ |
| 1929 int32x4x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 34); r; }) |
| 1930 #define vld1q_f16_x3(__a) __extension__ ({ \ |
| 1931 float16x8x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 40); r; }) |
| 1932 #define vld1q_f32_x3(__a) __extension__ ({ \ |
| 1933 float32x4x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 41); r; }) |
| 1934 #define vld1q_p8_x3(__a) __extension__ ({ \ |
| 1935 poly8x16x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 36); r; }) |
| 1936 #define vld1q_p16_x3(__a) __extension__ ({ \ |
| 1937 poly16x8x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 37); r; }) |
| 1938 #define vld1_u8_x3(__a) __extension__ ({ \ |
| 1939 uint8x8x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 16); r; }) |
| 1940 #define vld1_u16_x3(__a) __extension__ ({ \ |
| 1941 uint16x4x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 17); r; }) |
| 1942 #define vld1_u32_x3(__a) __extension__ ({ \ |
| 1943 uint32x2x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 18); r; }) |
| 1944 #define vld1_u64_x3(__a) __extension__ ({ \ |
| 1945 uint64x1x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 19); r; }) |
| 1946 #define vld1_s8_x3(__a) __extension__ ({ \ |
| 1947 int8x8x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 0); r; }) |
| 1948 #define vld1_s16_x3(__a) __extension__ ({ \ |
| 1949 int16x4x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 1); r; }) |
| 1950 #define vld1_s32_x3(__a) __extension__ ({ \ |
| 1951 int32x2x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 2); r; }) |
| 1952 #define vld1_s64_x3(__a) __extension__ ({ \ |
| 1953 int64x1x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 3); r; }) |
| 1954 #define vld1_f16_x3(__a) __extension__ ({ \ |
| 1955 float16x4x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 8); r; }) |
| 1956 #define vld1_f32_x3(__a) __extension__ ({ \ |
| 1957 float32x2x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 9); r; }) |
| 1958 #define vld1_p8_x3(__a) __extension__ ({ \ |
| 1959 poly8x8x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 4); r; }) |
| 1960 #define vld1_p16_x3(__a) __extension__ ({ \ |
| 1961 poly16x4x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 5); r; }) |
| 1962 #define vld1q_u64_x3(__a) __extension__ ({ \ |
| 1963 uint64x2x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 51); r; }) |
| 1964 #define vld1q_s64_x3(__a) __extension__ ({ \ |
| 1965 int64x2x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 35); r; }) |
| 1966 #define vld1_f64_x3(__a) __extension__ ({ \ |
| 1967 float64x1x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 10); r; }) |
| 1968 #define vld1q_f64_x3(__a) __extension__ ({ \ |
| 1969 float64x2x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 42); r; }) |
| 1970 #define vld1_p64_x3(__a) __extension__ ({ \ |
| 1971 poly64x1x3_t r; __builtin_neon_vld1_x3_v(&r, __a, 6); r; }) |
| 1972 #define vld1q_p64_x3(__a) __extension__ ({ \ |
| 1973 poly64x2x3_t r; __builtin_neon_vld1q_x3_v(&r, __a, 38); r; }) |
| 1974 |
| 1975 #define vld4q_u64(__a) __extension__ ({ \ |
| 1976 uint64x2x4_t r; __builtin_neon_vld4q_v(&r, __a, 51); r; }) |
| 1977 #define vld4q_s64(__a) __extension__ ({ \ |
| 1978 int64x2x4_t r; __builtin_neon_vld4q_v(&r, __a, 35); r; }) |
| 1979 #define vld4_f64(__a) __extension__ ({ \ |
| 1980 float64x1x4_t r; __builtin_neon_vld4_v(&r, __a, 10); r; }) |
| 1981 #define vld4q_f64(__a) __extension__ ({ \ |
| 1982 float64x2x4_t r; __builtin_neon_vld4q_v(&r, __a, 42); r; }) |
| 1983 #define vld4_p64(__a) __extension__ ({ \ |
| 1984 poly64x1x4_t r; __builtin_neon_vld4_v(&r, __a, 6); r; }) |
| 1985 #define vld4q_p64(__a) __extension__ ({ \ |
| 1986 poly64x2x4_t r; __builtin_neon_vld4q_v(&r, __a, 38); r; }) |
| 1987 |
| 1988 #define vld4q_dup_u8(__a) __extension__ ({ \ |
| 1989 uint8x16x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 48); r; }) |
| 1990 #define vld4q_dup_u16(__a) __extension__ ({ \ |
| 1991 uint16x8x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 49); r; }) |
| 1992 #define vld4q_dup_u32(__a) __extension__ ({ \ |
| 1993 uint32x4x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 50); r; }) |
| 1994 #define vld4q_dup_u64(__a) __extension__ ({ \ |
| 1995 uint64x2x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 51); r; }) |
| 1996 #define vld4q_dup_s8(__a) __extension__ ({ \ |
| 1997 int8x16x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 32); r; }) |
| 1998 #define vld4q_dup_s16(__a) __extension__ ({ \ |
| 1999 int16x8x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 33); r; }) |
| 2000 #define vld4q_dup_s32(__a) __extension__ ({ \ |
| 2001 int32x4x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 34); r; }) |
| 2002 #define vld4q_dup_s64(__a) __extension__ ({ \ |
| 2003 int64x2x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 35); r; }) |
| 2004 #define vld4q_dup_f16(__a) __extension__ ({ \ |
| 2005 float16x8x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 40); r; }) |
| 2006 #define vld4q_dup_f32(__a) __extension__ ({ \ |
| 2007 float32x4x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 41); r; }) |
| 2008 #define vld4q_dup_f64(__a) __extension__ ({ \ |
| 2009 float64x2x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 42); r; }) |
| 2010 #define vld4q_dup_p8(__a) __extension__ ({ \ |
| 2011 poly8x16x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 36); r; }) |
| 2012 #define vld4q_dup_p16(__a) __extension__ ({ \ |
| 2013 poly16x8x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 37); r; }) |
| 2014 #define vld4q_dup_p64(__a) __extension__ ({ \ |
| 2015 poly64x2x4_t r; __builtin_neon_vld4q_dup_v(&r, __a, 38); r; }) |
| 2016 #define vld4_dup_f64(__a) __extension__ ({ \ |
| 2017 float64x1x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 10); r; }) |
| 2018 #define vld4_dup_p64(__a) __extension__ ({ \ |
| 2019 poly64x1x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 6); r; }) |
| 2020 |
| 2021 #define vld4_lane_s64(__a, b, __c) __extension__ ({ \ |
| 2022 int64x1x4_t __b = (b); \ |
| 2023 int64x1x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 3); r; }) |
| 2024 #define vld4_lane_u64(__a, b, __c) __extension__ ({ \ |
| 2025 uint64x1x4_t __b = (b); \ |
| 2026 uint64x1x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 19); r; }) |
| 2027 #define vld4q_lane_s8(__a, b, __c) __extension__ ({ \ |
| 2028 int8x16x4_t __b = (b); \ |
| 2029 int8x16x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, __b.val[0], __b.val[1], __
b.val[2], __b.val[3], __c, 32); r; }) |
| 2030 #define vld4q_lane_u8(__a, b, __c) __extension__ ({ \ |
| 2031 uint8x16x4_t __b = (b); \ |
| 2032 uint8x16x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 48); r;
}) |
| 2033 #define vld4q_lane_p8(__a, b, __c) __extension__ ({ \ |
| 2034 poly8x16x4_t __b = (b); \ |
| 2035 poly8x16x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 36); r;
}) |
| 2036 #define vld4q_lane_s64(__a, b, __c) __extension__ ({ \ |
| 2037 int64x2x4_t __b = (b); \ |
| 2038 int64x2x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in
t8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 35); r; }
) |
| 2039 #define vld4q_lane_u64(__a, b, __c) __extension__ ({ \ |
| 2040 uint64x2x4_t __b = (b); \ |
| 2041 uint64x2x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 51); r;
}) |
| 2042 #define vld4_lane_f64(__a, b, __c) __extension__ ({ \ |
| 2043 float64x1x4_t __b = (b); \ |
| 2044 float64x1x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (in
t8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 10); r; }) |
| 2045 #define vld4q_lane_f64(__a, b, __c) __extension__ ({ \ |
| 2046 float64x2x4_t __b = (b); \ |
| 2047 float64x2x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (
int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 42); r;
}) |
| 2048 #define vld4_lane_p64(__a, b, __c) __extension__ ({ \ |
| 2049 poly64x1x4_t __b = (b); \ |
| 2050 poly64x1x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 6); r; }) |
| 2051 #define vld4q_lane_p64(__a, b, __c) __extension__ ({ \ |
| 2052 poly64x2x4_t __b = (b); \ |
| 2053 poly64x2x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 38); r;
}) |
| 2054 |
| 2055 #define vld1q_u8_x4(__a) __extension__ ({ \ |
| 2056 uint8x16x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 48); r; }) |
| 2057 #define vld1q_u16_x4(__a) __extension__ ({ \ |
| 2058 uint16x8x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 49); r; }) |
| 2059 #define vld1q_u32_x4(__a) __extension__ ({ \ |
| 2060 uint32x4x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 50); r; }) |
| 2061 #define vld1q_s8_x4(__a) __extension__ ({ \ |
| 2062 int8x16x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 32); r; }) |
| 2063 #define vld1q_s16_x4(__a) __extension__ ({ \ |
| 2064 int16x8x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 33); r; }) |
| 2065 #define vld1q_s32_x4(__a) __extension__ ({ \ |
| 2066 int32x4x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 34); r; }) |
| 2067 #define vld1q_f16_x4(__a) __extension__ ({ \ |
| 2068 float16x8x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 40); r; }) |
| 2069 #define vld1q_f32_x4(__a) __extension__ ({ \ |
| 2070 float32x4x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 41); r; }) |
| 2071 #define vld1q_p8_x4(__a) __extension__ ({ \ |
| 2072 poly8x16x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 36); r; }) |
| 2073 #define vld1q_p16_x4(__a) __extension__ ({ \ |
| 2074 poly16x8x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 37); r; }) |
| 2075 #define vld1_u8_x4(__a) __extension__ ({ \ |
| 2076 uint8x8x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 16); r; }) |
| 2077 #define vld1_u16_x4(__a) __extension__ ({ \ |
| 2078 uint16x4x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 17); r; }) |
| 2079 #define vld1_u32_x4(__a) __extension__ ({ \ |
| 2080 uint32x2x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 18); r; }) |
| 2081 #define vld1_u64_x4(__a) __extension__ ({ \ |
| 2082 uint64x1x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 19); r; }) |
| 2083 #define vld1_s8_x4(__a) __extension__ ({ \ |
| 2084 int8x8x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 0); r; }) |
| 2085 #define vld1_s16_x4(__a) __extension__ ({ \ |
| 2086 int16x4x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 1); r; }) |
| 2087 #define vld1_s32_x4(__a) __extension__ ({ \ |
| 2088 int32x2x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 2); r; }) |
| 2089 #define vld1_s64_x4(__a) __extension__ ({ \ |
| 2090 int64x1x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 3); r; }) |
| 2091 #define vld1_f16_x4(__a) __extension__ ({ \ |
| 2092 float16x4x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 8); r; }) |
| 2093 #define vld1_f32_x4(__a) __extension__ ({ \ |
| 2094 float32x2x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 9); r; }) |
| 2095 #define vld1_p8_x4(__a) __extension__ ({ \ |
| 2096 poly8x8x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 4); r; }) |
| 2097 #define vld1_p16_x4(__a) __extension__ ({ \ |
| 2098 poly16x4x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 5); r; }) |
| 2099 #define vld1q_u64_x4(__a) __extension__ ({ \ |
| 2100 uint64x2x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 51); r; }) |
| 2101 #define vld1q_s64_x4(__a) __extension__ ({ \ |
| 2102 int64x2x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 35); r; }) |
| 2103 #define vld1_f64_x4(__a) __extension__ ({ \ |
| 2104 float64x1x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 10); r; }) |
| 2105 #define vld1q_f64_x4(__a) __extension__ ({ \ |
| 2106 float64x2x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 42); r; }) |
| 2107 #define vld1_p64_x4(__a) __extension__ ({ \ |
| 2108 poly64x1x4_t r; __builtin_neon_vld1_x4_v(&r, __a, 6); r; }) |
| 2109 #define vld1q_p64_x4(__a) __extension__ ({ \ |
| 2110 poly64x2x4_t r; __builtin_neon_vld1q_x4_v(&r, __a, 38); r; }) |
| 2111 |
| 2112 __ai float64x1_t vmax_f64(float64x1_t __a, float64x1_t __b) { |
| 2113 return (float64x1_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 10); } |
| 2114 __ai float64x2_t vmaxq_f64(float64x2_t __a, float64x2_t __b) { |
| 2115 return (float64x2_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 42)
; } |
| 2116 |
| 2117 __ai int8x16_t vpmaxq_s8(int8x16_t __a, int8x16_t __b) { |
| 2118 return (int8x16_t)__builtin_neon_vpmaxq_v(__a, __b, 32); } |
| 2119 __ai int16x8_t vpmaxq_s16(int16x8_t __a, int16x8_t __b) { |
| 2120 return (int16x8_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 2121 __ai int32x4_t vpmaxq_s32(int32x4_t __a, int32x4_t __b) { |
| 2122 return (int32x4_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 2123 __ai uint8x16_t vpmaxq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 2124 return (uint8x16_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 48)
; } |
| 2125 __ai uint16x8_t vpmaxq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 2126 return (uint16x8_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 49)
; } |
| 2127 __ai uint32x4_t vpmaxq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 2128 return (uint32x4_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 2129 __ai float32x4_t vpmaxq_f32(float32x4_t __a, float32x4_t __b) { |
| 2130 return (float32x4_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 41
); } |
| 2131 __ai float64x2_t vpmaxq_f64(float64x2_t __a, float64x2_t __b) { |
| 2132 return (float64x2_t)__builtin_neon_vpmaxq_v((int8x16_t)__a, (int8x16_t)__b, 42
); } |
| 2133 |
| 2134 __ai float64x1_t vmin_f64(float64x1_t __a, float64x1_t __b) { |
| 2135 return (float64x1_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 10); } |
| 2136 __ai float64x2_t vminq_f64(float64x2_t __a, float64x2_t __b) { |
| 2137 return (float64x2_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 42)
; } |
| 2138 |
| 2139 __ai int8x16_t vpminq_s8(int8x16_t __a, int8x16_t __b) { |
| 2140 return (int8x16_t)__builtin_neon_vpminq_v(__a, __b, 32); } |
| 2141 __ai int16x8_t vpminq_s16(int16x8_t __a, int16x8_t __b) { |
| 2142 return (int16x8_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 2143 __ai int32x4_t vpminq_s32(int32x4_t __a, int32x4_t __b) { |
| 2144 return (int32x4_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 2145 __ai uint8x16_t vpminq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 2146 return (uint8x16_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 48)
; } |
| 2147 __ai uint16x8_t vpminq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 2148 return (uint16x8_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 49)
; } |
| 2149 __ai uint32x4_t vpminq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 2150 return (uint32x4_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 2151 __ai float32x4_t vpminq_f32(float32x4_t __a, float32x4_t __b) { |
| 2152 return (float32x4_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 41
); } |
| 2153 __ai float64x2_t vpminq_f64(float64x2_t __a, float64x2_t __b) { |
| 2154 return (float64x2_t)__builtin_neon_vpminq_v((int8x16_t)__a, (int8x16_t)__b, 42
); } |
| 2155 |
| 2156 __ai float64x1_t vmla_f64(float64x1_t __a, float64x1_t __b, float64x1_t __c) { |
| 2157 return __a + (__b * __c); } |
| 2158 __ai float64x2_t vmlaq_f64(float64x2_t __a, float64x2_t __b, float64x2_t __c) { |
| 2159 return __a + (__b * __c); } |
| 2160 |
| 2161 __ai float64x2_t vmlaq_n_f64(float64x2_t __a, float64x2_t __b, float64_t __c) { |
| 2162 return __a + (__b * (float64x2_t){ __c, __c }); } |
| 2163 |
| 2164 __ai float64x1_t vmls_f64(float64x1_t __a, float64x1_t __b, float64x1_t __c) { |
| 2165 return __a - (__b * __c); } |
| 2166 __ai float64x2_t vmlsq_f64(float64x2_t __a, float64x2_t __b, float64x2_t __c) { |
| 2167 return __a - (__b * __c); } |
| 2168 |
| 2169 __ai float64x2_t vmlsq_n_f64(float64x2_t __a, float64x2_t __b, float64_t __c) { |
| 2170 return __a - (__b * (float64x2_t){ __c, __c }); } |
| 2171 |
| 2172 __ai float64x1_t vmov_n_f64(float64_t __a) { |
| 2173 return (float64x1_t){ __a }; } |
| 2174 __ai float64x2_t vmovq_n_f64(float64_t __a) { |
| 2175 return (float64x2_t){ __a, __a }; } |
| 2176 |
| 2177 __ai float64x1_t vmul_f64(float64x1_t __a, float64x1_t __b) { |
| 2178 return __a * __b; } |
| 2179 __ai float64x2_t vmulq_f64(float64x2_t __a, float64x2_t __b) { |
| 2180 return __a * __b; } |
| 2181 |
| 2182 __ai float32x2_t vmulx_f32(float32x2_t __a, float32x2_t __b) { |
| 2183 return (float32x2_t)__builtin_neon_vmulx_v((int8x8_t)__a, (int8x8_t)__b, 9); } |
| 2184 __ai float64x1_t vmulx_f64(float64x1_t __a, float64x1_t __b) { |
| 2185 return (float64x1_t)__builtin_neon_vmulx_v((int8x8_t)__a, (int8x8_t)__b, 10);
} |
| 2186 __ai float32x4_t vmulxq_f32(float32x4_t __a, float32x4_t __b) { |
| 2187 return (float32x4_t)__builtin_neon_vmulxq_v((int8x16_t)__a, (int8x16_t)__b, 41
); } |
| 2188 __ai float64x2_t vmulxq_f64(float64x2_t __a, float64x2_t __b) { |
| 2189 return (float64x2_t)__builtin_neon_vmulxq_v((int8x16_t)__a, (int8x16_t)__b, 42
); } |
| 2190 |
| 2191 __ai float64x1_t vneg_f64(float64x1_t __a) { |
| 2192 return -__a; } |
| 2193 __ai int64x1_t vneg_s64(int64x1_t __a) { |
| 2194 return -__a; } |
| 2195 __ai float64x2_t vnegq_f64(float64x2_t __a) { |
| 2196 return -__a; } |
| 2197 __ai int64x2_t vnegq_s64(int64x2_t __a) { |
| 2198 return -__a; } |
| 2199 |
| 2200 __ai int64x1_t vqabs_s64(int64x1_t __a) { |
| 2201 return (int64x1_t)__builtin_neon_vqabs_v((int8x8_t)__a, 3); } |
| 2202 __ai int64x2_t vqabsq_s64(int64x2_t __a) { |
| 2203 return (int64x2_t)__builtin_neon_vqabsq_v((int8x16_t)__a, 35); } |
| 2204 |
| 2205 __ai int64x1_t vqneg_s64(int64x1_t __a) { |
| 2206 return (int64x1_t)__builtin_neon_vqneg_v((int8x8_t)__a, 3); } |
| 2207 __ai int64x2_t vqnegq_s64(int64x2_t __a) { |
| 2208 return (int64x2_t)__builtin_neon_vqnegq_v((int8x16_t)__a, 35); } |
| 2209 |
| 2210 #define vqrshrn_high_n_s16(a, b, __c) __extension__ ({ \ |
| 2211 int8x8_t __a = (a); int16x8_t __b = (b); \ |
| 2212 (int8x16_t)vcombine_s16(__a, vqrshrn_n_s16(__b, __c)); }) |
| 2213 #define vqrshrn_high_n_s32(a, b, __c) __extension__ ({ \ |
| 2214 int16x4_t __a = (a); int32x4_t __b = (b); \ |
| 2215 (int16x8_t)vcombine_s32(__a, vqrshrn_n_s32(__b, __c)); }) |
| 2216 #define vqrshrn_high_n_s64(a, b, __c) __extension__ ({ \ |
| 2217 int32x2_t __a = (a); int64x2_t __b = (b); \ |
| 2218 (int32x4_t)vcombine_s64(__a, vqrshrn_n_s64(__b, __c)); }) |
| 2219 #define vqrshrn_high_n_u16(a, b, __c) __extension__ ({ \ |
| 2220 uint8x8_t __a = (a); uint16x8_t __b = (b); \ |
| 2221 (uint8x16_t)vcombine_u16(__a, vqrshrn_n_u16(__b, __c)); }) |
| 2222 #define vqrshrn_high_n_u32(a, b, __c) __extension__ ({ \ |
| 2223 uint16x4_t __a = (a); uint32x4_t __b = (b); \ |
| 2224 (uint16x8_t)vcombine_u32(__a, vqrshrn_n_u32(__b, __c)); }) |
| 2225 #define vqrshrn_high_n_u64(a, b, __c) __extension__ ({ \ |
| 2226 uint32x2_t __a = (a); uint64x2_t __b = (b); \ |
| 2227 (uint32x4_t)vcombine_u64(__a, vqrshrn_n_u64(__b, __c)); }) |
| 2228 |
| 2229 #define vqrshrun_high_n_s16(a, b, __c) __extension__ ({ \ |
| 2230 int8x8_t __a = (a); int16x8_t __b = (b); \ |
| 2231 (int8x16_t)vcombine_s16(__a, vqrshrun_n_s16(__b, __c)); }) |
| 2232 #define vqrshrun_high_n_s32(a, b, __c) __extension__ ({ \ |
| 2233 int16x4_t __a = (a); int32x4_t __b = (b); \ |
| 2234 (int16x8_t)vcombine_s32(__a, vqrshrun_n_s32(__b, __c)); }) |
| 2235 #define vqrshrun_high_n_s64(a, b, __c) __extension__ ({ \ |
| 2236 int32x2_t __a = (a); int64x2_t __b = (b); \ |
| 2237 (int32x4_t)vcombine_s64(__a, vqrshrun_n_s64(__b, __c)); }) |
| 2238 |
| 2239 #define vqshrn_high_n_s16(a, b, __c) __extension__ ({ \ |
| 2240 int8x8_t __a = (a); int16x8_t __b = (b); \ |
| 2241 (int8x16_t)vcombine_s16(__a, vqshrn_n_s16(__b, __c)); }) |
| 2242 #define vqshrn_high_n_s32(a, b, __c) __extension__ ({ \ |
| 2243 int16x4_t __a = (a); int32x4_t __b = (b); \ |
| 2244 (int16x8_t)vcombine_s32(__a, vqshrn_n_s32(__b, __c)); }) |
| 2245 #define vqshrn_high_n_s64(a, b, __c) __extension__ ({ \ |
| 2246 int32x2_t __a = (a); int64x2_t __b = (b); \ |
| 2247 (int32x4_t)vcombine_s64(__a, vqshrn_n_s64(__b, __c)); }) |
| 2248 #define vqshrn_high_n_u16(a, b, __c) __extension__ ({ \ |
| 2249 uint8x8_t __a = (a); uint16x8_t __b = (b); \ |
| 2250 (uint8x16_t)vcombine_u16(__a, vqshrn_n_u16(__b, __c)); }) |
| 2251 #define vqshrn_high_n_u32(a, b, __c) __extension__ ({ \ |
| 2252 uint16x4_t __a = (a); uint32x4_t __b = (b); \ |
| 2253 (uint16x8_t)vcombine_u32(__a, vqshrn_n_u32(__b, __c)); }) |
| 2254 #define vqshrn_high_n_u64(a, b, __c) __extension__ ({ \ |
| 2255 uint32x2_t __a = (a); uint64x2_t __b = (b); \ |
| 2256 (uint32x4_t)vcombine_u64(__a, vqshrn_n_u64(__b, __c)); }) |
| 2257 |
| 2258 #define vqshrun_high_n_s16(a, b, __c) __extension__ ({ \ |
| 2259 int8x8_t __a = (a); int16x8_t __b = (b); \ |
| 2260 (int8x16_t)vcombine_s16(__a, vqshrun_n_s16(__b, __c)); }) |
| 2261 #define vqshrun_high_n_s32(a, b, __c) __extension__ ({ \ |
| 2262 int16x4_t __a = (a); int32x4_t __b = (b); \ |
| 2263 (int16x8_t)vcombine_s32(__a, vqshrun_n_s32(__b, __c)); }) |
| 2264 #define vqshrun_high_n_s64(a, b, __c) __extension__ ({ \ |
| 2265 int32x2_t __a = (a); int64x2_t __b = (b); \ |
| 2266 (int32x4_t)vcombine_s64(__a, vqshrun_n_s64(__b, __c)); }) |
| 2267 |
| 2268 __ai int8x16_t vqmovn_high_s16(int8x8_t __a, int16x8_t __b) { |
| 2269 int8x8_t __a1 = vqmovn_s16(__b); |
| 2270 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
, 12, 13, 14, 15); } |
| 2271 __ai int16x8_t vqmovn_high_s32(int16x4_t __a, int32x4_t __b) { |
| 2272 int16x4_t __a1 = vqmovn_s32(__b); |
| 2273 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); } |
| 2274 __ai int32x4_t vqmovn_high_s64(int32x2_t __a, int64x2_t __b) { |
| 2275 int32x2_t __a1 = vqmovn_s64(__b); |
| 2276 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); } |
| 2277 __ai uint8x16_t vqmovn_high_u16(uint8x8_t __a, uint16x8_t __b) { |
| 2278 uint8x8_t __a1 = vqmovn_u16(__b); |
| 2279 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
, 12, 13, 14, 15); } |
| 2280 __ai uint16x8_t vqmovn_high_u32(uint16x4_t __a, uint32x4_t __b) { |
| 2281 uint16x4_t __a1 = vqmovn_u32(__b); |
| 2282 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); } |
| 2283 __ai uint32x4_t vqmovn_high_u64(uint32x2_t __a, uint64x2_t __b) { |
| 2284 uint32x2_t __a1 = vqmovn_u64(__b); |
| 2285 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); } |
| 2286 |
| 2287 __ai int8x8_t vrbit_s8(int8x8_t __a) { |
| 2288 return (int8x8_t)__builtin_neon_vrbit_v(__a, 0); } |
| 2289 __ai uint8x8_t vrbit_u8(uint8x8_t __a) { |
| 2290 return (uint8x8_t)__builtin_neon_vrbit_v((int8x8_t)__a, 16); } |
| 2291 __ai poly8x8_t vrbit_p8(poly8x8_t __a) { |
| 2292 return (poly8x8_t)__builtin_neon_vrbit_v((int8x8_t)__a, 4); } |
| 2293 __ai int8x16_t vrbitq_s8(int8x16_t __a) { |
| 2294 return (int8x16_t)__builtin_neon_vrbitq_v(__a, 32); } |
| 2295 __ai uint8x16_t vrbitq_u8(uint8x16_t __a) { |
| 2296 return (uint8x16_t)__builtin_neon_vrbitq_v((int8x16_t)__a, 48); } |
| 2297 __ai poly8x16_t vrbitq_p8(poly8x16_t __a) { |
| 2298 return (poly8x16_t)__builtin_neon_vrbitq_v((int8x16_t)__a, 36); } |
| 2299 |
| 2300 #define vrshrn_high_n_s16(a, b, __c) __extension__ ({ \ |
| 2301 int8x8_t __a = (a); int16x8_t __b = (b); \ |
| 2302 (int8x16_t)vcombine_s16(__a, vrshrn_n_s16(__b, __c)); }) |
| 2303 #define vrshrn_high_n_s32(a, b, __c) __extension__ ({ \ |
| 2304 int16x4_t __a = (a); int32x4_t __b = (b); \ |
| 2305 (int16x8_t)vcombine_s32(__a, vrshrn_n_s32(__b, __c)); }) |
| 2306 #define vrshrn_high_n_s64(a, b, __c) __extension__ ({ \ |
| 2307 int32x2_t __a = (a); int64x2_t __b = (b); \ |
| 2308 (int32x4_t)vcombine_s64(__a, vrshrn_n_s64(__b, __c)); }) |
| 2309 #define vrshrn_high_n_u16(a, b, __c) __extension__ ({ \ |
| 2310 uint8x8_t __a = (a); uint16x8_t __b = (b); \ |
| 2311 (uint8x16_t)vcombine_u16(__a, vrshrn_n_u16(__b, __c)); }) |
| 2312 #define vrshrn_high_n_u32(a, b, __c) __extension__ ({ \ |
| 2313 uint16x4_t __a = (a); uint32x4_t __b = (b); \ |
| 2314 (uint16x8_t)vcombine_u32(__a, vrshrn_n_u32(__b, __c)); }) |
| 2315 #define vrshrn_high_n_u64(a, b, __c) __extension__ ({ \ |
| 2316 uint32x2_t __a = (a); uint64x2_t __b = (b); \ |
| 2317 (uint32x4_t)vcombine_u64(__a, vrshrn_n_u64(__b, __c)); }) |
| 2318 |
| 2319 __ai float32_t vabds_f32(float32_t __a, float32_t __b) { |
| 2320 return (float32_t)__builtin_neon_vabds_f32(__a, __b); } |
| 2321 __ai float64_t vabdd_f64(float64_t __a, float64_t __b) { |
| 2322 return (float64_t)__builtin_neon_vabdd_f64(__a, __b); } |
| 2323 |
| 2324 __ai int64_t vabsd_s64(int64_t __a) { |
| 2325 return (int64_t)__builtin_neon_vabsd_s64(__a); } |
| 2326 |
| 2327 __ai int64_t vaddd_s64(int64_t __a, int64_t __b) { |
| 2328 return (int64_t)__builtin_neon_vaddd_s64(__a, __b); } |
| 2329 __ai uint64_t vaddd_u64(uint64_t __a, uint64_t __b) { |
| 2330 return (uint64_t)__builtin_neon_vaddd_u64(__a, __b); } |
| 2331 |
| 2332 __ai float32_t vpadds_f32(float32x2_t __a) { |
| 2333 return (float32_t)__builtin_neon_vpadds_f32(__a); } |
| 2334 __ai int64_t vpaddd_s64(int64x2_t __a) { |
| 2335 return (int64_t)__builtin_neon_vpaddd_s64(__a); } |
| 2336 __ai float64_t vpaddd_f64(float64x2_t __a) { |
| 2337 return (float64_t)__builtin_neon_vpaddd_f64(__a); } |
| 2338 __ai uint64_t vpaddd_u64(uint64x2_t __a) { |
| 2339 return (uint64_t)__builtin_neon_vpaddd_u64((int64x2_t)__a); } |
| 2340 |
| 2341 __ai int64_t vceqd_s64(int64_t __a, int64_t __b) { |
| 2342 return (int64_t)__builtin_neon_vceqd_s64(__a, __b); } |
| 2343 __ai uint64_t vceqd_u64(uint64_t __a, uint64_t __b) { |
| 2344 return (uint64_t)__builtin_neon_vceqd_u64(__a, __b); } |
| 2345 |
| 2346 __ai int64_t vceqzd_s64(int64_t __a) { |
| 2347 return (int64_t)__builtin_neon_vceqzd_s64(__a); } |
| 2348 __ai uint64_t vceqzd_u64(uint64_t __a) { |
| 2349 return (uint64_t)__builtin_neon_vceqzd_u64(__a); } |
| 2350 |
| 2351 __ai int64_t vcged_s64(int64_t __a, int64_t __b) { |
| 2352 return (int64_t)__builtin_neon_vcged_s64(__a, __b); } |
| 2353 |
| 2354 __ai int64_t vcgezd_s64(int64_t __a) { |
| 2355 return (int64_t)__builtin_neon_vcgezd_s64(__a); } |
| 2356 |
| 2357 __ai int64_t vcgtd_s64(int64_t __a, int64_t __b) { |
| 2358 return (int64_t)__builtin_neon_vcgtd_s64(__a, __b); } |
| 2359 |
| 2360 __ai int64_t vcgtzd_s64(int64_t __a) { |
| 2361 return (int64_t)__builtin_neon_vcgtzd_s64(__a); } |
| 2362 |
| 2363 __ai uint64_t vcgtd_u64(uint64_t __a, uint64_t __b) { |
| 2364 return (uint64_t)__builtin_neon_vcgtd_u64(__a, __b); } |
| 2365 |
| 2366 __ai uint64_t vcged_u64(uint64_t __a, uint64_t __b) { |
| 2367 return (uint64_t)__builtin_neon_vcged_u64(__a, __b); } |
| 2368 |
| 2369 __ai int64_t vcled_s64(int64_t __a, int64_t __b) { |
| 2370 return (int64_t)__builtin_neon_vcled_s64(__a, __b); } |
| 2371 __ai uint64_t vcled_u64(uint64_t __a, uint64_t __b) { |
| 2372 return (uint64_t)__builtin_neon_vcled_u64(__a, __b); } |
| 2373 |
| 2374 __ai int64_t vclezd_s64(int64_t __a) { |
| 2375 return (int64_t)__builtin_neon_vclezd_s64(__a); } |
| 2376 |
| 2377 __ai int64_t vcltd_s64(int64_t __a, int64_t __b) { |
| 2378 return (int64_t)__builtin_neon_vcltd_s64(__a, __b); } |
| 2379 __ai uint64_t vcltd_u64(uint64_t __a, uint64_t __b) { |
| 2380 return (uint64_t)__builtin_neon_vcltd_u64(__a, __b); } |
| 2381 |
| 2382 __ai int64_t vcltzd_s64(int64_t __a) { |
| 2383 return (int64_t)__builtin_neon_vcltzd_s64(__a); } |
| 2384 |
| 2385 __ai int64_t vtstd_s64(int64_t __a, int64_t __b) { |
| 2386 return (int64_t)__builtin_neon_vtstd_s64(__a, __b); } |
| 2387 __ai uint64_t vtstd_u64(uint64_t __a, uint64_t __b) { |
| 2388 return (uint64_t)__builtin_neon_vtstd_u64(__a, __b); } |
| 2389 |
| 2390 __ai uint32_t vcages_f32(float32_t __a, float32_t __b) { |
| 2391 return (uint32_t)__builtin_neon_vcages_f32(__a, __b); } |
| 2392 __ai uint64_t vcaged_f64(float64_t __a, float64_t __b) { |
| 2393 return (uint64_t)__builtin_neon_vcaged_f64(__a, __b); } |
| 2394 |
| 2395 __ai uint32_t vcagts_f32(float32_t __a, float32_t __b) { |
| 2396 return (uint32_t)__builtin_neon_vcagts_f32(__a, __b); } |
| 2397 __ai uint64_t vcagtd_f64(float64_t __a, float64_t __b) { |
| 2398 return (uint64_t)__builtin_neon_vcagtd_f64(__a, __b); } |
| 2399 |
| 2400 __ai uint32_t vcales_f32(float32_t __a, float32_t __b) { |
| 2401 return (uint32_t)__builtin_neon_vcales_f32(__a, __b); } |
| 2402 __ai uint64_t vcaled_f64(float64_t __a, float64_t __b) { |
| 2403 return (uint64_t)__builtin_neon_vcaled_f64(__a, __b); } |
| 2404 |
| 2405 __ai uint32_t vcalts_f32(float32_t __a, float32_t __b) { |
| 2406 return (uint32_t)__builtin_neon_vcalts_f32(__a, __b); } |
| 2407 __ai uint64_t vcaltd_f64(float64_t __a, float64_t __b) { |
| 2408 return (uint64_t)__builtin_neon_vcaltd_f64(__a, __b); } |
| 2409 |
| 2410 __ai uint32_t vceqs_f32(float32_t __a, float32_t __b) { |
| 2411 return (uint32_t)__builtin_neon_vceqs_f32(__a, __b); } |
| 2412 __ai uint64_t vceqd_f64(float64_t __a, float64_t __b) { |
| 2413 return (uint64_t)__builtin_neon_vceqd_f64(__a, __b); } |
| 2414 |
| 2415 __ai uint32_t vceqzs_f32(float32_t __a) { |
| 2416 return (uint32_t)__builtin_neon_vceqzs_f32(__a); } |
| 2417 __ai uint64_t vceqzd_f64(float64_t __a) { |
| 2418 return (uint64_t)__builtin_neon_vceqzd_f64(__a); } |
| 2419 |
| 2420 __ai uint32_t vcges_f32(float32_t __a, float32_t __b) { |
| 2421 return (uint32_t)__builtin_neon_vcges_f32(__a, __b); } |
| 2422 __ai uint64_t vcged_f64(float64_t __a, float64_t __b) { |
| 2423 return (uint64_t)__builtin_neon_vcged_f64(__a, __b); } |
| 2424 |
| 2425 __ai uint32_t vcgezs_f32(float32_t __a) { |
| 2426 return (uint32_t)__builtin_neon_vcgezs_f32(__a); } |
| 2427 __ai uint64_t vcgezd_f64(float64_t __a) { |
| 2428 return (uint64_t)__builtin_neon_vcgezd_f64(__a); } |
| 2429 |
| 2430 __ai uint32_t vcgts_f32(float32_t __a, float32_t __b) { |
| 2431 return (uint32_t)__builtin_neon_vcgts_f32(__a, __b); } |
| 2432 __ai uint64_t vcgtd_f64(float64_t __a, float64_t __b) { |
| 2433 return (uint64_t)__builtin_neon_vcgtd_f64(__a, __b); } |
| 2434 |
| 2435 __ai uint32_t vcgtzs_f32(float32_t __a) { |
| 2436 return (uint32_t)__builtin_neon_vcgtzs_f32(__a); } |
| 2437 __ai uint64_t vcgtzd_f64(float64_t __a) { |
| 2438 return (uint64_t)__builtin_neon_vcgtzd_f64(__a); } |
| 2439 |
| 2440 __ai uint32_t vcles_f32(float32_t __a, float32_t __b) { |
| 2441 return (uint32_t)__builtin_neon_vcles_f32(__a, __b); } |
| 2442 __ai uint64_t vcled_f64(float64_t __a, float64_t __b) { |
| 2443 return (uint64_t)__builtin_neon_vcled_f64(__a, __b); } |
| 2444 |
| 2445 __ai uint32_t vclezs_f32(float32_t __a) { |
| 2446 return (uint32_t)__builtin_neon_vclezs_f32(__a); } |
| 2447 __ai uint64_t vclezd_f64(float64_t __a) { |
| 2448 return (uint64_t)__builtin_neon_vclezd_f64(__a); } |
| 2449 |
| 2450 __ai uint32_t vclts_f32(float32_t __a, float32_t __b) { |
| 2451 return (uint32_t)__builtin_neon_vclts_f32(__a, __b); } |
| 2452 __ai uint64_t vcltd_f64(float64_t __a, float64_t __b) { |
| 2453 return (uint64_t)__builtin_neon_vcltd_f64(__a, __b); } |
| 2454 |
| 2455 __ai uint32_t vcltzs_f32(float32_t __a) { |
| 2456 return (uint32_t)__builtin_neon_vcltzs_f32(__a); } |
| 2457 __ai uint64_t vcltzd_f64(float64_t __a) { |
| 2458 return (uint64_t)__builtin_neon_vcltzd_f64(__a); } |
| 2459 |
| 2460 __ai int64_t vcvtad_s64_f64(float64_t __a) { |
| 2461 return (int64_t)__builtin_neon_vcvtad_s64_f64(__a); } |
| 2462 |
| 2463 __ai int32_t vcvtas_s32_f32(float32_t __a) { |
| 2464 return (int32_t)__builtin_neon_vcvtas_s32_f32(__a); } |
| 2465 |
| 2466 __ai uint64_t vcvtad_u64_f64(float64_t __a) { |
| 2467 return (uint64_t)__builtin_neon_vcvtad_u64_f64(__a); } |
| 2468 |
| 2469 __ai uint32_t vcvtas_u32_f32(float32_t __a) { |
| 2470 return (uint32_t)__builtin_neon_vcvtas_u32_f32(__a); } |
| 2471 |
| 2472 __ai int64_t vcvtmd_s64_f64(float64_t __a) { |
| 2473 return (int64_t)__builtin_neon_vcvtmd_s64_f64(__a); } |
| 2474 |
| 2475 __ai int32_t vcvtms_s32_f32(float32_t __a) { |
| 2476 return (int32_t)__builtin_neon_vcvtms_s32_f32(__a); } |
| 2477 |
| 2478 __ai uint64_t vcvtmd_u64_f64(float64_t __a) { |
| 2479 return (uint64_t)__builtin_neon_vcvtmd_u64_f64(__a); } |
| 2480 |
| 2481 __ai uint32_t vcvtms_u32_f32(float32_t __a) { |
| 2482 return (uint32_t)__builtin_neon_vcvtms_u32_f32(__a); } |
| 2483 |
| 2484 __ai int64_t vcvtnd_s64_f64(float64_t __a) { |
| 2485 return (int64_t)__builtin_neon_vcvtnd_s64_f64(__a); } |
| 2486 |
| 2487 __ai int32_t vcvtns_s32_f32(float32_t __a) { |
| 2488 return (int32_t)__builtin_neon_vcvtns_s32_f32(__a); } |
| 2489 |
| 2490 __ai uint64_t vcvtnd_u64_f64(float64_t __a) { |
| 2491 return (uint64_t)__builtin_neon_vcvtnd_u64_f64(__a); } |
| 2492 |
| 2493 __ai uint32_t vcvtns_u32_f32(float32_t __a) { |
| 2494 return (uint32_t)__builtin_neon_vcvtns_u32_f32(__a); } |
| 2495 |
| 2496 __ai int64_t vcvtpd_s64_f64(float64_t __a) { |
| 2497 return (int64_t)__builtin_neon_vcvtpd_s64_f64(__a); } |
| 2498 |
| 2499 __ai int32_t vcvtps_s32_f32(float32_t __a) { |
| 2500 return (int32_t)__builtin_neon_vcvtps_s32_f32(__a); } |
| 2501 |
| 2502 __ai uint64_t vcvtpd_u64_f64(float64_t __a) { |
| 2503 return (uint64_t)__builtin_neon_vcvtpd_u64_f64(__a); } |
| 2504 |
| 2505 __ai uint32_t vcvtps_u32_f32(float32_t __a) { |
| 2506 return (uint32_t)__builtin_neon_vcvtps_u32_f32(__a); } |
| 2507 |
| 2508 __ai float32_t vcvtxd_f32_f64(float64_t __a) { |
| 2509 return (float32_t)__builtin_neon_vcvtxd_f32_f64(__a); } |
| 2510 |
| 2511 __ai int64_t vcvtd_s64_f64(float64_t __a) { |
| 2512 return (int64_t)__builtin_neon_vcvtd_s64_f64(__a); } |
| 2513 |
| 2514 __ai int32_t vcvts_s32_f32(float32_t __a) { |
| 2515 return (int32_t)__builtin_neon_vcvts_s32_f32(__a); } |
| 2516 |
| 2517 #define vcvts_n_s32_f32(a, __b) __extension__ ({ \ |
| 2518 float32_t __a = (a); \ |
| 2519 (int32_t)__builtin_neon_vcvts_n_s32_f32(__a, __b); }) |
| 2520 |
| 2521 #define vcvtd_n_s64_f64(a, __b) __extension__ ({ \ |
| 2522 float64_t __a = (a); \ |
| 2523 (int64_t)__builtin_neon_vcvtd_n_s64_f64(__a, __b); }) |
| 2524 |
| 2525 __ai uint64_t vcvtd_u64_f64(float64_t __a) { |
| 2526 return (uint64_t)__builtin_neon_vcvtd_u64_f64(__a); } |
| 2527 |
| 2528 __ai uint32_t vcvts_u32_f32(float32_t __a) { |
| 2529 return (uint32_t)__builtin_neon_vcvts_u32_f32(__a); } |
| 2530 |
| 2531 #define vcvts_n_u32_f32(a, __b) __extension__ ({ \ |
| 2532 float32_t __a = (a); \ |
| 2533 (uint32_t)__builtin_neon_vcvts_n_u32_f32(__a, __b); }) |
| 2534 |
| 2535 #define vcvtd_n_u64_f64(a, __b) __extension__ ({ \ |
| 2536 float64_t __a = (a); \ |
| 2537 (uint64_t)__builtin_neon_vcvtd_n_u64_f64(__a, __b); }) |
| 2538 |
| 2539 __ai float32_t vpmaxnms_f32(float32x2_t __a) { |
| 2540 return (float32_t)__builtin_neon_vpmaxnms_f32(__a); } |
| 2541 __ai float64_t vpmaxnmqd_f64(float64x2_t __a) { |
| 2542 return (float64_t)__builtin_neon_vpmaxnmqd_f64(__a); } |
| 2543 |
| 2544 __ai float32_t vpmaxs_f32(float32x2_t __a) { |
| 2545 return (float32_t)__builtin_neon_vpmaxs_f32(__a); } |
| 2546 __ai float64_t vpmaxqd_f64(float64x2_t __a) { |
| 2547 return (float64_t)__builtin_neon_vpmaxqd_f64(__a); } |
| 2548 |
| 2549 __ai float32_t vpminnms_f32(float32x2_t __a) { |
| 2550 return (float32_t)__builtin_neon_vpminnms_f32(__a); } |
| 2551 __ai float64_t vpminnmqd_f64(float64x2_t __a) { |
| 2552 return (float64_t)__builtin_neon_vpminnmqd_f64(__a); } |
| 2553 |
| 2554 __ai float32_t vpmins_f32(float32x2_t __a) { |
| 2555 return (float32_t)__builtin_neon_vpmins_f32(__a); } |
| 2556 __ai float64_t vpminqd_f64(float64x2_t __a) { |
| 2557 return (float64_t)__builtin_neon_vpminqd_f64(__a); } |
| 2558 |
| 2559 #define vfmas_lane_f32(a, b, c, __d) __extension__ ({ \ |
| 2560 float32_t __a = (a); float32_t __b = (b); float32x2_t __c = (c); \ |
| 2561 (float32_t)__builtin_neon_vfmas_lane_f32(__a, __b, __c, __d); }) |
| 2562 #define vfmad_lane_f64(a, b, c, __d) __extension__ ({ \ |
| 2563 float64_t __a = (a); float64_t __b = (b); float64x1_t __c = (c); \ |
| 2564 (float64_t)__builtin_neon_vfmad_lane_f64(__a, __b, __c, __d); }) |
| 2565 |
| 2566 #define vfmas_laneq_f32(a, b, c, __d) __extension__ ({ \ |
| 2567 float32_t __a = (a); float32_t __b = (b); float32x4_t __c = (c); \ |
| 2568 (float32_t)__builtin_neon_vfmas_laneq_f32(__a, __b, __c, __d); }) |
| 2569 #define vfmad_laneq_f64(a, b, c, __d) __extension__ ({ \ |
| 2570 float64_t __a = (a); float64_t __b = (b); float64x2_t __c = (c); \ |
| 2571 (float64_t)__builtin_neon_vfmad_laneq_f64(__a, __b, __c, __d); }) |
| 2572 |
| 2573 #define vfmss_lane_f32(a, b, c, __d) __extension__ ({ \ |
| 2574 float32_t __a = (a); float32_t __b = (b); float32x2_t __c = (c); \ |
| 2575 float32_t __a1 = __a; \ |
| 2576 float32_t __b1 = __b; \ |
| 2577 float32x2_t __c1 = __c; \ |
| 2578 vfmas_lane_f32(__a1, __b1, -__c1, __d); }) |
| 2579 #define vfmsd_lane_f64(a, b, c, __d) __extension__ ({ \ |
| 2580 float64_t __a = (a); float64_t __b = (b); float64x1_t __c = (c); \ |
| 2581 float64_t __a1 = __a; \ |
| 2582 float64_t __b1 = __b; \ |
| 2583 float64x1_t __c1 = __c; \ |
| 2584 vfmad_lane_f64(__a1, __b1, -__c1, __d); }) |
| 2585 |
| 2586 #define vfmss_laneq_f32(a, b, c, __d) __extension__ ({ \ |
| 2587 float32_t __a = (a); float32_t __b = (b); float32x4_t __c = (c); \ |
| 2588 float32_t __a1 = __a; \ |
| 2589 float32_t __b1 = __b; \ |
| 2590 float32x4_t __c1 = __c; \ |
| 2591 vfmas_laneq_f32(__a1, __b1, -__c1, __d); }) |
| 2592 #define vfmsd_laneq_f64(a, b, c, __d) __extension__ ({ \ |
| 2593 float64_t __a = (a); float64_t __b = (b); float64x2_t __c = (c); \ |
| 2594 float64_t __a1 = __a; \ |
| 2595 float64_t __b1 = __b; \ |
| 2596 float64x2_t __c1 = __c; \ |
| 2597 vfmad_laneq_f64(__a1, __b1, -__c1, __d); }) |
| 2598 |
| 2599 __ai float32_t vmulxs_f32(float32_t __a, float32_t __b) { |
| 2600 return (float32_t)__builtin_neon_vmulxs_f32(__a, __b); } |
| 2601 __ai float64_t vmulxd_f64(float64_t __a, float64_t __b) { |
| 2602 return (float64_t)__builtin_neon_vmulxd_f64(__a, __b); } |
| 2603 |
| 2604 #define vmulxs_lane_f32(a, b, __c) __extension__ ({ \ |
| 2605 float32_t __a = (a); float32x2_t __b = (b); \ |
| 2606 float32_t __a1 = __a; \ |
| 2607 float32x2_t __b1 = __b; \ |
| 2608 float32_t __d1 = vget_lane_f32(__b1, __c);\ |
| 2609 vmulxs_f32(__a1, __d1); }) |
| 2610 #define vmulxd_lane_f64(a, b, __c) __extension__ ({ \ |
| 2611 float64_t __a = (a); float64x1_t __b = (b); \ |
| 2612 float64_t __a1 = __a; \ |
| 2613 float64x1_t __b1 = __b; \ |
| 2614 float64_t __d1 = vget_lane_f64(__b1, __c);\ |
| 2615 vmulxd_f64(__a1, __d1); }) |
| 2616 |
| 2617 #define vmulxs_laneq_f32(a, b, __c) __extension__ ({ \ |
| 2618 float32_t __a = (a); float32x4_t __b = (b); \ |
| 2619 float32_t __a1 = __a; \ |
| 2620 float32x4_t __b1 = __b; \ |
| 2621 float32_t __d1 = vgetq_lane_f32(__b1, __c);\ |
| 2622 vmulxs_f32(__a1, __d1); }) |
| 2623 #define vmulxd_laneq_f64(a, b, __c) __extension__ ({ \ |
| 2624 float64_t __a = (a); float64x2_t __b = (b); \ |
| 2625 float64_t __a1 = __a; \ |
| 2626 float64x2_t __b1 = __b; \ |
| 2627 float64_t __d1 = vgetq_lane_f64(__b1, __c);\ |
| 2628 vmulxd_f64(__a1, __d1); }) |
| 2629 |
| 2630 #define vmuls_lane_f32(a, b, __c) __extension__ ({ \ |
| 2631 float32_t __a = (a); float32x2_t __b = (b); \ |
| 2632 float32_t __d1 = vget_lane_f32(__b, __c);\ |
| 2633 __a * __d1; }) |
| 2634 #define vmuld_lane_f64(a, b, __c) __extension__ ({ \ |
| 2635 float64_t __a = (a); float64x1_t __b = (b); \ |
| 2636 float64_t __d1 = vget_lane_f64(__b, __c);\ |
| 2637 __a * __d1; }) |
| 2638 |
| 2639 #define vmuls_laneq_f32(a, b, __c) __extension__ ({ \ |
| 2640 float32_t __a = (a); float32x4_t __b = (b); \ |
| 2641 float32_t __a1 = __a; \ |
| 2642 float32x4_t __b1 = __b; \ |
| 2643 float32_t __d1 = vgetq_lane_f32(__b1, __c);\ |
| 2644 __a1 * __d1; }) |
| 2645 #define vmuld_laneq_f64(a, b, __c) __extension__ ({ \ |
| 2646 float64_t __a = (a); float64x2_t __b = (b); \ |
| 2647 float64_t __a1 = __a; \ |
| 2648 float64x2_t __b1 = __b; \ |
| 2649 float64_t __d1 = vgetq_lane_f64(__b1, __c);\ |
| 2650 __a1 * __d1; }) |
| 2651 |
| 2652 __ai float32_t vrecpes_f32(float32_t __a) { |
| 2653 return (float32_t)__builtin_neon_vrecpes_f32(__a); } |
| 2654 __ai float64_t vrecped_f64(float64_t __a) { |
| 2655 return (float64_t)__builtin_neon_vrecped_f64(__a); } |
| 2656 |
| 2657 __ai float32_t vrecpss_f32(float32_t __a, float32_t __b) { |
| 2658 return (float32_t)__builtin_neon_vrecpss_f32(__a, __b); } |
| 2659 __ai float64_t vrecpsd_f64(float64_t __a, float64_t __b) { |
| 2660 return (float64_t)__builtin_neon_vrecpsd_f64(__a, __b); } |
| 2661 |
| 2662 __ai float32_t vrecpxs_f32(float32_t __a) { |
| 2663 return (float32_t)__builtin_neon_vrecpxs_f32(__a); } |
| 2664 __ai float64_t vrecpxd_f64(float64_t __a) { |
| 2665 return (float64_t)__builtin_neon_vrecpxd_f64(__a); } |
| 2666 |
| 2667 __ai float32_t vrsqrtes_f32(float32_t __a) { |
| 2668 return (float32_t)__builtin_neon_vrsqrtes_f32(__a); } |
| 2669 __ai float64_t vrsqrted_f64(float64_t __a) { |
| 2670 return (float64_t)__builtin_neon_vrsqrted_f64(__a); } |
| 2671 |
| 2672 __ai float32_t vrsqrtss_f32(float32_t __a, float32_t __b) { |
| 2673 return (float32_t)__builtin_neon_vrsqrtss_f32(__a, __b); } |
| 2674 __ai float64_t vrsqrtsd_f64(float64_t __a, float64_t __b) { |
| 2675 return (float64_t)__builtin_neon_vrsqrtsd_f64(__a, __b); } |
| 2676 |
| 2677 #define vget_lane_f16(a, __b) __extension__ ({ \ |
| 2678 float16x4_t __a = (a); \ |
| 2679 float16x4_t __a1 = __a; \ |
| 2680 int16x4_t __a2 = *(int16x4_t *)(&__a1);\ |
| 2681 int16_t __a3 = vget_lane_s16(__a2, __b);\ |
| 2682 float16_t __a4 = *(float16_t *)(&__a3);\ |
| 2683 __a4; }) |
| 2684 #define vgetq_lane_f16(a, __b) __extension__ ({ \ |
| 2685 float16x8_t __a = (a); \ |
| 2686 float16x8_t __a1 = __a; \ |
| 2687 int16x8_t __a2 = *(int16x8_t *)(&__a1);\ |
| 2688 int16_t __a3 = vgetq_lane_s16(__a2, __b);\ |
| 2689 float16_t __a4 = *(float16_t *)(&__a3);\ |
| 2690 __a4; }) |
| 2691 |
| 2692 __ai int64_t vnegd_s64(int64_t __a) { |
| 2693 return (int64_t)__builtin_neon_vnegd_s64(__a); } |
| 2694 |
| 2695 __ai int8_t vqaddb_s8(int8_t __a, int8_t __b) { |
| 2696 return (int8_t)__builtin_neon_vqaddb_s8(__a, __b); } |
| 2697 __ai int16_t vqaddh_s16(int16_t __a, int16_t __b) { |
| 2698 return (int16_t)__builtin_neon_vqaddh_s16(__a, __b); } |
| 2699 __ai int32_t vqadds_s32(int32_t __a, int32_t __b) { |
| 2700 return (int32_t)__builtin_neon_vqadds_s32(__a, __b); } |
| 2701 __ai int64_t vqaddd_s64(int64_t __a, int64_t __b) { |
| 2702 return (int64_t)__builtin_neon_vqaddd_s64(__a, __b); } |
| 2703 __ai uint8_t vqaddb_u8(uint8_t __a, uint8_t __b) { |
| 2704 return (uint8_t)__builtin_neon_vqaddb_u8(__a, __b); } |
| 2705 __ai uint16_t vqaddh_u16(uint16_t __a, uint16_t __b) { |
| 2706 return (uint16_t)__builtin_neon_vqaddh_u16(__a, __b); } |
| 2707 __ai uint32_t vqadds_u32(uint32_t __a, uint32_t __b) { |
| 2708 return (uint32_t)__builtin_neon_vqadds_u32(__a, __b); } |
| 2709 __ai uint64_t vqaddd_u64(uint64_t __a, uint64_t __b) { |
| 2710 return (uint64_t)__builtin_neon_vqaddd_u64(__a, __b); } |
| 2711 |
| 2712 __ai int8_t vqrshlb_s8(int8_t __a, int8_t __b) { |
| 2713 return (int8_t)__builtin_neon_vqrshlb_s8(__a, __b); } |
| 2714 __ai int16_t vqrshlh_s16(int16_t __a, int16_t __b) { |
| 2715 return (int16_t)__builtin_neon_vqrshlh_s16(__a, __b); } |
| 2716 __ai int32_t vqrshls_s32(int32_t __a, int32_t __b) { |
| 2717 return (int32_t)__builtin_neon_vqrshls_s32(__a, __b); } |
| 2718 __ai int64_t vqrshld_s64(int64_t __a, int64_t __b) { |
| 2719 return (int64_t)__builtin_neon_vqrshld_s64(__a, __b); } |
| 2720 __ai uint8_t vqrshlb_u8(uint8_t __a, uint8_t __b) { |
| 2721 return (uint8_t)__builtin_neon_vqrshlb_u8(__a, __b); } |
| 2722 __ai uint16_t vqrshlh_u16(uint16_t __a, uint16_t __b) { |
| 2723 return (uint16_t)__builtin_neon_vqrshlh_u16(__a, __b); } |
| 2724 __ai uint32_t vqrshls_u32(uint32_t __a, uint32_t __b) { |
| 2725 return (uint32_t)__builtin_neon_vqrshls_u32(__a, __b); } |
| 2726 __ai uint64_t vqrshld_u64(uint64_t __a, uint64_t __b) { |
| 2727 return (uint64_t)__builtin_neon_vqrshld_u64(__a, __b); } |
| 2728 |
| 2729 __ai int8_t vqshlb_s8(int8_t __a, int8_t __b) { |
| 2730 return (int8_t)__builtin_neon_vqshlb_s8(__a, __b); } |
| 2731 __ai int16_t vqshlh_s16(int16_t __a, int16_t __b) { |
| 2732 return (int16_t)__builtin_neon_vqshlh_s16(__a, __b); } |
| 2733 __ai int32_t vqshls_s32(int32_t __a, int32_t __b) { |
| 2734 return (int32_t)__builtin_neon_vqshls_s32(__a, __b); } |
| 2735 __ai int64_t vqshld_s64(int64_t __a, int64_t __b) { |
| 2736 return (int64_t)__builtin_neon_vqshld_s64(__a, __b); } |
| 2737 __ai uint8_t vqshlb_u8(uint8_t __a, uint8_t __b) { |
| 2738 return (uint8_t)__builtin_neon_vqshlb_u8(__a, __b); } |
| 2739 __ai uint16_t vqshlh_u16(uint16_t __a, uint16_t __b) { |
| 2740 return (uint16_t)__builtin_neon_vqshlh_u16(__a, __b); } |
| 2741 __ai uint32_t vqshls_u32(uint32_t __a, uint32_t __b) { |
| 2742 return (uint32_t)__builtin_neon_vqshls_u32(__a, __b); } |
| 2743 __ai uint64_t vqshld_u64(uint64_t __a, uint64_t __b) { |
| 2744 return (uint64_t)__builtin_neon_vqshld_u64(__a, __b); } |
| 2745 |
| 2746 __ai int8_t vqsubb_s8(int8_t __a, int8_t __b) { |
| 2747 return (int8_t)__builtin_neon_vqsubb_s8(__a, __b); } |
| 2748 __ai int16_t vqsubh_s16(int16_t __a, int16_t __b) { |
| 2749 return (int16_t)__builtin_neon_vqsubh_s16(__a, __b); } |
| 2750 __ai int32_t vqsubs_s32(int32_t __a, int32_t __b) { |
| 2751 return (int32_t)__builtin_neon_vqsubs_s32(__a, __b); } |
| 2752 __ai int64_t vqsubd_s64(int64_t __a, int64_t __b) { |
| 2753 return (int64_t)__builtin_neon_vqsubd_s64(__a, __b); } |
| 2754 __ai uint8_t vqsubb_u8(uint8_t __a, uint8_t __b) { |
| 2755 return (uint8_t)__builtin_neon_vqsubb_u8(__a, __b); } |
| 2756 __ai uint16_t vqsubh_u16(uint16_t __a, uint16_t __b) { |
| 2757 return (uint16_t)__builtin_neon_vqsubh_u16(__a, __b); } |
| 2758 __ai uint32_t vqsubs_u32(uint32_t __a, uint32_t __b) { |
| 2759 return (uint32_t)__builtin_neon_vqsubs_u32(__a, __b); } |
| 2760 __ai uint64_t vqsubd_u64(uint64_t __a, uint64_t __b) { |
| 2761 return (uint64_t)__builtin_neon_vqsubd_u64(__a, __b); } |
| 2762 |
| 2763 __ai int64_t vrshld_s64(int64_t __a, int64_t __b) { |
| 2764 return (int64_t)__builtin_neon_vrshld_s64(__a, __b); } |
| 2765 __ai uint64_t vrshld_u64(uint64_t __a, uint64_t __b) { |
| 2766 return (uint64_t)__builtin_neon_vrshld_u64(__a, __b); } |
| 2767 |
| 2768 __ai float64_t vcvtd_f64_s64(int64_t __a) { |
| 2769 return (float64_t)__builtin_neon_vcvtd_f64_s64(__a); } |
| 2770 |
| 2771 __ai float32_t vcvts_f32_s32(int32_t __a) { |
| 2772 return (float32_t)__builtin_neon_vcvts_f32_s32(__a); } |
| 2773 |
| 2774 #define vcvts_n_f32_s32(a, __b) __extension__ ({ \ |
| 2775 int32_t __a = (a); \ |
| 2776 (float32_t)__builtin_neon_vcvts_n_f32_s32(__a, __b); }) |
| 2777 #define vcvts_n_f32_u32(a, __b) __extension__ ({ \ |
| 2778 uint32_t __a = (a); \ |
| 2779 (float32_t)__builtin_neon_vcvts_n_f32_u32(__a, __b); }) |
| 2780 |
| 2781 #define vcvtd_n_f64_s64(a, __b) __extension__ ({ \ |
| 2782 int64_t __a = (a); \ |
| 2783 (float64_t)__builtin_neon_vcvtd_n_f64_s64(__a, __b); }) |
| 2784 #define vcvtd_n_f64_u64(a, __b) __extension__ ({ \ |
| 2785 uint64_t __a = (a); \ |
| 2786 (float64_t)__builtin_neon_vcvtd_n_f64_u64(__a, __b); }) |
| 2787 |
| 2788 #define vset_lane_f16(a, b, __c) __extension__ ({ \ |
| 2789 float16_t __a = (a); float16x4_t __b = (b); \ |
| 2790 float16_t __a1 = __a;\ |
| 2791 int16_t __a2 = *(int16_t *)(&__a1);\ |
| 2792 int16x4_t __b2 = *(int16x4_t *)(&__b);\ |
| 2793 int16x4_t __b3 = vset_lane_s16(__a2, __b2, __c);\ |
| 2794 float16x4_t __b4 = *(float16x4_t *)(&__b3);\ |
| 2795 __b4; }) |
| 2796 #define vsetq_lane_f16(a, b, __c) __extension__ ({ \ |
| 2797 float16_t __a = (a); float16x8_t __b = (b); \ |
| 2798 float16_t __a1 = __a;\ |
| 2799 int16_t __a2 = *(int16_t *)(&__a1);\ |
| 2800 int16x8_t __b2 = *(int16x8_t *)(&__b);\ |
| 2801 int16x8_t __b3 = vsetq_lane_s16(__a2, __b2, __c);\ |
| 2802 float16x8_t __b4 = *(float16x8_t *)(&__b3);\ |
| 2803 __b4; }) |
| 2804 |
| 2805 __ai int64_t vshld_s64(int64_t __a, int64_t __b) { |
| 2806 return (int64_t)__builtin_neon_vshld_s64(__a, __b); } |
| 2807 __ai uint64_t vshld_u64(uint64_t __a, uint64_t __b) { |
| 2808 return (uint64_t)__builtin_neon_vshld_u64(__a, __b); } |
| 2809 |
| 2810 #define vshld_n_s64(a, __b) __extension__ ({ \ |
| 2811 int64_t __a = (a); \ |
| 2812 (int64_t)__builtin_neon_vshld_n_s64(__a, __b); }) |
| 2813 #define vshld_n_u64(a, __b) __extension__ ({ \ |
| 2814 uint64_t __a = (a); \ |
| 2815 (uint64_t)__builtin_neon_vshld_n_u64(__a, __b); }) |
| 2816 |
| 2817 #define vslid_n_s64(a, b, __c) __extension__ ({ \ |
| 2818 int64_t __a = (a); int64_t __b = (b); \ |
| 2819 (int64_t)__builtin_neon_vslid_n_s64(__a, __b, __c); }) |
| 2820 #define vslid_n_u64(a, b, __c) __extension__ ({ \ |
| 2821 uint64_t __a = (a); uint64_t __b = (b); \ |
| 2822 (uint64_t)__builtin_neon_vslid_n_u64(__a, __b, __c); }) |
| 2823 |
| 2824 __ai int8_t vqabsb_s8(int8_t __a) { |
| 2825 return (int8_t)__builtin_neon_vqabsb_s8(__a); } |
| 2826 __ai int16_t vqabsh_s16(int16_t __a) { |
| 2827 return (int16_t)__builtin_neon_vqabsh_s16(__a); } |
| 2828 __ai int32_t vqabss_s32(int32_t __a) { |
| 2829 return (int32_t)__builtin_neon_vqabss_s32(__a); } |
| 2830 __ai int64_t vqabsd_s64(int64_t __a) { |
| 2831 return (int64_t)__builtin_neon_vqabsd_s64(__a); } |
| 2832 |
| 2833 __ai int32_t vqdmlalh_s16(int32_t __a, int16_t __b, int16_t __c) { |
| 2834 return (int32_t)__builtin_neon_vqdmlalh_s16(__a, __b, __c); } |
| 2835 __ai int64_t vqdmlals_s32(int64_t __a, int32_t __b, int32_t __c) { |
| 2836 return (int64_t)__builtin_neon_vqdmlals_s32(__a, __b, __c); } |
| 2837 |
| 2838 #define vqdmlalh_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 2839 int32_t __a = (a); int16_t __b = (b); int16x4_t __c = (c); \ |
| 2840 (int32_t)__builtin_neon_vqdmlalh_lane_s16(__a, __b, __c, __d); }) |
| 2841 #define vqdmlals_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 2842 int64_t __a = (a); int32_t __b = (b); int32x2_t __c = (c); \ |
| 2843 (int64_t)__builtin_neon_vqdmlals_lane_s32(__a, __b, __c, __d); }) |
| 2844 |
| 2845 #define vqdmlalh_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 2846 int32_t __a = (a); int16_t __b = (b); int16x8_t __c = (c); \ |
| 2847 (int32_t)__builtin_neon_vqdmlalh_laneq_s16(__a, __b, __c, __d); }) |
| 2848 #define vqdmlals_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 2849 int64_t __a = (a); int32_t __b = (b); int32x4_t __c = (c); \ |
| 2850 (int64_t)__builtin_neon_vqdmlals_laneq_s32(__a, __b, __c, __d); }) |
| 2851 |
| 2852 __ai int32_t vqdmlslh_s16(int32_t __a, int16_t __b, int16_t __c) { |
| 2853 return (int32_t)__builtin_neon_vqdmlslh_s16(__a, __b, __c); } |
| 2854 __ai int64_t vqdmlsls_s32(int64_t __a, int32_t __b, int32_t __c) { |
| 2855 return (int64_t)__builtin_neon_vqdmlsls_s32(__a, __b, __c); } |
| 2856 |
| 2857 #define vqdmlslh_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 2858 int32_t __a = (a); int16_t __b = (b); int16x4_t __c = (c); \ |
| 2859 (int32_t)__builtin_neon_vqdmlslh_lane_s16(__a, __b, __c, __d); }) |
| 2860 #define vqdmlsls_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 2861 int64_t __a = (a); int32_t __b = (b); int32x2_t __c = (c); \ |
| 2862 (int64_t)__builtin_neon_vqdmlsls_lane_s32(__a, __b, __c, __d); }) |
| 2863 |
| 2864 #define vqdmlslh_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 2865 int32_t __a = (a); int16_t __b = (b); int16x8_t __c = (c); \ |
| 2866 (int32_t)__builtin_neon_vqdmlslh_laneq_s16(__a, __b, __c, __d); }) |
| 2867 #define vqdmlsls_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 2868 int64_t __a = (a); int32_t __b = (b); int32x4_t __c = (c); \ |
| 2869 (int64_t)__builtin_neon_vqdmlsls_laneq_s32(__a, __b, __c, __d); }) |
| 2870 |
| 2871 __ai int16_t vqdmulhh_s16(int16_t __a, int16_t __b) { |
| 2872 return (int16_t)__builtin_neon_vqdmulhh_s16(__a, __b); } |
| 2873 __ai int32_t vqdmulhs_s32(int32_t __a, int32_t __b) { |
| 2874 return (int32_t)__builtin_neon_vqdmulhs_s32(__a, __b); } |
| 2875 |
| 2876 #define vqdmulhh_lane_s16(a, b, __c) __extension__ ({ \ |
| 2877 int16_t __a = (a); int16x4_t __b = (b); \ |
| 2878 int16_t __a1 = __a; \ |
| 2879 int16x4_t __b1 = __b; \ |
| 2880 vqdmulhh_s16(__a1, vget_lane_s16(__b1, __c)); }) |
| 2881 #define vqdmulhs_lane_s32(a, b, __c) __extension__ ({ \ |
| 2882 int32_t __a = (a); int32x2_t __b = (b); \ |
| 2883 int32_t __a1 = __a; \ |
| 2884 int32x2_t __b1 = __b; \ |
| 2885 vqdmulhs_s32(__a1, vget_lane_s32(__b1, __c)); }) |
| 2886 |
| 2887 #define vqdmulhh_laneq_s16(a, b, __c) __extension__ ({ \ |
| 2888 int16_t __a = (a); int16x8_t __b = (b); \ |
| 2889 int16_t __a1 = __a; \ |
| 2890 int16x8_t __b1 = __b; \ |
| 2891 vqdmulhh_s16(__a1, vgetq_lane_s16(__b1, __c)); }) |
| 2892 #define vqdmulhs_laneq_s32(a, b, __c) __extension__ ({ \ |
| 2893 int32_t __a = (a); int32x4_t __b = (b); \ |
| 2894 int32_t __a1 = __a; \ |
| 2895 int32x4_t __b1 = __b; \ |
| 2896 vqdmulhs_s32(__a1, vgetq_lane_s32(__b1, __c)); }) |
| 2897 |
| 2898 __ai int32_t vqdmullh_s16(int16_t __a, int16_t __b) { |
| 2899 return (int32_t)__builtin_neon_vqdmullh_s16(__a, __b); } |
| 2900 __ai int64_t vqdmulls_s32(int32_t __a, int32_t __b) { |
| 2901 return (int64_t)__builtin_neon_vqdmulls_s32(__a, __b); } |
| 2902 |
| 2903 #define vqdmullh_lane_s16(a, b, __c) __extension__ ({ \ |
| 2904 int16_t __a = (a); int16x4_t __b = (b); \ |
| 2905 int16_t __a1 = __a; \ |
| 2906 int16x4_t __b1 = __b; \ |
| 2907 vqdmullh_s16(__a1, vget_lane_s16(__b1, __c)); }) |
| 2908 #define vqdmulls_lane_s32(a, b, __c) __extension__ ({ \ |
| 2909 int32_t __a = (a); int32x2_t __b = (b); \ |
| 2910 int32_t __a1 = __a; \ |
| 2911 int32x2_t __b1 = __b; \ |
| 2912 vqdmulls_s32(__a1, vget_lane_s32(__b1, __c)); }) |
| 2913 |
| 2914 #define vqdmullh_laneq_s16(a, b, __c) __extension__ ({ \ |
| 2915 int16_t __a = (a); int16x8_t __b = (b); \ |
| 2916 int16_t __a1 = __a; \ |
| 2917 int16x8_t __b1 = __b; \ |
| 2918 vqdmullh_s16(__a1, vgetq_lane_s16(__b1, __c)); }) |
| 2919 #define vqdmulls_laneq_s32(a, b, __c) __extension__ ({ \ |
| 2920 int32_t __a = (a); int32x4_t __b = (b); \ |
| 2921 int32_t __a1 = __a; \ |
| 2922 int32x4_t __b1 = __b; \ |
| 2923 vqdmulls_s32(__a1, vgetq_lane_s32(__b1, __c)); }) |
| 2924 |
| 2925 __ai int8_t vqnegb_s8(int8_t __a) { |
| 2926 return (int8_t)__builtin_neon_vqnegb_s8(__a); } |
| 2927 __ai int16_t vqnegh_s16(int16_t __a) { |
| 2928 return (int16_t)__builtin_neon_vqnegh_s16(__a); } |
| 2929 __ai int32_t vqnegs_s32(int32_t __a) { |
| 2930 return (int32_t)__builtin_neon_vqnegs_s32(__a); } |
| 2931 __ai int64_t vqnegd_s64(int64_t __a) { |
| 2932 return (int64_t)__builtin_neon_vqnegd_s64(__a); } |
| 2933 |
| 2934 __ai int16_t vqrdmulhh_s16(int16_t __a, int16_t __b) { |
| 2935 return (int16_t)__builtin_neon_vqrdmulhh_s16(__a, __b); } |
| 2936 __ai int32_t vqrdmulhs_s32(int32_t __a, int32_t __b) { |
| 2937 return (int32_t)__builtin_neon_vqrdmulhs_s32(__a, __b); } |
| 2938 |
| 2939 #define vqrdmulhh_lane_s16(a, b, __c) __extension__ ({ \ |
| 2940 int16_t __a = (a); int16x4_t __b = (b); \ |
| 2941 int16_t __a1 = __a; \ |
| 2942 int16x4_t __b1 = __b; \ |
| 2943 vqrdmulhh_s16(__a1, vget_lane_s16(__b1, __c)); }) |
| 2944 #define vqrdmulhs_lane_s32(a, b, __c) __extension__ ({ \ |
| 2945 int32_t __a = (a); int32x2_t __b = (b); \ |
| 2946 int32_t __a1 = __a; \ |
| 2947 int32x2_t __b1 = __b; \ |
| 2948 vqrdmulhs_s32(__a1, vget_lane_s32(__b1, __c)); }) |
| 2949 |
| 2950 #define vqrdmulhh_laneq_s16(a, b, __c) __extension__ ({ \ |
| 2951 int16_t __a = (a); int16x8_t __b = (b); \ |
| 2952 int16_t __a1 = __a; \ |
| 2953 int16x8_t __b1 = __b; \ |
| 2954 vqrdmulhh_s16(__a1, vgetq_lane_s16(__b1, __c)); }) |
| 2955 #define vqrdmulhs_laneq_s32(a, b, __c) __extension__ ({ \ |
| 2956 int32_t __a = (a); int32x4_t __b = (b); \ |
| 2957 int32_t __a1 = __a; \ |
| 2958 int32x4_t __b1 = __b; \ |
| 2959 vqrdmulhs_s32(__a1, vgetq_lane_s32(__b1, __c)); }) |
| 2960 |
| 2961 #define vqrshrnh_n_s16(a, __b) __extension__ ({ \ |
| 2962 int16_t __a = (a); \ |
| 2963 (int8_t)__builtin_neon_vqrshrnh_n_s16(__a, __b); }) |
| 2964 #define vqrshrns_n_s32(a, __b) __extension__ ({ \ |
| 2965 int32_t __a = (a); \ |
| 2966 (int16_t)__builtin_neon_vqrshrns_n_s32(__a, __b); }) |
| 2967 #define vqrshrnd_n_s64(a, __b) __extension__ ({ \ |
| 2968 int64_t __a = (a); \ |
| 2969 (int32_t)__builtin_neon_vqrshrnd_n_s64(__a, __b); }) |
| 2970 #define vqrshrnh_n_u16(a, __b) __extension__ ({ \ |
| 2971 uint16_t __a = (a); \ |
| 2972 (uint8_t)__builtin_neon_vqrshrnh_n_u16(__a, __b); }) |
| 2973 #define vqrshrns_n_u32(a, __b) __extension__ ({ \ |
| 2974 uint32_t __a = (a); \ |
| 2975 (uint16_t)__builtin_neon_vqrshrns_n_u32(__a, __b); }) |
| 2976 #define vqrshrnd_n_u64(a, __b) __extension__ ({ \ |
| 2977 uint64_t __a = (a); \ |
| 2978 (uint32_t)__builtin_neon_vqrshrnd_n_u64(__a, __b); }) |
| 2979 |
| 2980 #define vqrshrunh_n_s16(a, __b) __extension__ ({ \ |
| 2981 int16_t __a = (a); \ |
| 2982 (int8_t)__builtin_neon_vqrshrunh_n_s16(__a, __b); }) |
| 2983 #define vqrshruns_n_s32(a, __b) __extension__ ({ \ |
| 2984 int32_t __a = (a); \ |
| 2985 (int16_t)__builtin_neon_vqrshruns_n_s32(__a, __b); }) |
| 2986 #define vqrshrund_n_s64(a, __b) __extension__ ({ \ |
| 2987 int64_t __a = (a); \ |
| 2988 (int32_t)__builtin_neon_vqrshrund_n_s64(__a, __b); }) |
| 2989 |
| 2990 #define vqshlub_n_s8(a, __b) __extension__ ({ \ |
| 2991 int8_t __a = (a); \ |
| 2992 (int8_t)__builtin_neon_vqshlub_n_s8(__a, __b); }) |
| 2993 #define vqshluh_n_s16(a, __b) __extension__ ({ \ |
| 2994 int16_t __a = (a); \ |
| 2995 (int16_t)__builtin_neon_vqshluh_n_s16(__a, __b); }) |
| 2996 #define vqshlus_n_s32(a, __b) __extension__ ({ \ |
| 2997 int32_t __a = (a); \ |
| 2998 (int32_t)__builtin_neon_vqshlus_n_s32(__a, __b); }) |
| 2999 #define vqshlud_n_s64(a, __b) __extension__ ({ \ |
| 3000 int64_t __a = (a); \ |
| 3001 (int64_t)__builtin_neon_vqshlud_n_s64(__a, __b); }) |
| 3002 |
| 3003 #define vqshlb_n_s8(a, __b) __extension__ ({ \ |
| 3004 int8_t __a = (a); \ |
| 3005 (int8_t)__builtin_neon_vqshlb_n_s8(__a, __b); }) |
| 3006 #define vqshlh_n_s16(a, __b) __extension__ ({ \ |
| 3007 int16_t __a = (a); \ |
| 3008 (int16_t)__builtin_neon_vqshlh_n_s16(__a, __b); }) |
| 3009 #define vqshls_n_s32(a, __b) __extension__ ({ \ |
| 3010 int32_t __a = (a); \ |
| 3011 (int32_t)__builtin_neon_vqshls_n_s32(__a, __b); }) |
| 3012 #define vqshld_n_s64(a, __b) __extension__ ({ \ |
| 3013 int64_t __a = (a); \ |
| 3014 (int64_t)__builtin_neon_vqshld_n_s64(__a, __b); }) |
| 3015 #define vqshlb_n_u8(a, __b) __extension__ ({ \ |
| 3016 uint8_t __a = (a); \ |
| 3017 (uint8_t)__builtin_neon_vqshlb_n_u8(__a, __b); }) |
| 3018 #define vqshlh_n_u16(a, __b) __extension__ ({ \ |
| 3019 uint16_t __a = (a); \ |
| 3020 (uint16_t)__builtin_neon_vqshlh_n_u16(__a, __b); }) |
| 3021 #define vqshls_n_u32(a, __b) __extension__ ({ \ |
| 3022 uint32_t __a = (a); \ |
| 3023 (uint32_t)__builtin_neon_vqshls_n_u32(__a, __b); }) |
| 3024 #define vqshld_n_u64(a, __b) __extension__ ({ \ |
| 3025 uint64_t __a = (a); \ |
| 3026 (uint64_t)__builtin_neon_vqshld_n_u64(__a, __b); }) |
| 3027 |
| 3028 #define vqshrnh_n_s16(a, __b) __extension__ ({ \ |
| 3029 int16_t __a = (a); \ |
| 3030 (int8_t)__builtin_neon_vqshrnh_n_s16(__a, __b); }) |
| 3031 #define vqshrns_n_s32(a, __b) __extension__ ({ \ |
| 3032 int32_t __a = (a); \ |
| 3033 (int16_t)__builtin_neon_vqshrns_n_s32(__a, __b); }) |
| 3034 #define vqshrnd_n_s64(a, __b) __extension__ ({ \ |
| 3035 int64_t __a = (a); \ |
| 3036 (int32_t)__builtin_neon_vqshrnd_n_s64(__a, __b); }) |
| 3037 #define vqshrnh_n_u16(a, __b) __extension__ ({ \ |
| 3038 uint16_t __a = (a); \ |
| 3039 (uint8_t)__builtin_neon_vqshrnh_n_u16(__a, __b); }) |
| 3040 #define vqshrns_n_u32(a, __b) __extension__ ({ \ |
| 3041 uint32_t __a = (a); \ |
| 3042 (uint16_t)__builtin_neon_vqshrns_n_u32(__a, __b); }) |
| 3043 #define vqshrnd_n_u64(a, __b) __extension__ ({ \ |
| 3044 uint64_t __a = (a); \ |
| 3045 (uint32_t)__builtin_neon_vqshrnd_n_u64(__a, __b); }) |
| 3046 |
| 3047 #define vqshrunh_n_s16(a, __b) __extension__ ({ \ |
| 3048 int16_t __a = (a); \ |
| 3049 (int8_t)__builtin_neon_vqshrunh_n_s16(__a, __b); }) |
| 3050 #define vqshruns_n_s32(a, __b) __extension__ ({ \ |
| 3051 int32_t __a = (a); \ |
| 3052 (int16_t)__builtin_neon_vqshruns_n_s32(__a, __b); }) |
| 3053 #define vqshrund_n_s64(a, __b) __extension__ ({ \ |
| 3054 int64_t __a = (a); \ |
| 3055 (int32_t)__builtin_neon_vqshrund_n_s64(__a, __b); }) |
| 3056 |
| 3057 __ai int8_t vqmovnh_s16(int16_t __a) { |
| 3058 return (int8_t)__builtin_neon_vqmovnh_s16(__a); } |
| 3059 __ai int16_t vqmovns_s32(int32_t __a) { |
| 3060 return (int16_t)__builtin_neon_vqmovns_s32(__a); } |
| 3061 __ai int32_t vqmovnd_s64(int64_t __a) { |
| 3062 return (int32_t)__builtin_neon_vqmovnd_s64(__a); } |
| 3063 |
| 3064 __ai int8_t vqmovunh_s16(int16_t __a) { |
| 3065 return (int8_t)__builtin_neon_vqmovunh_s16(__a); } |
| 3066 __ai int16_t vqmovuns_s32(int32_t __a) { |
| 3067 return (int16_t)__builtin_neon_vqmovuns_s32(__a); } |
| 3068 __ai int32_t vqmovund_s64(int64_t __a) { |
| 3069 return (int32_t)__builtin_neon_vqmovund_s64(__a); } |
| 3070 |
| 3071 #define vsrid_n_s64(a, b, __c) __extension__ ({ \ |
| 3072 int64_t __a = (a); int64_t __b = (b); \ |
| 3073 (int64_t)__builtin_neon_vsrid_n_s64(__a, __b, __c); }) |
| 3074 #define vsrid_n_u64(a, b, __c) __extension__ ({ \ |
| 3075 uint64_t __a = (a); uint64_t __b = (b); \ |
| 3076 (uint64_t)__builtin_neon_vsrid_n_u64(__a, __b, __c); }) |
| 3077 |
| 3078 #define vrshrd_n_s64(a, __b) __extension__ ({ \ |
| 3079 int64_t __a = (a); \ |
| 3080 (int64_t)__builtin_neon_vrshrd_n_s64(__a, __b); }) |
| 3081 #define vrshrd_n_u64(a, __b) __extension__ ({ \ |
| 3082 uint64_t __a = (a); \ |
| 3083 (uint64_t)__builtin_neon_vrshrd_n_u64(__a, __b); }) |
| 3084 |
| 3085 #define vrsrad_n_s64(a, b, __c) __extension__ ({ \ |
| 3086 int64_t __a = (a); int64_t __b = (b); \ |
| 3087 (int64_t)__builtin_neon_vrsrad_n_s64(__a, __b, __c); }) |
| 3088 #define vrsrad_n_u64(a, b, __c) __extension__ ({ \ |
| 3089 uint64_t __a = (a); uint64_t __b = (b); \ |
| 3090 (uint64_t)__builtin_neon_vrsrad_n_u64(__a, __b, __c); }) |
| 3091 |
| 3092 #define vshrd_n_s64(a, __b) __extension__ ({ \ |
| 3093 int64_t __a = (a); \ |
| 3094 (int64_t)__builtin_neon_vshrd_n_s64(__a, __b); }) |
| 3095 #define vshrd_n_u64(a, __b) __extension__ ({ \ |
| 3096 uint64_t __a = (a); \ |
| 3097 (uint64_t)__builtin_neon_vshrd_n_u64(__a, __b); }) |
| 3098 |
| 3099 #define vsrad_n_s64(a, b, __c) __extension__ ({ \ |
| 3100 int64_t __a = (a); int64_t __b = (b); \ |
| 3101 (int64_t)__builtin_neon_vsrad_n_s64(__a, __b, __c); }) |
| 3102 #define vsrad_n_u64(a, b, __c) __extension__ ({ \ |
| 3103 uint64_t __a = (a); uint64_t __b = (b); \ |
| 3104 (uint64_t)__builtin_neon_vsrad_n_u64(__a, __b, __c); }) |
| 3105 |
| 3106 __ai int64_t vsubd_s64(int64_t __a, int64_t __b) { |
| 3107 return (int64_t)__builtin_neon_vsubd_s64(__a, __b); } |
| 3108 __ai uint64_t vsubd_u64(uint64_t __a, uint64_t __b) { |
| 3109 return (uint64_t)__builtin_neon_vsubd_u64(__a, __b); } |
| 3110 |
| 3111 __ai int8_t vuqaddb_s8(int8_t __a, int8_t __b) { |
| 3112 return (int8_t)__builtin_neon_vuqaddb_s8(__a, __b); } |
| 3113 __ai int16_t vuqaddh_s16(int16_t __a, int16_t __b) { |
| 3114 return (int16_t)__builtin_neon_vuqaddh_s16(__a, __b); } |
| 3115 __ai int32_t vuqadds_s32(int32_t __a, int32_t __b) { |
| 3116 return (int32_t)__builtin_neon_vuqadds_s32(__a, __b); } |
| 3117 __ai int64_t vuqaddd_s64(int64_t __a, int64_t __b) { |
| 3118 return (int64_t)__builtin_neon_vuqaddd_s64(__a, __b); } |
| 3119 |
| 3120 __ai float64_t vcvtd_f64_u64(uint64_t __a) { |
| 3121 return (float64_t)__builtin_neon_vcvtd_f64_u64(__a); } |
| 3122 |
| 3123 __ai float32_t vcvts_f32_u32(uint32_t __a) { |
| 3124 return (float32_t)__builtin_neon_vcvts_f32_u32(__a); } |
| 3125 |
| 3126 __ai uint8_t vqmovnh_u16(uint16_t __a) { |
| 3127 return (uint8_t)__builtin_neon_vqmovnh_u16(__a); } |
| 3128 __ai uint16_t vqmovns_u32(uint32_t __a) { |
| 3129 return (uint16_t)__builtin_neon_vqmovns_u32(__a); } |
| 3130 __ai uint32_t vqmovnd_u64(uint64_t __a) { |
| 3131 return (uint32_t)__builtin_neon_vqmovnd_u64(__a); } |
| 3132 |
| 3133 __ai uint8_t vsqaddb_u8(uint8_t __a, uint8_t __b) { |
| 3134 return (uint8_t)__builtin_neon_vsqaddb_u8(__a, __b); } |
| 3135 __ai uint16_t vsqaddh_u16(uint16_t __a, uint16_t __b) { |
| 3136 return (uint16_t)__builtin_neon_vsqaddh_u16(__a, __b); } |
| 3137 __ai uint32_t vsqadds_u32(uint32_t __a, uint32_t __b) { |
| 3138 return (uint32_t)__builtin_neon_vsqadds_u32(__a, __b); } |
| 3139 __ai uint64_t vsqaddd_u64(uint64_t __a, uint64_t __b) { |
| 3140 return (uint64_t)__builtin_neon_vsqaddd_u64(__a, __b); } |
| 3141 |
| 3142 #define vdupb_lane_s8(a, __b) __extension__ ({ \ |
| 3143 int8x8_t __a = (a); \ |
| 3144 (int8_t)__builtin_neon_vdupb_lane_i8(__a, __b); }) |
| 3145 #define vduph_lane_s16(a, __b) __extension__ ({ \ |
| 3146 int16x4_t __a = (a); \ |
| 3147 (int16_t)__builtin_neon_vduph_lane_i16(__a, __b); }) |
| 3148 #define vdups_lane_s32(a, __b) __extension__ ({ \ |
| 3149 int32x2_t __a = (a); \ |
| 3150 (int32_t)__builtin_neon_vdups_lane_i32(__a, __b); }) |
| 3151 #define vdupd_lane_s64(a, __b) __extension__ ({ \ |
| 3152 int64x1_t __a = (a); \ |
| 3153 (int64_t)__builtin_neon_vdupd_lane_i64(__a, __b); }) |
| 3154 #define vdups_lane_f32(a, __b) __extension__ ({ \ |
| 3155 float32x2_t __a = (a); \ |
| 3156 (float32_t)__builtin_neon_vdups_lane_f32(__a, __b); }) |
| 3157 #define vdupd_lane_f64(a, __b) __extension__ ({ \ |
| 3158 float64x1_t __a = (a); \ |
| 3159 (float64_t)__builtin_neon_vdupd_lane_f64(__a, __b); }) |
| 3160 #define vdupb_lane_u8(a, __b) __extension__ ({ \ |
| 3161 uint8x8_t __a = (a); \ |
| 3162 (uint8_t)__builtin_neon_vdupb_lane_i8((int8x8_t)__a, __b); }) |
| 3163 #define vduph_lane_u16(a, __b) __extension__ ({ \ |
| 3164 uint16x4_t __a = (a); \ |
| 3165 (uint16_t)__builtin_neon_vduph_lane_i16((int16x4_t)__a, __b); }) |
| 3166 #define vdups_lane_u32(a, __b) __extension__ ({ \ |
| 3167 uint32x2_t __a = (a); \ |
| 3168 (uint32_t)__builtin_neon_vdups_lane_i32((int32x2_t)__a, __b); }) |
| 3169 #define vdupd_lane_u64(a, __b) __extension__ ({ \ |
| 3170 uint64x1_t __a = (a); \ |
| 3171 (uint64_t)__builtin_neon_vdupd_lane_i64((int64x1_t)__a, __b); }) |
| 3172 #define vdupb_lane_p8(a, __b) __extension__ ({ \ |
| 3173 poly8x8_t __a = (a); \ |
| 3174 (poly8_t)__builtin_neon_vdupb_lane_i8((int8x8_t)__a, __b); }) |
| 3175 #define vduph_lane_p16(a, __b) __extension__ ({ \ |
| 3176 poly16x4_t __a = (a); \ |
| 3177 (poly16_t)__builtin_neon_vduph_lane_i16((int16x4_t)__a, __b); }) |
| 3178 |
| 3179 #define vdupb_laneq_s8(a, __b) __extension__ ({ \ |
| 3180 int8x16_t __a = (a); \ |
| 3181 (int8_t)__builtin_neon_vdupb_laneq_i8(__a, __b); }) |
| 3182 #define vduph_laneq_s16(a, __b) __extension__ ({ \ |
| 3183 int16x8_t __a = (a); \ |
| 3184 (int16_t)__builtin_neon_vduph_laneq_i16(__a, __b); }) |
| 3185 #define vdups_laneq_s32(a, __b) __extension__ ({ \ |
| 3186 int32x4_t __a = (a); \ |
| 3187 (int32_t)__builtin_neon_vdups_laneq_i32(__a, __b); }) |
| 3188 #define vdupd_laneq_s64(a, __b) __extension__ ({ \ |
| 3189 int64x2_t __a = (a); \ |
| 3190 (int64_t)__builtin_neon_vdupd_laneq_i64(__a, __b); }) |
| 3191 #define vdups_laneq_f32(a, __b) __extension__ ({ \ |
| 3192 float32x4_t __a = (a); \ |
| 3193 (float32_t)__builtin_neon_vdups_laneq_f32(__a, __b); }) |
| 3194 #define vdupd_laneq_f64(a, __b) __extension__ ({ \ |
| 3195 float64x2_t __a = (a); \ |
| 3196 (float64_t)__builtin_neon_vdupd_laneq_f64(__a, __b); }) |
| 3197 #define vdupb_laneq_u8(a, __b) __extension__ ({ \ |
| 3198 uint8x16_t __a = (a); \ |
| 3199 (uint8_t)__builtin_neon_vdupb_laneq_i8((int8x16_t)__a, __b); }) |
| 3200 #define vduph_laneq_u16(a, __b) __extension__ ({ \ |
| 3201 uint16x8_t __a = (a); \ |
| 3202 (uint16_t)__builtin_neon_vduph_laneq_i16((int16x8_t)__a, __b); }) |
| 3203 #define vdups_laneq_u32(a, __b) __extension__ ({ \ |
| 3204 uint32x4_t __a = (a); \ |
| 3205 (uint32_t)__builtin_neon_vdups_laneq_i32((int32x4_t)__a, __b); }) |
| 3206 #define vdupd_laneq_u64(a, __b) __extension__ ({ \ |
| 3207 uint64x2_t __a = (a); \ |
| 3208 (uint64_t)__builtin_neon_vdupd_laneq_i64((int64x2_t)__a, __b); }) |
| 3209 #define vdupb_laneq_p8(a, __b) __extension__ ({ \ |
| 3210 poly8x16_t __a = (a); \ |
| 3211 (poly8_t)__builtin_neon_vdupb_laneq_i8((int8x16_t)__a, __b); }) |
| 3212 #define vduph_laneq_p16(a, __b) __extension__ ({ \ |
| 3213 poly16x8_t __a = (a); \ |
| 3214 (poly16_t)__builtin_neon_vduph_laneq_i16((int16x8_t)__a, __b); }) |
| 3215 |
| 3216 #define vmulx_lane_f64(a, b, __c) __extension__ ({ \ |
| 3217 float64x1_t __a = (a); float64x1_t __b = (b); \ |
| 3218 float64x1_t __a1 = __a; \ |
| 3219 float64x1_t __b1 = __b; \ |
| 3220 float64_t __d1 = vget_lane_f64(__a1, 0);\ |
| 3221 float64_t __e1 = vget_lane_f64(__b1, __c);\ |
| 3222 float64_t __f1 = vmulxd_f64(__d1, __e1);\ |
| 3223 float64x1_t __g1;\ |
| 3224 vset_lane_f64(__f1, __g1, __c); }) |
| 3225 |
| 3226 #define vmulx_laneq_f64(a, b, __c) __extension__ ({ \ |
| 3227 float64x1_t __a = (a); float64x2_t __b = (b); \ |
| 3228 float64x1_t __a1 = __a; \ |
| 3229 float64x2_t __b1 = __b; \ |
| 3230 float64_t __d1 = vget_lane_f64(__a1, 0);\ |
| 3231 float64_t __e1 = vgetq_lane_f64(__b1, __c);\ |
| 3232 float64_t __f1 = vmulxd_f64(__d1, __e1);\ |
| 3233 float64x1_t __g1;\ |
| 3234 vset_lane_f64(__f1, __g1, 0); }) |
| 3235 |
| 3236 #define vmul_lane_f64(a, b, __c) __extension__ ({ \ |
| 3237 float64x1_t __a = (a); float64x1_t __b = (b); \ |
| 3238 (float64x1_t)__builtin_neon_vmul_lane_v((int8x8_t)__a, (int8x8_t)__b, __c, 10)
; }) |
| 3239 |
| 3240 #define vmul_laneq_f64(a, b, __c) __extension__ ({ \ |
| 3241 float64x1_t __a = (a); float64x2_t __b = (b); \ |
| 3242 (float64x1_t)__builtin_neon_vmul_laneq_v((int8x8_t)__a, (int8x16_t)__b, __c, 1
0); }) |
| 3243 |
| 3244 __ai float64x1_t vmul_n_f64(float64x1_t __a, float64_t __b) { |
| 3245 return (float64x1_t)__builtin_neon_vmul_n_f64(__a, __b); } |
| 3246 |
| 3247 #define vset_lane_f64(a, b, __c) __extension__ ({ \ |
| 3248 float64_t __a = (a); float64x1_t __b = (b); \ |
| 3249 (float64x1_t)__builtin_neon_vset_lane_f64(__a, __b, __c); }) |
| 3250 #define vsetq_lane_f64(a, b, __c) __extension__ ({ \ |
| 3251 float64_t __a = (a); float64x2_t __b = (b); \ |
| 3252 (float64x2_t)__builtin_neon_vsetq_lane_f64(__a, __b, __c); }) |
| 3253 #define vset_lane_p64(a, b, __c) __extension__ ({ \ |
| 3254 poly64_t __a = (a); poly64x1_t __b = (b); \ |
| 3255 (poly64x1_t)__builtin_neon_vset_lane_i64(__a, (int64x1_t)__b, __c); }) |
| 3256 #define vsetq_lane_p64(a, b, __c) __extension__ ({ \ |
| 3257 poly64_t __a = (a); poly64x2_t __b = (b); \ |
| 3258 (poly64x2_t)__builtin_neon_vsetq_lane_i64(__a, (int64x2_t)__b, __c); }) |
| 3259 |
| 3260 #endif |
| 3261 |
| 3262 #if __ARM_FEATURE_CRYPTO |
| 3263 __ai uint32x4_t vsha1cq_u32(uint32x4_t __a, uint32_t __b, uint32x4_t __c) { |
| 3264 return (uint32x4_t)__builtin_neon_vsha1cq_u32((int32x4_t)__a, __b, (int32x4_t)
__c); } |
| 3265 |
| 3266 __ai uint32_t vsha1h_u32(uint32_t __a) { |
| 3267 return (uint32_t)__builtin_neon_vsha1h_u32(__a); } |
| 3268 |
| 3269 __ai uint32x4_t vsha1mq_u32(uint32x4_t __a, uint32_t __b, uint32x4_t __c) { |
| 3270 return (uint32x4_t)__builtin_neon_vsha1mq_u32((int32x4_t)__a, __b, (int32x4_t)
__c); } |
| 3271 |
| 3272 __ai uint32x4_t vsha1pq_u32(uint32x4_t __a, uint32_t __b, uint32x4_t __c) { |
| 3273 return (uint32x4_t)__builtin_neon_vsha1pq_u32((int32x4_t)__a, __b, (int32x4_t)
__c); } |
| 3274 |
| 3275 __ai uint32x4_t vsha1su0q_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { |
| 3276 return (uint32x4_t)__builtin_neon_vsha1su0q_v((int8x16_t)__a, (int8x16_t)__b,
(int8x16_t)__c, 50); } |
| 3277 |
| 3278 __ai uint32x4_t vsha1su1q_u32(uint32x4_t __a, uint32x4_t __b) { |
| 3279 return (uint32x4_t)__builtin_neon_vsha1su1q_v((int8x16_t)__a, (int8x16_t)__b,
50); } |
| 3280 |
| 3281 __ai uint32x4_t vsha256hq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { |
| 3282 return (uint32x4_t)__builtin_neon_vsha256hq_v((int8x16_t)__a, (int8x16_t)__b,
(int8x16_t)__c, 50); } |
| 3283 |
| 3284 __ai uint32x4_t vsha256h2q_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { |
| 3285 return (uint32x4_t)__builtin_neon_vsha256h2q_v((int8x16_t)__a, (int8x16_t)__b,
(int8x16_t)__c, 50); } |
| 3286 |
| 3287 __ai uint32x4_t vsha256su0q_u32(uint32x4_t __a, uint32x4_t __b) { |
| 3288 return (uint32x4_t)__builtin_neon_vsha256su0q_v((int8x16_t)__a, (int8x16_t)__b
, 50); } |
| 3289 |
| 3290 __ai uint32x4_t vsha256su1q_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c)
{ |
| 3291 return (uint32x4_t)__builtin_neon_vsha256su1q_v((int8x16_t)__a, (int8x16_t)__b
, (int8x16_t)__c, 50); } |
| 3292 |
| 3293 #endif |
| 3294 |
| 3295 #if defined(__aarch64__) |
| 3296 #define vshll_high_n_s8(a, __b) __extension__ ({ \ |
| 3297 int8x16_t __a = (a); \ |
| 3298 int8x8_t __a1 = vget_high_s8(__a); \ |
| 3299 (int16x8_t)vshll_n_s8(__a1, __b); }) |
| 3300 #define vshll_high_n_s16(a, __b) __extension__ ({ \ |
| 3301 int16x8_t __a = (a); \ |
| 3302 int16x4_t __a1 = vget_high_s16(__a); \ |
| 3303 (int32x4_t)vshll_n_s16(__a1, __b); }) |
| 3304 #define vshll_high_n_s32(a, __b) __extension__ ({ \ |
| 3305 int32x4_t __a = (a); \ |
| 3306 int32x2_t __a1 = vget_high_s32(__a); \ |
| 3307 (int64x2_t)vshll_n_s32(__a1, __b); }) |
| 3308 #define vshll_high_n_u8(a, __b) __extension__ ({ \ |
| 3309 uint8x16_t __a = (a); \ |
| 3310 uint8x8_t __a1 = vget_high_u8(__a); \ |
| 3311 (uint16x8_t)vshll_n_u8(__a1, __b); }) |
| 3312 #define vshll_high_n_u16(a, __b) __extension__ ({ \ |
| 3313 uint16x8_t __a = (a); \ |
| 3314 uint16x4_t __a1 = vget_high_u16(__a); \ |
| 3315 (uint32x4_t)vshll_n_u16(__a1, __b); }) |
| 3316 #define vshll_high_n_u32(a, __b) __extension__ ({ \ |
| 3317 uint32x4_t __a = (a); \ |
| 3318 uint32x2_t __a1 = vget_high_u32(__a); \ |
| 3319 (uint64x2_t)vshll_n_u32(__a1, __b); }) |
| 3320 |
| 3321 #define vshrn_high_n_s16(a, b, __c) __extension__ ({ \ |
| 3322 int8x8_t __a = (a); int16x8_t __b = (b); \ |
| 3323 (int8x16_t)vcombine_s16(__a, vshrn_n_s16(__b, __c)); }) |
| 3324 #define vshrn_high_n_s32(a, b, __c) __extension__ ({ \ |
| 3325 int16x4_t __a = (a); int32x4_t __b = (b); \ |
| 3326 (int16x8_t)vcombine_s32(__a, vshrn_n_s32(__b, __c)); }) |
| 3327 #define vshrn_high_n_s64(a, b, __c) __extension__ ({ \ |
| 3328 int32x2_t __a = (a); int64x2_t __b = (b); \ |
| 3329 (int32x4_t)vcombine_s64(__a, vshrn_n_s64(__b, __c)); }) |
| 3330 #define vshrn_high_n_u16(a, b, __c) __extension__ ({ \ |
| 3331 uint8x8_t __a = (a); uint16x8_t __b = (b); \ |
| 3332 (uint8x16_t)vcombine_u16(__a, vshrn_n_u16(__b, __c)); }) |
| 3333 #define vshrn_high_n_u32(a, b, __c) __extension__ ({ \ |
| 3334 uint16x4_t __a = (a); uint32x4_t __b = (b); \ |
| 3335 (uint16x8_t)vcombine_u32(__a, vshrn_n_u32(__b, __c)); }) |
| 3336 #define vshrn_high_n_u64(a, b, __c) __extension__ ({ \ |
| 3337 uint32x2_t __a = (a); uint64x2_t __b = (b); \ |
| 3338 (uint32x4_t)vcombine_u64(__a, vshrn_n_u64(__b, __c)); }) |
| 3339 |
| 3340 #define vsli_n_p64(a, b, __c) __extension__ ({ \ |
| 3341 poly64x1_t __a = (a); poly64x1_t __b = (b); \ |
| 3342 (poly64x1_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 6); }) |
| 3343 #define vsliq_n_p64(a, b, __c) __extension__ ({ \ |
| 3344 poly64x2_t __a = (a); poly64x2_t __b = (b); \ |
| 3345 (poly64x2_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 38);
}) |
| 3346 |
| 3347 __ai int8x16_t vqmovun_high_s16(int8x8_t __a, int16x8_t __b) { |
| 3348 int8x8_t __a1 = vqmovun_s16(__b); |
| 3349 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
, 12, 13, 14, 15); } |
| 3350 __ai int16x8_t vqmovun_high_s32(int16x4_t __a, int32x4_t __b) { |
| 3351 int16x4_t __a1 = vqmovun_s32(__b); |
| 3352 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); } |
| 3353 __ai int32x4_t vqmovun_high_s64(int32x2_t __a, int64x2_t __b) { |
| 3354 int32x2_t __a1 = vqmovun_s64(__b); |
| 3355 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); } |
| 3356 |
| 3357 #define vsri_n_p64(a, b, __c) __extension__ ({ \ |
| 3358 poly64x1_t __a = (a); poly64x1_t __b = (b); \ |
| 3359 (poly64x1_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 6); }) |
| 3360 #define vsriq_n_p64(a, b, __c) __extension__ ({ \ |
| 3361 poly64x2_t __a = (a); poly64x2_t __b = (b); \ |
| 3362 (poly64x2_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 38);
}) |
| 3363 |
| 3364 #define vst1_f64(__a, b) __extension__ ({ \ |
| 3365 float64x1_t __b = (b); \ |
| 3366 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 10); }) |
| 3367 #define vst1q_f64(__a, b) __extension__ ({ \ |
| 3368 float64x2_t __b = (b); \ |
| 3369 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 42); }) |
| 3370 #define vst1_p64(__a, b) __extension__ ({ \ |
| 3371 poly64x1_t __b = (b); \ |
| 3372 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 6); }) |
| 3373 #define vst1q_p64(__a, b) __extension__ ({ \ |
| 3374 poly64x2_t __b = (b); \ |
| 3375 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 38); }) |
| 3376 |
| 3377 #define vst1_lane_f64(__a, b, __c) __extension__ ({ \ |
| 3378 float64x1_t __b = (b); \ |
| 3379 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 10); }) |
| 3380 #define vst1q_lane_f64(__a, b, __c) __extension__ ({ \ |
| 3381 float64x2_t __b = (b); \ |
| 3382 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 42); }) |
| 3383 #define vst1_lane_p64(__a, b, __c) __extension__ ({ \ |
| 3384 poly64x1_t __b = (b); \ |
| 3385 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 6); }) |
| 3386 #define vst1q_lane_p64(__a, b, __c) __extension__ ({ \ |
| 3387 poly64x2_t __b = (b); \ |
| 3388 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 38); }) |
| 3389 |
| 3390 #define vst1q_u8_x2(__a, b) __extension__ ({ \ |
| 3391 uint8x16x2_t __b = (b); \ |
| 3392 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 4
8); }) |
| 3393 #define vst1q_u16_x2(__a, b) __extension__ ({ \ |
| 3394 uint16x8x2_t __b = (b); \ |
| 3395 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 4
9); }) |
| 3396 #define vst1q_u32_x2(__a, b) __extension__ ({ \ |
| 3397 uint32x4x2_t __b = (b); \ |
| 3398 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 5
0); }) |
| 3399 #define vst1q_s8_x2(__a, b) __extension__ ({ \ |
| 3400 int8x16x2_t __b = (b); \ |
| 3401 __builtin_neon_vst1q_x2_v(__a, __b.val[0], __b.val[1], 32); }) |
| 3402 #define vst1q_s16_x2(__a, b) __extension__ ({ \ |
| 3403 int16x8x2_t __b = (b); \ |
| 3404 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3
3); }) |
| 3405 #define vst1q_s32_x2(__a, b) __extension__ ({ \ |
| 3406 int32x4x2_t __b = (b); \ |
| 3407 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3
4); }) |
| 3408 #define vst1q_f16_x2(__a, b) __extension__ ({ \ |
| 3409 float16x8x2_t __b = (b); \ |
| 3410 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 4
0); }) |
| 3411 #define vst1q_f32_x2(__a, b) __extension__ ({ \ |
| 3412 float32x4x2_t __b = (b); \ |
| 3413 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 4
1); }) |
| 3414 #define vst1q_p8_x2(__a, b) __extension__ ({ \ |
| 3415 poly8x16x2_t __b = (b); \ |
| 3416 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3
6); }) |
| 3417 #define vst1q_p16_x2(__a, b) __extension__ ({ \ |
| 3418 poly16x8x2_t __b = (b); \ |
| 3419 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3
7); }) |
| 3420 #define vst1_u8_x2(__a, b) __extension__ ({ \ |
| 3421 uint8x8x2_t __b = (b); \ |
| 3422 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 16);
}) |
| 3423 #define vst1_u16_x2(__a, b) __extension__ ({ \ |
| 3424 uint16x4x2_t __b = (b); \ |
| 3425 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 17);
}) |
| 3426 #define vst1_u32_x2(__a, b) __extension__ ({ \ |
| 3427 uint32x2x2_t __b = (b); \ |
| 3428 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 18);
}) |
| 3429 #define vst1_u64_x2(__a, b) __extension__ ({ \ |
| 3430 uint64x1x2_t __b = (b); \ |
| 3431 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 19);
}) |
| 3432 #define vst1_s8_x2(__a, b) __extension__ ({ \ |
| 3433 int8x8x2_t __b = (b); \ |
| 3434 __builtin_neon_vst1_x2_v(__a, __b.val[0], __b.val[1], 0); }) |
| 3435 #define vst1_s16_x2(__a, b) __extension__ ({ \ |
| 3436 int16x4x2_t __b = (b); \ |
| 3437 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 1);
}) |
| 3438 #define vst1_s32_x2(__a, b) __extension__ ({ \ |
| 3439 int32x2x2_t __b = (b); \ |
| 3440 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 2);
}) |
| 3441 #define vst1_s64_x2(__a, b) __extension__ ({ \ |
| 3442 int64x1x2_t __b = (b); \ |
| 3443 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 3);
}) |
| 3444 #define vst1_f16_x2(__a, b) __extension__ ({ \ |
| 3445 float16x4x2_t __b = (b); \ |
| 3446 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 8);
}) |
| 3447 #define vst1_f32_x2(__a, b) __extension__ ({ \ |
| 3448 float32x2x2_t __b = (b); \ |
| 3449 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 9);
}) |
| 3450 #define vst1_p8_x2(__a, b) __extension__ ({ \ |
| 3451 poly8x8x2_t __b = (b); \ |
| 3452 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 4);
}) |
| 3453 #define vst1_p16_x2(__a, b) __extension__ ({ \ |
| 3454 poly16x4x2_t __b = (b); \ |
| 3455 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 5);
}) |
| 3456 #define vst1q_u64_x2(__a, b) __extension__ ({ \ |
| 3457 uint64x2x2_t __b = (b); \ |
| 3458 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 5
1); }) |
| 3459 #define vst1q_s64_x2(__a, b) __extension__ ({ \ |
| 3460 int64x2x2_t __b = (b); \ |
| 3461 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3
5); }) |
| 3462 #define vst1_f64_x2(__a, b) __extension__ ({ \ |
| 3463 float64x1x2_t __b = (b); \ |
| 3464 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 10);
}) |
| 3465 #define vst1q_f64_x2(__a, b) __extension__ ({ \ |
| 3466 float64x2x2_t __b = (b); \ |
| 3467 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 4
2); }) |
| 3468 #define vst1_p64_x2(__a, b) __extension__ ({ \ |
| 3469 poly64x1x2_t __b = (b); \ |
| 3470 __builtin_neon_vst1_x2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 6);
}) |
| 3471 #define vst1q_p64_x2(__a, b) __extension__ ({ \ |
| 3472 poly64x2x2_t __b = (b); \ |
| 3473 __builtin_neon_vst1q_x2_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 3
8); }) |
| 3474 |
| 3475 #define vst1q_u8_x3(__a, b) __extension__ ({ \ |
| 3476 uint8x16x3_t __b = (b); \ |
| 3477 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 48); }) |
| 3478 #define vst1q_u16_x3(__a, b) __extension__ ({ \ |
| 3479 uint16x8x3_t __b = (b); \ |
| 3480 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 49); }) |
| 3481 #define vst1q_u32_x3(__a, b) __extension__ ({ \ |
| 3482 uint32x4x3_t __b = (b); \ |
| 3483 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 50); }) |
| 3484 #define vst1q_s8_x3(__a, b) __extension__ ({ \ |
| 3485 int8x16x3_t __b = (b); \ |
| 3486 __builtin_neon_vst1q_x3_v(__a, __b.val[0], __b.val[1], __b.val[2], 32); }) |
| 3487 #define vst1q_s16_x3(__a, b) __extension__ ({ \ |
| 3488 int16x8x3_t __b = (b); \ |
| 3489 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 33); }) |
| 3490 #define vst1q_s32_x3(__a, b) __extension__ ({ \ |
| 3491 int32x4x3_t __b = (b); \ |
| 3492 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 34); }) |
| 3493 #define vst1q_f16_x3(__a, b) __extension__ ({ \ |
| 3494 float16x8x3_t __b = (b); \ |
| 3495 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 40); }) |
| 3496 #define vst1q_f32_x3(__a, b) __extension__ ({ \ |
| 3497 float32x4x3_t __b = (b); \ |
| 3498 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 41); }) |
| 3499 #define vst1q_p8_x3(__a, b) __extension__ ({ \ |
| 3500 poly8x16x3_t __b = (b); \ |
| 3501 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 36); }) |
| 3502 #define vst1q_p16_x3(__a, b) __extension__ ({ \ |
| 3503 poly16x8x3_t __b = (b); \ |
| 3504 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 37); }) |
| 3505 #define vst1_u8_x3(__a, b) __extension__ ({ \ |
| 3506 uint8x8x3_t __b = (b); \ |
| 3507 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 16); }) |
| 3508 #define vst1_u16_x3(__a, b) __extension__ ({ \ |
| 3509 uint16x4x3_t __b = (b); \ |
| 3510 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 17); }) |
| 3511 #define vst1_u32_x3(__a, b) __extension__ ({ \ |
| 3512 uint32x2x3_t __b = (b); \ |
| 3513 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 18); }) |
| 3514 #define vst1_u64_x3(__a, b) __extension__ ({ \ |
| 3515 uint64x1x3_t __b = (b); \ |
| 3516 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 19); }) |
| 3517 #define vst1_s8_x3(__a, b) __extension__ ({ \ |
| 3518 int8x8x3_t __b = (b); \ |
| 3519 __builtin_neon_vst1_x3_v(__a, __b.val[0], __b.val[1], __b.val[2], 0); }) |
| 3520 #define vst1_s16_x3(__a, b) __extension__ ({ \ |
| 3521 int16x4x3_t __b = (b); \ |
| 3522 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 1); }) |
| 3523 #define vst1_s32_x3(__a, b) __extension__ ({ \ |
| 3524 int32x2x3_t __b = (b); \ |
| 3525 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 2); }) |
| 3526 #define vst1_s64_x3(__a, b) __extension__ ({ \ |
| 3527 int64x1x3_t __b = (b); \ |
| 3528 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 3); }) |
| 3529 #define vst1_f16_x3(__a, b) __extension__ ({ \ |
| 3530 float16x4x3_t __b = (b); \ |
| 3531 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 8); }) |
| 3532 #define vst1_f32_x3(__a, b) __extension__ ({ \ |
| 3533 float32x2x3_t __b = (b); \ |
| 3534 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 9); }) |
| 3535 #define vst1_p8_x3(__a, b) __extension__ ({ \ |
| 3536 poly8x8x3_t __b = (b); \ |
| 3537 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 4); }) |
| 3538 #define vst1_p16_x3(__a, b) __extension__ ({ \ |
| 3539 poly16x4x3_t __b = (b); \ |
| 3540 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 5); }) |
| 3541 #define vst1q_u64_x3(__a, b) __extension__ ({ \ |
| 3542 uint64x2x3_t __b = (b); \ |
| 3543 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 51); }) |
| 3544 #define vst1q_s64_x3(__a, b) __extension__ ({ \ |
| 3545 int64x2x3_t __b = (b); \ |
| 3546 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 35); }) |
| 3547 #define vst1_f64_x3(__a, b) __extension__ ({ \ |
| 3548 float64x1x3_t __b = (b); \ |
| 3549 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 10); }) |
| 3550 #define vst1q_f64_x3(__a, b) __extension__ ({ \ |
| 3551 float64x2x3_t __b = (b); \ |
| 3552 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 42); }) |
| 3553 #define vst1_p64_x3(__a, b) __extension__ ({ \ |
| 3554 poly64x1x3_t __b = (b); \ |
| 3555 __builtin_neon_vst1_x3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], 6); }) |
| 3556 #define vst1q_p64_x3(__a, b) __extension__ ({ \ |
| 3557 poly64x2x3_t __b = (b); \ |
| 3558 __builtin_neon_vst1q_x3_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], 38); }) |
| 3559 |
| 3560 #define vst1q_u8_x4(__a, b) __extension__ ({ \ |
| 3561 uint8x16x4_t __b = (b); \ |
| 3562 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 48); }) |
| 3563 #define vst1q_u16_x4(__a, b) __extension__ ({ \ |
| 3564 uint16x8x4_t __b = (b); \ |
| 3565 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 49); }) |
| 3566 #define vst1q_u32_x4(__a, b) __extension__ ({ \ |
| 3567 uint32x4x4_t __b = (b); \ |
| 3568 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 50); }) |
| 3569 #define vst1q_s8_x4(__a, b) __extension__ ({ \ |
| 3570 int8x16x4_t __b = (b); \ |
| 3571 __builtin_neon_vst1q_x4_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3],
32); }) |
| 3572 #define vst1q_s16_x4(__a, b) __extension__ ({ \ |
| 3573 int16x8x4_t __b = (b); \ |
| 3574 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 33); }) |
| 3575 #define vst1q_s32_x4(__a, b) __extension__ ({ \ |
| 3576 int32x4x4_t __b = (b); \ |
| 3577 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 34); }) |
| 3578 #define vst1q_f16_x4(__a, b) __extension__ ({ \ |
| 3579 float16x8x4_t __b = (b); \ |
| 3580 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 40); }) |
| 3581 #define vst1q_f32_x4(__a, b) __extension__ ({ \ |
| 3582 float32x4x4_t __b = (b); \ |
| 3583 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 41); }) |
| 3584 #define vst1q_p8_x4(__a, b) __extension__ ({ \ |
| 3585 poly8x16x4_t __b = (b); \ |
| 3586 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 36); }) |
| 3587 #define vst1q_p16_x4(__a, b) __extension__ ({ \ |
| 3588 poly16x8x4_t __b = (b); \ |
| 3589 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 37); }) |
| 3590 #define vst1_u8_x4(__a, b) __extension__ ({ \ |
| 3591 uint8x8x4_t __b = (b); \ |
| 3592 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 16); }) |
| 3593 #define vst1_u16_x4(__a, b) __extension__ ({ \ |
| 3594 uint16x4x4_t __b = (b); \ |
| 3595 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 17); }) |
| 3596 #define vst1_u32_x4(__a, b) __extension__ ({ \ |
| 3597 uint32x2x4_t __b = (b); \ |
| 3598 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 18); }) |
| 3599 #define vst1_u64_x4(__a, b) __extension__ ({ \ |
| 3600 uint64x1x4_t __b = (b); \ |
| 3601 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 19); }) |
| 3602 #define vst1_s8_x4(__a, b) __extension__ ({ \ |
| 3603 int8x8x4_t __b = (b); \ |
| 3604 __builtin_neon_vst1_x4_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3],
0); }) |
| 3605 #define vst1_s16_x4(__a, b) __extension__ ({ \ |
| 3606 int16x4x4_t __b = (b); \ |
| 3607 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 1); }) |
| 3608 #define vst1_s32_x4(__a, b) __extension__ ({ \ |
| 3609 int32x2x4_t __b = (b); \ |
| 3610 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 2); }) |
| 3611 #define vst1_s64_x4(__a, b) __extension__ ({ \ |
| 3612 int64x1x4_t __b = (b); \ |
| 3613 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 3); }) |
| 3614 #define vst1_f16_x4(__a, b) __extension__ ({ \ |
| 3615 float16x4x4_t __b = (b); \ |
| 3616 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 8); }) |
| 3617 #define vst1_f32_x4(__a, b) __extension__ ({ \ |
| 3618 float32x2x4_t __b = (b); \ |
| 3619 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 9); }) |
| 3620 #define vst1_p8_x4(__a, b) __extension__ ({ \ |
| 3621 poly8x8x4_t __b = (b); \ |
| 3622 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 4); }) |
| 3623 #define vst1_p16_x4(__a, b) __extension__ ({ \ |
| 3624 poly16x4x4_t __b = (b); \ |
| 3625 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 5); }) |
| 3626 #define vst1q_u64_x4(__a, b) __extension__ ({ \ |
| 3627 uint64x2x4_t __b = (b); \ |
| 3628 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 51); }) |
| 3629 #define vst1q_s64_x4(__a, b) __extension__ ({ \ |
| 3630 int64x2x4_t __b = (b); \ |
| 3631 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 35); }) |
| 3632 #define vst1_f64_x4(__a, b) __extension__ ({ \ |
| 3633 float64x1x4_t __b = (b); \ |
| 3634 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 10); }) |
| 3635 #define vst1q_f64_x4(__a, b) __extension__ ({ \ |
| 3636 float64x2x4_t __b = (b); \ |
| 3637 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 42); }) |
| 3638 #define vst1_p64_x4(__a, b) __extension__ ({ \ |
| 3639 poly64x1x4_t __b = (b); \ |
| 3640 __builtin_neon_vst1_x4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int
8x8_t)__b.val[2], (int8x8_t)__b.val[3], 6); }) |
| 3641 #define vst1q_p64_x4(__a, b) __extension__ ({ \ |
| 3642 poly64x2x4_t __b = (b); \ |
| 3643 __builtin_neon_vst1q_x4_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (
int8x16_t)__b.val[2], (int8x16_t)__b.val[3], 38); }) |
| 3644 |
| 3645 #define vst2q_u64(__a, b) __extension__ ({ \ |
| 3646 uint64x2x2_t __b = (b); \ |
| 3647 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 51);
}) |
| 3648 #define vst2q_s64(__a, b) __extension__ ({ \ |
| 3649 int64x2x2_t __b = (b); \ |
| 3650 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 35);
}) |
| 3651 #define vst2_f64(__a, b) __extension__ ({ \ |
| 3652 float64x1x2_t __b = (b); \ |
| 3653 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 10); }) |
| 3654 #define vst2q_f64(__a, b) __extension__ ({ \ |
| 3655 float64x2x2_t __b = (b); \ |
| 3656 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 42);
}) |
| 3657 #define vst2_p64(__a, b) __extension__ ({ \ |
| 3658 poly64x1x2_t __b = (b); \ |
| 3659 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 6); }) |
| 3660 #define vst2q_p64(__a, b) __extension__ ({ \ |
| 3661 poly64x2x2_t __b = (b); \ |
| 3662 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 38);
}) |
| 3663 |
| 3664 #define vst2_lane_s64(__a, b, __c) __extension__ ({ \ |
| 3665 int64x1x2_t __b = (b); \ |
| 3666 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 3); }) |
| 3667 #define vst2_lane_u64(__a, b, __c) __extension__ ({ \ |
| 3668 uint64x1x2_t __b = (b); \ |
| 3669 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 19); }) |
| 3670 #define vst2q_lane_s8(__a, b, __c) __extension__ ({ \ |
| 3671 int8x16x2_t __b = (b); \ |
| 3672 __builtin_neon_vst2q_lane_v(__a, __b.val[0], __b.val[1], __c, 32); }) |
| 3673 #define vst2q_lane_u8(__a, b, __c) __extension__ ({ \ |
| 3674 uint8x16x2_t __b = (b); \ |
| 3675 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 48); }) |
| 3676 #define vst2q_lane_p8(__a, b, __c) __extension__ ({ \ |
| 3677 poly8x16x2_t __b = (b); \ |
| 3678 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 36); }) |
| 3679 #define vst2q_lane_s64(__a, b, __c) __extension__ ({ \ |
| 3680 int64x2x2_t __b = (b); \ |
| 3681 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 35); }) |
| 3682 #define vst2q_lane_u64(__a, b, __c) __extension__ ({ \ |
| 3683 uint64x2x2_t __b = (b); \ |
| 3684 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 51); }) |
| 3685 #define vst2_lane_f64(__a, b, __c) __extension__ ({ \ |
| 3686 float64x1x2_t __b = (b); \ |
| 3687 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 10); }) |
| 3688 #define vst2q_lane_f64(__a, b, __c) __extension__ ({ \ |
| 3689 float64x2x2_t __b = (b); \ |
| 3690 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 42); }) |
| 3691 #define vst2_lane_p64(__a, b, __c) __extension__ ({ \ |
| 3692 poly64x1x2_t __b = (b); \ |
| 3693 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 6); }) |
| 3694 #define vst2q_lane_p64(__a, b, __c) __extension__ ({ \ |
| 3695 poly64x2x2_t __b = (b); \ |
| 3696 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 38); }) |
| 3697 |
| 3698 #define vst3q_u64(__a, b) __extension__ ({ \ |
| 3699 uint64x2x3_t __b = (b); \ |
| 3700 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 51); }) |
| 3701 #define vst3q_s64(__a, b) __extension__ ({ \ |
| 3702 int64x2x3_t __b = (b); \ |
| 3703 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 35); }) |
| 3704 #define vst3_f64(__a, b) __extension__ ({ \ |
| 3705 float64x1x3_t __b = (b); \ |
| 3706 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 10); }) |
| 3707 #define vst3q_f64(__a, b) __extension__ ({ \ |
| 3708 float64x2x3_t __b = (b); \ |
| 3709 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 42); }) |
| 3710 #define vst3_p64(__a, b) __extension__ ({ \ |
| 3711 poly64x1x3_t __b = (b); \ |
| 3712 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 6); }) |
| 3713 #define vst3q_p64(__a, b) __extension__ ({ \ |
| 3714 poly64x2x3_t __b = (b); \ |
| 3715 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 38); }) |
| 3716 |
| 3717 #define vst3_lane_s64(__a, b, __c) __extension__ ({ \ |
| 3718 int64x1x3_t __b = (b); \ |
| 3719 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 3); }) |
| 3720 #define vst3_lane_u64(__a, b, __c) __extension__ ({ \ |
| 3721 uint64x1x3_t __b = (b); \ |
| 3722 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 19); }) |
| 3723 #define vst3q_lane_s8(__a, b, __c) __extension__ ({ \ |
| 3724 int8x16x3_t __b = (b); \ |
| 3725 __builtin_neon_vst3q_lane_v(__a, __b.val[0], __b.val[1], __b.val[2], __c, 32);
}) |
| 3726 #define vst3q_lane_u8(__a, b, __c) __extension__ ({ \ |
| 3727 uint8x16x3_t __b = (b); \ |
| 3728 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 48); }) |
| 3729 #define vst3q_lane_p8(__a, b, __c) __extension__ ({ \ |
| 3730 poly8x16x3_t __b = (b); \ |
| 3731 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 36); }) |
| 3732 #define vst3q_lane_s64(__a, b, __c) __extension__ ({ \ |
| 3733 int64x2x3_t __b = (b); \ |
| 3734 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 35); }) |
| 3735 #define vst3q_lane_u64(__a, b, __c) __extension__ ({ \ |
| 3736 uint64x2x3_t __b = (b); \ |
| 3737 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 51); }) |
| 3738 #define vst3_lane_f64(__a, b, __c) __extension__ ({ \ |
| 3739 float64x1x3_t __b = (b); \ |
| 3740 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 10); }) |
| 3741 #define vst3q_lane_f64(__a, b, __c) __extension__ ({ \ |
| 3742 float64x2x3_t __b = (b); \ |
| 3743 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 42); }) |
| 3744 #define vst3_lane_p64(__a, b, __c) __extension__ ({ \ |
| 3745 poly64x1x3_t __b = (b); \ |
| 3746 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 6); }) |
| 3747 #define vst3q_lane_p64(__a, b, __c) __extension__ ({ \ |
| 3748 poly64x2x3_t __b = (b); \ |
| 3749 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 38); }) |
| 3750 |
| 3751 #define vst4q_u64(__a, b) __extension__ ({ \ |
| 3752 uint64x2x4_t __b = (b); \ |
| 3753 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 51); }) |
| 3754 #define vst4q_s64(__a, b) __extension__ ({ \ |
| 3755 int64x2x4_t __b = (b); \ |
| 3756 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 35); }) |
| 3757 #define vst4_f64(__a, b) __extension__ ({ \ |
| 3758 float64x1x4_t __b = (b); \ |
| 3759 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 10); }) |
| 3760 #define vst4q_f64(__a, b) __extension__ ({ \ |
| 3761 float64x2x4_t __b = (b); \ |
| 3762 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 42); }) |
| 3763 #define vst4_p64(__a, b) __extension__ ({ \ |
| 3764 poly64x1x4_t __b = (b); \ |
| 3765 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 6); }) |
| 3766 #define vst4q_p64(__a, b) __extension__ ({ \ |
| 3767 poly64x2x4_t __b = (b); \ |
| 3768 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 38); }) |
| 3769 |
| 3770 #define vst4_lane_s64(__a, b, __c) __extension__ ({ \ |
| 3771 int64x1x4_t __b = (b); \ |
| 3772 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 3); }) |
| 3773 #define vst4_lane_u64(__a, b, __c) __extension__ ({ \ |
| 3774 uint64x1x4_t __b = (b); \ |
| 3775 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 19); }) |
| 3776 #define vst4q_lane_s8(__a, b, __c) __extension__ ({ \ |
| 3777 int8x16x4_t __b = (b); \ |
| 3778 __builtin_neon_vst4q_lane_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3
], __c, 32); }) |
| 3779 #define vst4q_lane_u8(__a, b, __c) __extension__ ({ \ |
| 3780 uint8x16x4_t __b = (b); \ |
| 3781 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 48); }) |
| 3782 #define vst4q_lane_p8(__a, b, __c) __extension__ ({ \ |
| 3783 poly8x16x4_t __b = (b); \ |
| 3784 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 36); }) |
| 3785 #define vst4q_lane_s64(__a, b, __c) __extension__ ({ \ |
| 3786 int64x2x4_t __b = (b); \ |
| 3787 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 35); }) |
| 3788 #define vst4q_lane_u64(__a, b, __c) __extension__ ({ \ |
| 3789 uint64x2x4_t __b = (b); \ |
| 3790 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 51); }) |
| 3791 #define vst4_lane_f64(__a, b, __c) __extension__ ({ \ |
| 3792 float64x1x4_t __b = (b); \ |
| 3793 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 10); }) |
| 3794 #define vst4q_lane_f64(__a, b, __c) __extension__ ({ \ |
| 3795 float64x2x4_t __b = (b); \ |
| 3796 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 42); }) |
| 3797 #define vst4_lane_p64(__a, b, __c) __extension__ ({ \ |
| 3798 poly64x1x4_t __b = (b); \ |
| 3799 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 6); }) |
| 3800 #define vst4q_lane_p64(__a, b, __c) __extension__ ({ \ |
| 3801 poly64x2x4_t __b = (b); \ |
| 3802 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 38); }) |
| 3803 |
| 3804 __ai float64x1_t vsub_f64(float64x1_t __a, float64x1_t __b) { |
| 3805 return __a - __b; } |
| 3806 __ai float64x2_t vsubq_f64(float64x2_t __a, float64x2_t __b) { |
| 3807 return __a - __b; } |
| 3808 |
| 3809 __ai int8x8_t vuqadd_s8(int8x8_t __a, int8x8_t __b) { |
| 3810 return (int8x8_t)__builtin_neon_vuqadd_v(__a, __b, 0); } |
| 3811 __ai int16x4_t vuqadd_s16(int16x4_t __a, int16x4_t __b) { |
| 3812 return (int16x4_t)__builtin_neon_vuqadd_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 3813 __ai int32x2_t vuqadd_s32(int32x2_t __a, int32x2_t __b) { |
| 3814 return (int32x2_t)__builtin_neon_vuqadd_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 3815 __ai int64x1_t vuqadd_s64(int64x1_t __a, int64x1_t __b) { |
| 3816 return (int64x1_t)__builtin_neon_vuqadd_v((int8x8_t)__a, (int8x8_t)__b, 3); } |
| 3817 __ai int8x16_t vuqaddq_s8(int8x16_t __a, int8x16_t __b) { |
| 3818 return (int8x16_t)__builtin_neon_vuqaddq_v(__a, __b, 32); } |
| 3819 __ai int16x8_t vuqaddq_s16(int16x8_t __a, int16x8_t __b) { |
| 3820 return (int16x8_t)__builtin_neon_vuqaddq_v((int8x16_t)__a, (int8x16_t)__b, 33)
; } |
| 3821 __ai int32x4_t vuqaddq_s32(int32x4_t __a, int32x4_t __b) { |
| 3822 return (int32x4_t)__builtin_neon_vuqaddq_v((int8x16_t)__a, (int8x16_t)__b, 34)
; } |
| 3823 __ai int64x2_t vuqaddq_s64(int64x2_t __a, int64x2_t __b) { |
| 3824 return (int64x2_t)__builtin_neon_vuqaddq_v((int8x16_t)__a, (int8x16_t)__b, 35)
; } |
| 3825 |
| 3826 __ai uint8x8_t vsqadd_u8(uint8x8_t __a, uint8x8_t __b) { |
| 3827 return (uint8x8_t)__builtin_neon_vsqadd_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 3828 __ai uint16x4_t vsqadd_u16(uint16x4_t __a, uint16x4_t __b) { |
| 3829 return (uint16x4_t)__builtin_neon_vsqadd_v((int8x8_t)__a, (int8x8_t)__b, 17);
} |
| 3830 __ai uint32x2_t vsqadd_u32(uint32x2_t __a, uint32x2_t __b) { |
| 3831 return (uint32x2_t)__builtin_neon_vsqadd_v((int8x8_t)__a, (int8x8_t)__b, 18);
} |
| 3832 __ai uint64x1_t vsqadd_u64(uint64x1_t __a, uint64x1_t __b) { |
| 3833 return (uint64x1_t)__builtin_neon_vsqadd_v((int8x8_t)__a, (int8x8_t)__b, 19);
} |
| 3834 __ai uint8x16_t vsqaddq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 3835 return (uint8x16_t)__builtin_neon_vsqaddq_v((int8x16_t)__a, (int8x16_t)__b, 48
); } |
| 3836 __ai uint16x8_t vsqaddq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 3837 return (uint16x8_t)__builtin_neon_vsqaddq_v((int8x16_t)__a, (int8x16_t)__b, 49
); } |
| 3838 __ai uint32x4_t vsqaddq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 3839 return (uint32x4_t)__builtin_neon_vsqaddq_v((int8x16_t)__a, (int8x16_t)__b, 50
); } |
| 3840 __ai uint64x2_t vsqaddq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 3841 return (uint64x2_t)__builtin_neon_vsqaddq_v((int8x16_t)__a, (int8x16_t)__b, 51
); } |
| 3842 |
| 3843 #endif |
| 3844 |
| 3845 __ai int8x8_t vaba_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) { |
| 3846 return __a + vabd_s8(__b, __c); } |
| 3847 __ai int16x4_t vaba_s16(int16x4_t __a, int16x4_t __b, int16x4_t __c) { |
| 3848 return __a + vabd_s16(__b, __c); } |
| 3849 __ai int32x2_t vaba_s32(int32x2_t __a, int32x2_t __b, int32x2_t __c) { |
| 3850 return __a + vabd_s32(__b, __c); } |
| 3851 __ai uint8x8_t vaba_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { |
| 3852 return __a + vabd_u8(__b, __c); } |
| 3853 __ai uint16x4_t vaba_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { |
| 3854 return __a + vabd_u16(__b, __c); } |
| 3855 __ai uint32x2_t vaba_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { |
| 3856 return __a + vabd_u32(__b, __c); } |
| 3857 __ai int8x16_t vabaq_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) { |
| 3858 return __a + vabdq_s8(__b, __c); } |
| 3859 __ai int16x8_t vabaq_s16(int16x8_t __a, int16x8_t __b, int16x8_t __c) { |
| 3860 return __a + vabdq_s16(__b, __c); } |
| 3861 __ai int32x4_t vabaq_s32(int32x4_t __a, int32x4_t __b, int32x4_t __c) { |
| 3862 return __a + vabdq_s32(__b, __c); } |
| 3863 __ai uint8x16_t vabaq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { |
| 3864 return __a + vabdq_u8(__b, __c); } |
| 3865 __ai uint16x8_t vabaq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { |
| 3866 return __a + vabdq_u16(__b, __c); } |
| 3867 __ai uint32x4_t vabaq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { |
| 3868 return __a + vabdq_u32(__b, __c); } |
| 3869 |
| 3870 __ai int16x8_t vabal_s8(int16x8_t __a, int8x8_t __b, int8x8_t __c) { |
| 3871 return __a + vabdl_s8(__b, __c); } |
| 3872 __ai int32x4_t vabal_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) { |
| 3873 return __a + vabdl_s16(__b, __c); } |
| 3874 __ai int64x2_t vabal_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) { |
| 3875 return __a + vabdl_s32(__b, __c); } |
| 3876 __ai uint16x8_t vabal_u8(uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) { |
| 3877 return __a + vabdl_u8(__b, __c); } |
| 3878 __ai uint32x4_t vabal_u16(uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) { |
| 3879 return __a + vabdl_u16(__b, __c); } |
| 3880 __ai uint64x2_t vabal_u32(uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) { |
| 3881 return __a + vabdl_u32(__b, __c); } |
| 3882 |
| 3883 #if defined(__aarch64__) |
| 3884 __ai int16x8_t vabal_high_s8(int16x8_t __a, int8x16_t __b, int8x16_t __c) { |
| 3885 return vabal_s8(__a, vget_high_s8(__b), vget_high_s8(__c)); } |
| 3886 __ai int32x4_t vabal_high_s16(int32x4_t __a, int16x8_t __b, int16x8_t __c) { |
| 3887 return vabal_s16(__a, vget_high_s16(__b), vget_high_s16(__c)); } |
| 3888 __ai int64x2_t vabal_high_s32(int64x2_t __a, int32x4_t __b, int32x4_t __c) { |
| 3889 return vabal_s32(__a, vget_high_s32(__b), vget_high_s32(__c)); } |
| 3890 __ai uint16x8_t vabal_high_u8(uint16x8_t __a, uint8x16_t __b, uint8x16_t __c) { |
| 3891 return vabal_u8(__a, vget_high_u8(__b), vget_high_u8(__c)); } |
| 3892 __ai uint32x4_t vabal_high_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __c) { |
| 3893 return vabal_u16(__a, vget_high_u16(__b), vget_high_u16(__c)); } |
| 3894 __ai uint64x2_t vabal_high_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __c) { |
| 3895 return vabal_u32(__a, vget_high_u32(__b), vget_high_u32(__c)); } |
| 3896 |
| 3897 __ai int16x8_t vabdl_high_s8(int8x16_t __a, int8x16_t __b) { |
| 3898 return vabdl_s8(vget_high_s8(__a), vget_high_s8(__b)); } |
| 3899 __ai int32x4_t vabdl_high_s16(int16x8_t __a, int16x8_t __b) { |
| 3900 return vabdl_s16(vget_high_s16(__a), vget_high_s16(__b)); } |
| 3901 __ai int64x2_t vabdl_high_s32(int32x4_t __a, int32x4_t __b) { |
| 3902 return vabdl_s32(vget_high_s32(__a), vget_high_s32(__b)); } |
| 3903 __ai uint16x8_t vabdl_high_u8(uint8x16_t __a, uint8x16_t __b) { |
| 3904 return vabdl_u8(vget_high_u8(__a), vget_high_u8(__b)); } |
| 3905 __ai uint32x4_t vabdl_high_u16(uint16x8_t __a, uint16x8_t __b) { |
| 3906 return vabdl_u16(vget_high_u16(__a), vget_high_u16(__b)); } |
| 3907 __ai uint64x2_t vabdl_high_u32(uint32x4_t __a, uint32x4_t __b) { |
| 3908 return vabdl_u32(vget_high_u32(__a), vget_high_u32(__b)); } |
| 3909 |
| 3910 #endif |
| 3911 |
| 3912 __ai int8x8_t vabs_s8(int8x8_t __a) { |
| 3913 return (int8x8_t)__builtin_neon_vabs_v(__a, 0); } |
| 3914 __ai int16x4_t vabs_s16(int16x4_t __a) { |
| 3915 return (int16x4_t)__builtin_neon_vabs_v((int8x8_t)__a, 1); } |
| 3916 __ai int32x2_t vabs_s32(int32x2_t __a) { |
| 3917 return (int32x2_t)__builtin_neon_vabs_v((int8x8_t)__a, 2); } |
| 3918 __ai float32x2_t vabs_f32(float32x2_t __a) { |
| 3919 return (float32x2_t)__builtin_neon_vabs_v((int8x8_t)__a, 9); } |
| 3920 __ai int8x16_t vabsq_s8(int8x16_t __a) { |
| 3921 return (int8x16_t)__builtin_neon_vabsq_v(__a, 32); } |
| 3922 __ai int16x8_t vabsq_s16(int16x8_t __a) { |
| 3923 return (int16x8_t)__builtin_neon_vabsq_v((int8x16_t)__a, 33); } |
| 3924 __ai int32x4_t vabsq_s32(int32x4_t __a) { |
| 3925 return (int32x4_t)__builtin_neon_vabsq_v((int8x16_t)__a, 34); } |
| 3926 __ai float32x4_t vabsq_f32(float32x4_t __a) { |
| 3927 return (float32x4_t)__builtin_neon_vabsq_v((int8x16_t)__a, 41); } |
| 3928 |
| 3929 __ai int8x8_t vadd_s8(int8x8_t __a, int8x8_t __b) { |
| 3930 return __a + __b; } |
| 3931 __ai int16x4_t vadd_s16(int16x4_t __a, int16x4_t __b) { |
| 3932 return __a + __b; } |
| 3933 __ai int32x2_t vadd_s32(int32x2_t __a, int32x2_t __b) { |
| 3934 return __a + __b; } |
| 3935 __ai int64x1_t vadd_s64(int64x1_t __a, int64x1_t __b) { |
| 3936 return __a + __b; } |
| 3937 __ai float32x2_t vadd_f32(float32x2_t __a, float32x2_t __b) { |
| 3938 return __a + __b; } |
| 3939 __ai uint8x8_t vadd_u8(uint8x8_t __a, uint8x8_t __b) { |
| 3940 return __a + __b; } |
| 3941 __ai uint16x4_t vadd_u16(uint16x4_t __a, uint16x4_t __b) { |
| 3942 return __a + __b; } |
| 3943 __ai uint32x2_t vadd_u32(uint32x2_t __a, uint32x2_t __b) { |
| 3944 return __a + __b; } |
| 3945 __ai uint64x1_t vadd_u64(uint64x1_t __a, uint64x1_t __b) { |
| 3946 return __a + __b; } |
| 3947 __ai int8x16_t vaddq_s8(int8x16_t __a, int8x16_t __b) { |
| 3948 return __a + __b; } |
| 3949 __ai int16x8_t vaddq_s16(int16x8_t __a, int16x8_t __b) { |
| 3950 return __a + __b; } |
| 3951 __ai int32x4_t vaddq_s32(int32x4_t __a, int32x4_t __b) { |
| 3952 return __a + __b; } |
| 3953 __ai int64x2_t vaddq_s64(int64x2_t __a, int64x2_t __b) { |
| 3954 return __a + __b; } |
| 3955 __ai float32x4_t vaddq_f32(float32x4_t __a, float32x4_t __b) { |
| 3956 return __a + __b; } |
| 3957 __ai uint8x16_t vaddq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 3958 return __a + __b; } |
| 3959 __ai uint16x8_t vaddq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 3960 return __a + __b; } |
| 3961 __ai uint32x4_t vaddq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 3962 return __a + __b; } |
| 3963 __ai uint64x2_t vaddq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 3964 return __a + __b; } |
| 3965 |
| 3966 __ai int8x8_t vaddhn_s16(int16x8_t __a, int16x8_t __b) { |
| 3967 return (int8x8_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 0); } |
| 3968 __ai int16x4_t vaddhn_s32(int32x4_t __a, int32x4_t __b) { |
| 3969 return (int16x4_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 1);
} |
| 3970 __ai int32x2_t vaddhn_s64(int64x2_t __a, int64x2_t __b) { |
| 3971 return (int32x2_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 2);
} |
| 3972 __ai uint8x8_t vaddhn_u16(uint16x8_t __a, uint16x8_t __b) { |
| 3973 return (uint8x8_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 16);
} |
| 3974 __ai uint16x4_t vaddhn_u32(uint32x4_t __a, uint32x4_t __b) { |
| 3975 return (uint16x4_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 17)
; } |
| 3976 __ai uint32x2_t vaddhn_u64(uint64x2_t __a, uint64x2_t __b) { |
| 3977 return (uint32x2_t)__builtin_neon_vaddhn_v((int8x16_t)__a, (int8x16_t)__b, 18)
; } |
| 3978 |
| 3979 #if defined(__aarch64__) |
| 3980 __ai int8x16_t vaddhn_high_s16(int8x8_t __a, int16x8_t __b, int16x8_t __c) { |
| 3981 return vcombine_s8(__a, vaddhn_s16(__b, __c)); } |
| 3982 __ai int16x8_t vaddhn_high_s32(int16x4_t __a, int32x4_t __b, int32x4_t __c) { |
| 3983 return vcombine_s16(__a, vaddhn_s32(__b, __c)); } |
| 3984 __ai int32x4_t vaddhn_high_s64(int32x2_t __a, int64x2_t __b, int64x2_t __c) { |
| 3985 return vcombine_s32(__a, vaddhn_s64(__b, __c)); } |
| 3986 __ai uint8x16_t vaddhn_high_u16(uint8x8_t __a, uint16x8_t __b, uint16x8_t __c) { |
| 3987 return vcombine_u8(__a, vaddhn_u16(__b, __c)); } |
| 3988 __ai uint16x8_t vaddhn_high_u32(uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
{ |
| 3989 return vcombine_u16(__a, vaddhn_u32(__b, __c)); } |
| 3990 __ai uint32x4_t vaddhn_high_u64(uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
{ |
| 3991 return vcombine_u32(__a, vaddhn_u64(__b, __c)); } |
| 3992 |
| 3993 #endif |
| 3994 |
| 3995 __ai int16x8_t vaddl_s8(int8x8_t __a, int8x8_t __b) { |
| 3996 return vmovl_s8(__a) + vmovl_s8(__b); } |
| 3997 __ai int32x4_t vaddl_s16(int16x4_t __a, int16x4_t __b) { |
| 3998 return vmovl_s16(__a) + vmovl_s16(__b); } |
| 3999 __ai int64x2_t vaddl_s32(int32x2_t __a, int32x2_t __b) { |
| 4000 return vmovl_s32(__a) + vmovl_s32(__b); } |
| 4001 __ai uint16x8_t vaddl_u8(uint8x8_t __a, uint8x8_t __b) { |
| 4002 return vmovl_u8(__a) + vmovl_u8(__b); } |
| 4003 __ai uint32x4_t vaddl_u16(uint16x4_t __a, uint16x4_t __b) { |
| 4004 return vmovl_u16(__a) + vmovl_u16(__b); } |
| 4005 __ai uint64x2_t vaddl_u32(uint32x2_t __a, uint32x2_t __b) { |
| 4006 return vmovl_u32(__a) + vmovl_u32(__b); } |
| 4007 |
| 4008 #if defined(__aarch64__) |
| 4009 __ai int16_t vaddlv_s8(int8x8_t __a) { |
| 4010 return (int16_t)__builtin_neon_vaddlv_s8(__a); } |
| 4011 __ai int32_t vaddlv_s16(int16x4_t __a) { |
| 4012 return (int32_t)__builtin_neon_vaddlv_s16(__a); } |
| 4013 __ai int64_t vaddlv_s32(int32x2_t __a) { |
| 4014 return (int64_t)__builtin_neon_vaddlv_s32(__a); } |
| 4015 __ai uint16_t vaddlv_u8(uint8x8_t __a) { |
| 4016 return (uint16_t)__builtin_neon_vaddlv_u8((int8x8_t)__a); } |
| 4017 __ai uint32_t vaddlv_u16(uint16x4_t __a) { |
| 4018 return (uint32_t)__builtin_neon_vaddlv_u16((int16x4_t)__a); } |
| 4019 __ai uint64_t vaddlv_u32(uint32x2_t __a) { |
| 4020 return (uint64_t)__builtin_neon_vaddlv_u32((int32x2_t)__a); } |
| 4021 __ai int16_t vaddlvq_s8(int8x16_t __a) { |
| 4022 return (int16_t)__builtin_neon_vaddlvq_s8(__a); } |
| 4023 __ai int32_t vaddlvq_s16(int16x8_t __a) { |
| 4024 return (int32_t)__builtin_neon_vaddlvq_s16(__a); } |
| 4025 __ai int64_t vaddlvq_s32(int32x4_t __a) { |
| 4026 return (int64_t)__builtin_neon_vaddlvq_s32(__a); } |
| 4027 __ai uint16_t vaddlvq_u8(uint8x16_t __a) { |
| 4028 return (uint16_t)__builtin_neon_vaddlvq_u8((int8x16_t)__a); } |
| 4029 __ai uint32_t vaddlvq_u16(uint16x8_t __a) { |
| 4030 return (uint32_t)__builtin_neon_vaddlvq_u16((int16x8_t)__a); } |
| 4031 __ai uint64_t vaddlvq_u32(uint32x4_t __a) { |
| 4032 return (uint64_t)__builtin_neon_vaddlvq_u32((int32x4_t)__a); } |
| 4033 |
| 4034 __ai int16x8_t vaddl_high_s8(int8x16_t __a, int8x16_t __b) { |
| 4035 return vmovl_high_s8(__a) + vmovl_high_s8(__b); } |
| 4036 __ai int32x4_t vaddl_high_s16(int16x8_t __a, int16x8_t __b) { |
| 4037 return vmovl_high_s16(__a) + vmovl_high_s16(__b); } |
| 4038 __ai int64x2_t vaddl_high_s32(int32x4_t __a, int32x4_t __b) { |
| 4039 return vmovl_high_s32(__a) + vmovl_high_s32(__b); } |
| 4040 __ai uint16x8_t vaddl_high_u8(uint8x16_t __a, uint8x16_t __b) { |
| 4041 return vmovl_high_u8(__a) + vmovl_high_u8(__b); } |
| 4042 __ai uint32x4_t vaddl_high_u16(uint16x8_t __a, uint16x8_t __b) { |
| 4043 return vmovl_high_u16(__a) + vmovl_high_u16(__b); } |
| 4044 __ai uint64x2_t vaddl_high_u32(uint32x4_t __a, uint32x4_t __b) { |
| 4045 return vmovl_high_u32(__a) + vmovl_high_u32(__b); } |
| 4046 |
| 4047 __ai int8_t vaddv_s8(int8x8_t __a) { |
| 4048 return (int8_t)__builtin_neon_vaddv_s8(__a); } |
| 4049 __ai int16_t vaddv_s16(int16x4_t __a) { |
| 4050 return (int16_t)__builtin_neon_vaddv_s16(__a); } |
| 4051 __ai int32_t vaddv_s32(int32x2_t __a) { |
| 4052 return (int32_t)__builtin_neon_vaddv_s32(__a); } |
| 4053 __ai float32_t vaddv_f32(float32x2_t __a) { |
| 4054 return (float32_t)__builtin_neon_vaddv_f32(__a); } |
| 4055 __ai uint8_t vaddv_u8(uint8x8_t __a) { |
| 4056 return (uint8_t)__builtin_neon_vaddv_u8((int8x8_t)__a); } |
| 4057 __ai uint16_t vaddv_u16(uint16x4_t __a) { |
| 4058 return (uint16_t)__builtin_neon_vaddv_u16((int16x4_t)__a); } |
| 4059 __ai uint32_t vaddv_u32(uint32x2_t __a) { |
| 4060 return (uint32_t)__builtin_neon_vaddv_u32((int32x2_t)__a); } |
| 4061 __ai int8_t vaddvq_s8(int8x16_t __a) { |
| 4062 return (int8_t)__builtin_neon_vaddvq_s8(__a); } |
| 4063 __ai int16_t vaddvq_s16(int16x8_t __a) { |
| 4064 return (int16_t)__builtin_neon_vaddvq_s16(__a); } |
| 4065 __ai int32_t vaddvq_s32(int32x4_t __a) { |
| 4066 return (int32_t)__builtin_neon_vaddvq_s32(__a); } |
| 4067 __ai uint8_t vaddvq_u8(uint8x16_t __a) { |
| 4068 return (uint8_t)__builtin_neon_vaddvq_u8((int8x16_t)__a); } |
| 4069 __ai uint16_t vaddvq_u16(uint16x8_t __a) { |
| 4070 return (uint16_t)__builtin_neon_vaddvq_u16((int16x8_t)__a); } |
| 4071 __ai uint32_t vaddvq_u32(uint32x4_t __a) { |
| 4072 return (uint32_t)__builtin_neon_vaddvq_u32((int32x4_t)__a); } |
| 4073 __ai float32_t vaddvq_f32(float32x4_t __a) { |
| 4074 return (float32_t)__builtin_neon_vaddvq_f32(__a); } |
| 4075 __ai float64_t vaddvq_f64(float64x2_t __a) { |
| 4076 return (float64_t)__builtin_neon_vaddvq_f64(__a); } |
| 4077 __ai int64_t vaddvq_s64(int64x2_t __a) { |
| 4078 return (int64_t)__builtin_neon_vaddvq_s64(__a); } |
| 4079 __ai uint64_t vaddvq_u64(uint64x2_t __a) { |
| 4080 return (uint64_t)__builtin_neon_vaddvq_u64((int64x2_t)__a); } |
| 4081 |
| 4082 #endif |
| 4083 |
| 4084 __ai int16x8_t vaddw_s8(int16x8_t __a, int8x8_t __b) { |
| 4085 return __a + vmovl_s8(__b); } |
| 4086 __ai int32x4_t vaddw_s16(int32x4_t __a, int16x4_t __b) { |
| 4087 return __a + vmovl_s16(__b); } |
| 4088 __ai int64x2_t vaddw_s32(int64x2_t __a, int32x2_t __b) { |
| 4089 return __a + vmovl_s32(__b); } |
| 4090 __ai uint16x8_t vaddw_u8(uint16x8_t __a, uint8x8_t __b) { |
| 4091 return __a + vmovl_u8(__b); } |
| 4092 __ai uint32x4_t vaddw_u16(uint32x4_t __a, uint16x4_t __b) { |
| 4093 return __a + vmovl_u16(__b); } |
| 4094 __ai uint64x2_t vaddw_u32(uint64x2_t __a, uint32x2_t __b) { |
| 4095 return __a + vmovl_u32(__b); } |
| 4096 |
| 4097 #if defined(__aarch64__) |
| 4098 __ai int16x8_t vaddw_high_s8(int16x8_t __a, int8x16_t __b) { |
| 4099 return __a + vmovl_high_s8(__b); } |
| 4100 __ai int32x4_t vaddw_high_s16(int32x4_t __a, int16x8_t __b) { |
| 4101 return __a + vmovl_high_s16(__b); } |
| 4102 __ai int64x2_t vaddw_high_s32(int64x2_t __a, int32x4_t __b) { |
| 4103 return __a + vmovl_high_s32(__b); } |
| 4104 __ai uint16x8_t vaddw_high_u8(uint16x8_t __a, uint8x16_t __b) { |
| 4105 return __a + vmovl_high_u8(__b); } |
| 4106 __ai uint32x4_t vaddw_high_u16(uint32x4_t __a, uint16x8_t __b) { |
| 4107 return __a + vmovl_high_u16(__b); } |
| 4108 __ai uint64x2_t vaddw_high_u32(uint64x2_t __a, uint32x4_t __b) { |
| 4109 return __a + vmovl_high_u32(__b); } |
| 4110 |
| 4111 #endif |
| 4112 |
| 4113 __ai int8x8_t vand_s8(int8x8_t __a, int8x8_t __b) { |
| 4114 return __a & __b; } |
| 4115 __ai int16x4_t vand_s16(int16x4_t __a, int16x4_t __b) { |
| 4116 return __a & __b; } |
| 4117 __ai int32x2_t vand_s32(int32x2_t __a, int32x2_t __b) { |
| 4118 return __a & __b; } |
| 4119 __ai int64x1_t vand_s64(int64x1_t __a, int64x1_t __b) { |
| 4120 return __a & __b; } |
| 4121 __ai uint8x8_t vand_u8(uint8x8_t __a, uint8x8_t __b) { |
| 4122 return __a & __b; } |
| 4123 __ai uint16x4_t vand_u16(uint16x4_t __a, uint16x4_t __b) { |
| 4124 return __a & __b; } |
| 4125 __ai uint32x2_t vand_u32(uint32x2_t __a, uint32x2_t __b) { |
| 4126 return __a & __b; } |
| 4127 __ai uint64x1_t vand_u64(uint64x1_t __a, uint64x1_t __b) { |
| 4128 return __a & __b; } |
| 4129 __ai int8x16_t vandq_s8(int8x16_t __a, int8x16_t __b) { |
| 4130 return __a & __b; } |
| 4131 __ai int16x8_t vandq_s16(int16x8_t __a, int16x8_t __b) { |
| 4132 return __a & __b; } |
| 4133 __ai int32x4_t vandq_s32(int32x4_t __a, int32x4_t __b) { |
| 4134 return __a & __b; } |
| 4135 __ai int64x2_t vandq_s64(int64x2_t __a, int64x2_t __b) { |
| 4136 return __a & __b; } |
| 4137 __ai uint8x16_t vandq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 4138 return __a & __b; } |
| 4139 __ai uint16x8_t vandq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 4140 return __a & __b; } |
| 4141 __ai uint32x4_t vandq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 4142 return __a & __b; } |
| 4143 __ai uint64x2_t vandq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 4144 return __a & __b; } |
| 4145 |
| 4146 __ai int8x8_t vbic_s8(int8x8_t __a, int8x8_t __b) { |
| 4147 return __a & ~__b; } |
| 4148 __ai int16x4_t vbic_s16(int16x4_t __a, int16x4_t __b) { |
| 4149 return __a & ~__b; } |
| 4150 __ai int32x2_t vbic_s32(int32x2_t __a, int32x2_t __b) { |
| 4151 return __a & ~__b; } |
| 4152 __ai int64x1_t vbic_s64(int64x1_t __a, int64x1_t __b) { |
| 4153 return __a & ~__b; } |
| 4154 __ai uint8x8_t vbic_u8(uint8x8_t __a, uint8x8_t __b) { |
| 4155 return __a & ~__b; } |
| 4156 __ai uint16x4_t vbic_u16(uint16x4_t __a, uint16x4_t __b) { |
| 4157 return __a & ~__b; } |
| 4158 __ai uint32x2_t vbic_u32(uint32x2_t __a, uint32x2_t __b) { |
| 4159 return __a & ~__b; } |
| 4160 __ai uint64x1_t vbic_u64(uint64x1_t __a, uint64x1_t __b) { |
| 4161 return __a & ~__b; } |
| 4162 __ai int8x16_t vbicq_s8(int8x16_t __a, int8x16_t __b) { |
| 4163 return __a & ~__b; } |
| 4164 __ai int16x8_t vbicq_s16(int16x8_t __a, int16x8_t __b) { |
| 4165 return __a & ~__b; } |
| 4166 __ai int32x4_t vbicq_s32(int32x4_t __a, int32x4_t __b) { |
| 4167 return __a & ~__b; } |
| 4168 __ai int64x2_t vbicq_s64(int64x2_t __a, int64x2_t __b) { |
| 4169 return __a & ~__b; } |
| 4170 __ai uint8x16_t vbicq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 4171 return __a & ~__b; } |
| 4172 __ai uint16x8_t vbicq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 4173 return __a & ~__b; } |
| 4174 __ai uint32x4_t vbicq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 4175 return __a & ~__b; } |
| 4176 __ai uint64x2_t vbicq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 4177 return __a & ~__b; } |
| 4178 |
| 4179 __ai int8x8_t vbsl_s8(uint8x8_t __a, int8x8_t __b, int8x8_t __c) { |
| 4180 return (int8x8_t)__builtin_neon_vbsl_v((int8x8_t)__a, __b, __c, 0); } |
| 4181 __ai int16x4_t vbsl_s16(uint16x4_t __a, int16x4_t __b, int16x4_t __c) { |
| 4182 return (int16x4_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_
t)__c, 1); } |
| 4183 __ai int32x2_t vbsl_s32(uint32x2_t __a, int32x2_t __b, int32x2_t __c) { |
| 4184 return (int32x2_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_
t)__c, 2); } |
| 4185 __ai int64x1_t vbsl_s64(uint64x1_t __a, int64x1_t __b, int64x1_t __c) { |
| 4186 return (int64x1_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_
t)__c, 3); } |
| 4187 __ai uint8x8_t vbsl_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { |
| 4188 return (uint8x8_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_
t)__c, 16); } |
| 4189 __ai uint16x4_t vbsl_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { |
| 4190 return (uint16x4_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8
_t)__c, 17); } |
| 4191 __ai uint32x2_t vbsl_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { |
| 4192 return (uint32x2_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8
_t)__c, 18); } |
| 4193 __ai uint64x1_t vbsl_u64(uint64x1_t __a, uint64x1_t __b, uint64x1_t __c) { |
| 4194 return (uint64x1_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8
_t)__c, 19); } |
| 4195 __ai float32x2_t vbsl_f32(uint32x2_t __a, float32x2_t __b, float32x2_t __c) { |
| 4196 return (float32x2_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x
8_t)__c, 9); } |
| 4197 __ai poly8x8_t vbsl_p8(uint8x8_t __a, poly8x8_t __b, poly8x8_t __c) { |
| 4198 return (poly8x8_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_
t)__c, 4); } |
| 4199 __ai poly16x4_t vbsl_p16(uint16x4_t __a, poly16x4_t __b, poly16x4_t __c) { |
| 4200 return (poly16x4_t)__builtin_neon_vbsl_v((int8x8_t)__a, (int8x8_t)__b, (int8x8
_t)__c, 5); } |
| 4201 __ai int8x16_t vbslq_s8(uint8x16_t __a, int8x16_t __b, int8x16_t __c) { |
| 4202 return (int8x16_t)__builtin_neon_vbslq_v((int8x16_t)__a, __b, __c, 32); } |
| 4203 __ai int16x8_t vbslq_s16(uint16x8_t __a, int16x8_t __b, int16x8_t __c) { |
| 4204 return (int16x8_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8
x16_t)__c, 33); } |
| 4205 __ai int32x4_t vbslq_s32(uint32x4_t __a, int32x4_t __b, int32x4_t __c) { |
| 4206 return (int32x4_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8
x16_t)__c, 34); } |
| 4207 __ai int64x2_t vbslq_s64(uint64x2_t __a, int64x2_t __b, int64x2_t __c) { |
| 4208 return (int64x2_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int8
x16_t)__c, 35); } |
| 4209 __ai uint8x16_t vbslq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { |
| 4210 return (uint8x16_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int
8x16_t)__c, 48); } |
| 4211 __ai uint16x8_t vbslq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { |
| 4212 return (uint16x8_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int
8x16_t)__c, 49); } |
| 4213 __ai uint32x4_t vbslq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { |
| 4214 return (uint32x4_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int
8x16_t)__c, 50); } |
| 4215 __ai uint64x2_t vbslq_u64(uint64x2_t __a, uint64x2_t __b, uint64x2_t __c) { |
| 4216 return (uint64x2_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int
8x16_t)__c, 51); } |
| 4217 __ai float32x4_t vbslq_f32(uint32x4_t __a, float32x4_t __b, float32x4_t __c) { |
| 4218 return (float32x4_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (in
t8x16_t)__c, 41); } |
| 4219 __ai poly8x16_t vbslq_p8(uint8x16_t __a, poly8x16_t __b, poly8x16_t __c) { |
| 4220 return (poly8x16_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int
8x16_t)__c, 36); } |
| 4221 __ai poly16x8_t vbslq_p16(uint16x8_t __a, poly16x8_t __b, poly16x8_t __c) { |
| 4222 return (poly16x8_t)__builtin_neon_vbslq_v((int8x16_t)__a, (int8x16_t)__b, (int
8x16_t)__c, 37); } |
| 4223 |
| 4224 __ai uint32x2_t vcage_f32(float32x2_t __a, float32x2_t __b) { |
| 4225 return (uint32x2_t)__builtin_neon_vcage_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 4226 __ai uint32x4_t vcageq_f32(float32x4_t __a, float32x4_t __b) { |
| 4227 return (uint32x4_t)__builtin_neon_vcageq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 4228 |
| 4229 __ai uint32x2_t vcagt_f32(float32x2_t __a, float32x2_t __b) { |
| 4230 return (uint32x2_t)__builtin_neon_vcagt_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 4231 __ai uint32x4_t vcagtq_f32(float32x4_t __a, float32x4_t __b) { |
| 4232 return (uint32x4_t)__builtin_neon_vcagtq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 4233 |
| 4234 __ai uint32x2_t vcale_f32(float32x2_t __a, float32x2_t __b) { |
| 4235 return (uint32x2_t)__builtin_neon_vcale_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 4236 __ai uint32x4_t vcaleq_f32(float32x4_t __a, float32x4_t __b) { |
| 4237 return (uint32x4_t)__builtin_neon_vcaleq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 4238 |
| 4239 __ai uint32x2_t vcalt_f32(float32x2_t __a, float32x2_t __b) { |
| 4240 return (uint32x2_t)__builtin_neon_vcalt_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 4241 __ai uint32x4_t vcaltq_f32(float32x4_t __a, float32x4_t __b) { |
| 4242 return (uint32x4_t)__builtin_neon_vcaltq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 4243 |
| 4244 __ai uint8x8_t vceq_s8(int8x8_t __a, int8x8_t __b) { |
| 4245 return (uint8x8_t)(__a == __b); } |
| 4246 __ai uint16x4_t vceq_s16(int16x4_t __a, int16x4_t __b) { |
| 4247 return (uint16x4_t)(__a == __b); } |
| 4248 __ai uint32x2_t vceq_s32(int32x2_t __a, int32x2_t __b) { |
| 4249 return (uint32x2_t)(__a == __b); } |
| 4250 __ai uint32x2_t vceq_f32(float32x2_t __a, float32x2_t __b) { |
| 4251 return (uint32x2_t)(__a == __b); } |
| 4252 __ai uint8x8_t vceq_u8(uint8x8_t __a, uint8x8_t __b) { |
| 4253 return (uint8x8_t)(__a == __b); } |
| 4254 __ai uint16x4_t vceq_u16(uint16x4_t __a, uint16x4_t __b) { |
| 4255 return (uint16x4_t)(__a == __b); } |
| 4256 __ai uint32x2_t vceq_u32(uint32x2_t __a, uint32x2_t __b) { |
| 4257 return (uint32x2_t)(__a == __b); } |
| 4258 __ai uint8x8_t vceq_p8(poly8x8_t __a, poly8x8_t __b) { |
| 4259 return (uint8x8_t)(__a == __b); } |
| 4260 __ai uint8x16_t vceqq_s8(int8x16_t __a, int8x16_t __b) { |
| 4261 return (uint8x16_t)(__a == __b); } |
| 4262 __ai uint16x8_t vceqq_s16(int16x8_t __a, int16x8_t __b) { |
| 4263 return (uint16x8_t)(__a == __b); } |
| 4264 __ai uint32x4_t vceqq_s32(int32x4_t __a, int32x4_t __b) { |
| 4265 return (uint32x4_t)(__a == __b); } |
| 4266 __ai uint32x4_t vceqq_f32(float32x4_t __a, float32x4_t __b) { |
| 4267 return (uint32x4_t)(__a == __b); } |
| 4268 __ai uint8x16_t vceqq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 4269 return (uint8x16_t)(__a == __b); } |
| 4270 __ai uint16x8_t vceqq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 4271 return (uint16x8_t)(__a == __b); } |
| 4272 __ai uint32x4_t vceqq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 4273 return (uint32x4_t)(__a == __b); } |
| 4274 __ai uint8x16_t vceqq_p8(poly8x16_t __a, poly8x16_t __b) { |
| 4275 return (uint8x16_t)(__a == __b); } |
| 4276 |
| 4277 __ai uint8x8_t vcge_s8(int8x8_t __a, int8x8_t __b) { |
| 4278 return (uint8x8_t)(__a >= __b); } |
| 4279 __ai uint16x4_t vcge_s16(int16x4_t __a, int16x4_t __b) { |
| 4280 return (uint16x4_t)(__a >= __b); } |
| 4281 __ai uint32x2_t vcge_s32(int32x2_t __a, int32x2_t __b) { |
| 4282 return (uint32x2_t)(__a >= __b); } |
| 4283 __ai uint32x2_t vcge_f32(float32x2_t __a, float32x2_t __b) { |
| 4284 return (uint32x2_t)(__a >= __b); } |
| 4285 __ai uint8x8_t vcge_u8(uint8x8_t __a, uint8x8_t __b) { |
| 4286 return (uint8x8_t)(__a >= __b); } |
| 4287 __ai uint16x4_t vcge_u16(uint16x4_t __a, uint16x4_t __b) { |
| 4288 return (uint16x4_t)(__a >= __b); } |
| 4289 __ai uint32x2_t vcge_u32(uint32x2_t __a, uint32x2_t __b) { |
| 4290 return (uint32x2_t)(__a >= __b); } |
| 4291 __ai uint8x16_t vcgeq_s8(int8x16_t __a, int8x16_t __b) { |
| 4292 return (uint8x16_t)(__a >= __b); } |
| 4293 __ai uint16x8_t vcgeq_s16(int16x8_t __a, int16x8_t __b) { |
| 4294 return (uint16x8_t)(__a >= __b); } |
| 4295 __ai uint32x4_t vcgeq_s32(int32x4_t __a, int32x4_t __b) { |
| 4296 return (uint32x4_t)(__a >= __b); } |
| 4297 __ai uint32x4_t vcgeq_f32(float32x4_t __a, float32x4_t __b) { |
| 4298 return (uint32x4_t)(__a >= __b); } |
| 4299 __ai uint8x16_t vcgeq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 4300 return (uint8x16_t)(__a >= __b); } |
| 4301 __ai uint16x8_t vcgeq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 4302 return (uint16x8_t)(__a >= __b); } |
| 4303 __ai uint32x4_t vcgeq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 4304 return (uint32x4_t)(__a >= __b); } |
| 4305 |
| 4306 __ai uint8x8_t vcgt_s8(int8x8_t __a, int8x8_t __b) { |
| 4307 return (uint8x8_t)(__a > __b); } |
| 4308 __ai uint16x4_t vcgt_s16(int16x4_t __a, int16x4_t __b) { |
| 4309 return (uint16x4_t)(__a > __b); } |
| 4310 __ai uint32x2_t vcgt_s32(int32x2_t __a, int32x2_t __b) { |
| 4311 return (uint32x2_t)(__a > __b); } |
| 4312 __ai uint32x2_t vcgt_f32(float32x2_t __a, float32x2_t __b) { |
| 4313 return (uint32x2_t)(__a > __b); } |
| 4314 __ai uint8x8_t vcgt_u8(uint8x8_t __a, uint8x8_t __b) { |
| 4315 return (uint8x8_t)(__a > __b); } |
| 4316 __ai uint16x4_t vcgt_u16(uint16x4_t __a, uint16x4_t __b) { |
| 4317 return (uint16x4_t)(__a > __b); } |
| 4318 __ai uint32x2_t vcgt_u32(uint32x2_t __a, uint32x2_t __b) { |
| 4319 return (uint32x2_t)(__a > __b); } |
| 4320 __ai uint8x16_t vcgtq_s8(int8x16_t __a, int8x16_t __b) { |
| 4321 return (uint8x16_t)(__a > __b); } |
| 4322 __ai uint16x8_t vcgtq_s16(int16x8_t __a, int16x8_t __b) { |
| 4323 return (uint16x8_t)(__a > __b); } |
| 4324 __ai uint32x4_t vcgtq_s32(int32x4_t __a, int32x4_t __b) { |
| 4325 return (uint32x4_t)(__a > __b); } |
| 4326 __ai uint32x4_t vcgtq_f32(float32x4_t __a, float32x4_t __b) { |
| 4327 return (uint32x4_t)(__a > __b); } |
| 4328 __ai uint8x16_t vcgtq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 4329 return (uint8x16_t)(__a > __b); } |
| 4330 __ai uint16x8_t vcgtq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 4331 return (uint16x8_t)(__a > __b); } |
| 4332 __ai uint32x4_t vcgtq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 4333 return (uint32x4_t)(__a > __b); } |
| 4334 |
| 4335 __ai uint8x8_t vcle_s8(int8x8_t __a, int8x8_t __b) { |
| 4336 return (uint8x8_t)(__a <= __b); } |
| 4337 __ai uint16x4_t vcle_s16(int16x4_t __a, int16x4_t __b) { |
| 4338 return (uint16x4_t)(__a <= __b); } |
| 4339 __ai uint32x2_t vcle_s32(int32x2_t __a, int32x2_t __b) { |
| 4340 return (uint32x2_t)(__a <= __b); } |
| 4341 __ai uint32x2_t vcle_f32(float32x2_t __a, float32x2_t __b) { |
| 4342 return (uint32x2_t)(__a <= __b); } |
| 4343 __ai uint8x8_t vcle_u8(uint8x8_t __a, uint8x8_t __b) { |
| 4344 return (uint8x8_t)(__a <= __b); } |
| 4345 __ai uint16x4_t vcle_u16(uint16x4_t __a, uint16x4_t __b) { |
| 4346 return (uint16x4_t)(__a <= __b); } |
| 4347 __ai uint32x2_t vcle_u32(uint32x2_t __a, uint32x2_t __b) { |
| 4348 return (uint32x2_t)(__a <= __b); } |
| 4349 __ai uint8x16_t vcleq_s8(int8x16_t __a, int8x16_t __b) { |
| 4350 return (uint8x16_t)(__a <= __b); } |
| 4351 __ai uint16x8_t vcleq_s16(int16x8_t __a, int16x8_t __b) { |
| 4352 return (uint16x8_t)(__a <= __b); } |
| 4353 __ai uint32x4_t vcleq_s32(int32x4_t __a, int32x4_t __b) { |
| 4354 return (uint32x4_t)(__a <= __b); } |
| 4355 __ai uint32x4_t vcleq_f32(float32x4_t __a, float32x4_t __b) { |
| 4356 return (uint32x4_t)(__a <= __b); } |
| 4357 __ai uint8x16_t vcleq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 4358 return (uint8x16_t)(__a <= __b); } |
| 4359 __ai uint16x8_t vcleq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 4360 return (uint16x8_t)(__a <= __b); } |
| 4361 __ai uint32x4_t vcleq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 4362 return (uint32x4_t)(__a <= __b); } |
| 4363 |
| 4364 __ai int8x8_t vcls_s8(int8x8_t __a) { |
| 4365 return (int8x8_t)__builtin_neon_vcls_v(__a, 0); } |
| 4366 __ai int16x4_t vcls_s16(int16x4_t __a) { |
| 4367 return (int16x4_t)__builtin_neon_vcls_v((int8x8_t)__a, 1); } |
| 4368 __ai int32x2_t vcls_s32(int32x2_t __a) { |
| 4369 return (int32x2_t)__builtin_neon_vcls_v((int8x8_t)__a, 2); } |
| 4370 __ai int8x16_t vclsq_s8(int8x16_t __a) { |
| 4371 return (int8x16_t)__builtin_neon_vclsq_v(__a, 32); } |
| 4372 __ai int16x8_t vclsq_s16(int16x8_t __a) { |
| 4373 return (int16x8_t)__builtin_neon_vclsq_v((int8x16_t)__a, 33); } |
| 4374 __ai int32x4_t vclsq_s32(int32x4_t __a) { |
| 4375 return (int32x4_t)__builtin_neon_vclsq_v((int8x16_t)__a, 34); } |
| 4376 |
| 4377 __ai uint8x8_t vclt_s8(int8x8_t __a, int8x8_t __b) { |
| 4378 return (uint8x8_t)(__a < __b); } |
| 4379 __ai uint16x4_t vclt_s16(int16x4_t __a, int16x4_t __b) { |
| 4380 return (uint16x4_t)(__a < __b); } |
| 4381 __ai uint32x2_t vclt_s32(int32x2_t __a, int32x2_t __b) { |
| 4382 return (uint32x2_t)(__a < __b); } |
| 4383 __ai uint32x2_t vclt_f32(float32x2_t __a, float32x2_t __b) { |
| 4384 return (uint32x2_t)(__a < __b); } |
| 4385 __ai uint8x8_t vclt_u8(uint8x8_t __a, uint8x8_t __b) { |
| 4386 return (uint8x8_t)(__a < __b); } |
| 4387 __ai uint16x4_t vclt_u16(uint16x4_t __a, uint16x4_t __b) { |
| 4388 return (uint16x4_t)(__a < __b); } |
| 4389 __ai uint32x2_t vclt_u32(uint32x2_t __a, uint32x2_t __b) { |
| 4390 return (uint32x2_t)(__a < __b); } |
| 4391 __ai uint8x16_t vcltq_s8(int8x16_t __a, int8x16_t __b) { |
| 4392 return (uint8x16_t)(__a < __b); } |
| 4393 __ai uint16x8_t vcltq_s16(int16x8_t __a, int16x8_t __b) { |
| 4394 return (uint16x8_t)(__a < __b); } |
| 4395 __ai uint32x4_t vcltq_s32(int32x4_t __a, int32x4_t __b) { |
| 4396 return (uint32x4_t)(__a < __b); } |
| 4397 __ai uint32x4_t vcltq_f32(float32x4_t __a, float32x4_t __b) { |
| 4398 return (uint32x4_t)(__a < __b); } |
| 4399 __ai uint8x16_t vcltq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 4400 return (uint8x16_t)(__a < __b); } |
| 4401 __ai uint16x8_t vcltq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 4402 return (uint16x8_t)(__a < __b); } |
| 4403 __ai uint32x4_t vcltq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 4404 return (uint32x4_t)(__a < __b); } |
| 4405 |
| 4406 __ai int8x8_t vclz_s8(int8x8_t __a) { |
| 4407 return (int8x8_t)__builtin_neon_vclz_v(__a, 0); } |
| 4408 __ai int16x4_t vclz_s16(int16x4_t __a) { |
| 4409 return (int16x4_t)__builtin_neon_vclz_v((int8x8_t)__a, 1); } |
| 4410 __ai int32x2_t vclz_s32(int32x2_t __a) { |
| 4411 return (int32x2_t)__builtin_neon_vclz_v((int8x8_t)__a, 2); } |
| 4412 __ai uint8x8_t vclz_u8(uint8x8_t __a) { |
| 4413 return (uint8x8_t)__builtin_neon_vclz_v((int8x8_t)__a, 16); } |
| 4414 __ai uint16x4_t vclz_u16(uint16x4_t __a) { |
| 4415 return (uint16x4_t)__builtin_neon_vclz_v((int8x8_t)__a, 17); } |
| 4416 __ai uint32x2_t vclz_u32(uint32x2_t __a) { |
| 4417 return (uint32x2_t)__builtin_neon_vclz_v((int8x8_t)__a, 18); } |
| 4418 __ai int8x16_t vclzq_s8(int8x16_t __a) { |
| 4419 return (int8x16_t)__builtin_neon_vclzq_v(__a, 32); } |
| 4420 __ai int16x8_t vclzq_s16(int16x8_t __a) { |
| 4421 return (int16x8_t)__builtin_neon_vclzq_v((int8x16_t)__a, 33); } |
| 4422 __ai int32x4_t vclzq_s32(int32x4_t __a) { |
| 4423 return (int32x4_t)__builtin_neon_vclzq_v((int8x16_t)__a, 34); } |
| 4424 __ai uint8x16_t vclzq_u8(uint8x16_t __a) { |
| 4425 return (uint8x16_t)__builtin_neon_vclzq_v((int8x16_t)__a, 48); } |
| 4426 __ai uint16x8_t vclzq_u16(uint16x8_t __a) { |
| 4427 return (uint16x8_t)__builtin_neon_vclzq_v((int8x16_t)__a, 49); } |
| 4428 __ai uint32x4_t vclzq_u32(uint32x4_t __a) { |
| 4429 return (uint32x4_t)__builtin_neon_vclzq_v((int8x16_t)__a, 50); } |
| 4430 |
| 4431 __ai uint8x8_t vcnt_u8(uint8x8_t __a) { |
| 4432 return (uint8x8_t)__builtin_neon_vcnt_v((int8x8_t)__a, 16); } |
| 4433 __ai int8x8_t vcnt_s8(int8x8_t __a) { |
| 4434 return (int8x8_t)__builtin_neon_vcnt_v(__a, 0); } |
| 4435 __ai poly8x8_t vcnt_p8(poly8x8_t __a) { |
| 4436 return (poly8x8_t)__builtin_neon_vcnt_v((int8x8_t)__a, 4); } |
| 4437 __ai uint8x16_t vcntq_u8(uint8x16_t __a) { |
| 4438 return (uint8x16_t)__builtin_neon_vcntq_v((int8x16_t)__a, 48); } |
| 4439 __ai int8x16_t vcntq_s8(int8x16_t __a) { |
| 4440 return (int8x16_t)__builtin_neon_vcntq_v(__a, 32); } |
| 4441 __ai poly8x16_t vcntq_p8(poly8x16_t __a) { |
| 4442 return (poly8x16_t)__builtin_neon_vcntq_v((int8x16_t)__a, 36); } |
| 4443 |
| 4444 __ai int8x8_t vcreate_s8(uint64_t __a) { |
| 4445 return (int8x8_t)__a; } |
| 4446 __ai int16x4_t vcreate_s16(uint64_t __a) { |
| 4447 return (int16x4_t)__a; } |
| 4448 __ai int32x2_t vcreate_s32(uint64_t __a) { |
| 4449 return (int32x2_t)__a; } |
| 4450 __ai float16x4_t vcreate_f16(uint64_t __a) { |
| 4451 return (float16x4_t)__a; } |
| 4452 __ai float32x2_t vcreate_f32(uint64_t __a) { |
| 4453 return (float32x2_t)__a; } |
| 4454 __ai uint8x8_t vcreate_u8(uint64_t __a) { |
| 4455 return (uint8x8_t)__a; } |
| 4456 __ai uint16x4_t vcreate_u16(uint64_t __a) { |
| 4457 return (uint16x4_t)__a; } |
| 4458 __ai uint32x2_t vcreate_u32(uint64_t __a) { |
| 4459 return (uint32x2_t)__a; } |
| 4460 __ai uint64x1_t vcreate_u64(uint64_t __a) { |
| 4461 return (uint64x1_t)__a; } |
| 4462 __ai poly8x8_t vcreate_p8(uint64_t __a) { |
| 4463 return (poly8x8_t)__a; } |
| 4464 __ai poly16x4_t vcreate_p16(uint64_t __a) { |
| 4465 return (poly16x4_t)__a; } |
| 4466 __ai int64x1_t vcreate_s64(uint64_t __a) { |
| 4467 return (int64x1_t)__a; } |
| 4468 |
| 4469 #if defined(__aarch64__) |
| 4470 __ai float32x2_t vcvtx_f32_f64(float64x2_t __a) { |
| 4471 return (float32x2_t)__builtin_neon_vcvtx_f32_v((int8x16_t)__a, 42); } |
| 4472 |
| 4473 __ai float32x4_t vcvtx_high_f32_f64(float32x2_t __a, float64x2_t __b) { |
| 4474 float32x2_t __a1 = vcvtx_f32_f64(__b); |
| 4475 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); } |
| 4476 |
| 4477 #endif |
| 4478 |
| 4479 __ai float16x4_t vcvt_f16_f32(float32x4_t __a) { |
| 4480 return (float16x4_t)__builtin_neon_vcvt_f16_v((int8x16_t)__a, 8); } |
| 4481 |
| 4482 __ai float32x2_t vcvt_f32_s32(int32x2_t __a) { |
| 4483 return (float32x2_t)__builtin_neon_vcvt_f32_v((int8x8_t)__a, 2); } |
| 4484 __ai float32x2_t vcvt_f32_u32(uint32x2_t __a) { |
| 4485 return (float32x2_t)__builtin_neon_vcvt_f32_v((int8x8_t)__a, 18); } |
| 4486 __ai float32x4_t vcvtq_f32_s32(int32x4_t __a) { |
| 4487 return (float32x4_t)__builtin_neon_vcvtq_f32_v((int8x16_t)__a, 34); } |
| 4488 __ai float32x4_t vcvtq_f32_u32(uint32x4_t __a) { |
| 4489 return (float32x4_t)__builtin_neon_vcvtq_f32_v((int8x16_t)__a, 50); } |
| 4490 |
| 4491 __ai float32x4_t vcvt_f32_f16(float16x4_t __a) { |
| 4492 return (float32x4_t)__builtin_neon_vcvt_f32_f16((int8x8_t)__a, 8); } |
| 4493 |
| 4494 #if defined(__aarch64__) |
| 4495 __ai float32x2_t vcvt_f32_f64(float64x2_t __a) { |
| 4496 return (float32x2_t)__builtin_neon_vcvt_f32_f64((int8x16_t)__a, 9); } |
| 4497 |
| 4498 __ai float64x1_t vcvt_f64_s64(int64x1_t __a) { |
| 4499 return (float64x1_t)__builtin_neon_vcvt_f64_v((int8x8_t)__a, 3); } |
| 4500 __ai float64x1_t vcvt_f64_u64(uint64x1_t __a) { |
| 4501 return (float64x1_t)__builtin_neon_vcvt_f64_v((int8x8_t)__a, 19); } |
| 4502 __ai float64x2_t vcvtq_f64_s64(int64x2_t __a) { |
| 4503 return (float64x2_t)__builtin_neon_vcvtq_f64_v((int8x16_t)__a, 35); } |
| 4504 __ai float64x2_t vcvtq_f64_u64(uint64x2_t __a) { |
| 4505 return (float64x2_t)__builtin_neon_vcvtq_f64_v((int8x16_t)__a, 51); } |
| 4506 |
| 4507 __ai float64x2_t vcvt_f64_f32(float32x2_t __a) { |
| 4508 return (float64x2_t)__builtin_neon_vcvt_f64_f32((int8x8_t)__a, 42); } |
| 4509 |
| 4510 __ai float16x8_t vcvt_high_f16_f32(float16x4_t __a, float32x4_t __b) { |
| 4511 float16x4_t __a1 = vcvt_f16_f32(__b); |
| 4512 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); } |
| 4513 |
| 4514 __ai float32x4_t vcvt_high_f32_f16(float16x8_t __a) { |
| 4515 float16x4_t __a1 = vget_high_f16(__a); |
| 4516 return vcvt_f32_f16(__a1); } |
| 4517 |
| 4518 __ai float32x4_t vcvt_high_f32_f64(float32x2_t __a, float64x2_t __b) { |
| 4519 float32x2_t __a1 = vcvt_f32_f64(__b); |
| 4520 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); } |
| 4521 |
| 4522 __ai float64x2_t vcvt_high_f64_f32(float32x4_t __a) { |
| 4523 float32x2_t __a1 = vget_high_f32(__a); |
| 4524 return vcvt_f64_f32(__a1); } |
| 4525 |
| 4526 #endif |
| 4527 |
| 4528 #define vcvt_n_f32_s32(a, __b) __extension__ ({ \ |
| 4529 int32x2_t __a = (a); \ |
| 4530 (float32x2_t)__builtin_neon_vcvt_n_f32_v((int8x8_t)__a, __b, 2); }) |
| 4531 #define vcvt_n_f32_u32(a, __b) __extension__ ({ \ |
| 4532 uint32x2_t __a = (a); \ |
| 4533 (float32x2_t)__builtin_neon_vcvt_n_f32_v((int8x8_t)__a, __b, 18); }) |
| 4534 #define vcvtq_n_f32_s32(a, __b) __extension__ ({ \ |
| 4535 int32x4_t __a = (a); \ |
| 4536 (float32x4_t)__builtin_neon_vcvtq_n_f32_v((int8x16_t)__a, __b, 34); }) |
| 4537 #define vcvtq_n_f32_u32(a, __b) __extension__ ({ \ |
| 4538 uint32x4_t __a = (a); \ |
| 4539 (float32x4_t)__builtin_neon_vcvtq_n_f32_v((int8x16_t)__a, __b, 50); }) |
| 4540 |
| 4541 #define vcvt_n_s32_f32(a, __b) __extension__ ({ \ |
| 4542 float32x2_t __a = (a); \ |
| 4543 (int32x2_t)__builtin_neon_vcvt_n_s32_v((int8x8_t)__a, __b, 2); }) |
| 4544 #define vcvtq_n_s32_f32(a, __b) __extension__ ({ \ |
| 4545 float32x4_t __a = (a); \ |
| 4546 (int32x4_t)__builtin_neon_vcvtq_n_s32_v((int8x16_t)__a, __b, 34); }) |
| 4547 |
| 4548 #define vcvt_n_u32_f32(a, __b) __extension__ ({ \ |
| 4549 float32x2_t __a = (a); \ |
| 4550 (uint32x2_t)__builtin_neon_vcvt_n_u32_v((int8x8_t)__a, __b, 18); }) |
| 4551 #define vcvtq_n_u32_f32(a, __b) __extension__ ({ \ |
| 4552 float32x4_t __a = (a); \ |
| 4553 (uint32x4_t)__builtin_neon_vcvtq_n_u32_v((int8x16_t)__a, __b, 50); }) |
| 4554 |
| 4555 __ai int32x2_t vcvt_s32_f32(float32x2_t __a) { |
| 4556 return (int32x2_t)__builtin_neon_vcvt_s32_v((int8x8_t)__a, 2); } |
| 4557 __ai int32x4_t vcvtq_s32_f32(float32x4_t __a) { |
| 4558 return (int32x4_t)__builtin_neon_vcvtq_s32_v((int8x16_t)__a, 34); } |
| 4559 |
| 4560 #if defined(__aarch64__) |
| 4561 __ai int64x1_t vcvt_s64_f64(float64x1_t __a) { |
| 4562 return (int64x1_t)__builtin_neon_vcvt_s64_v((int8x8_t)__a, 3); } |
| 4563 __ai int64x2_t vcvtq_s64_f64(float64x2_t __a) { |
| 4564 return (int64x2_t)__builtin_neon_vcvtq_s64_v((int8x16_t)__a, 35); } |
| 4565 |
| 4566 #endif |
| 4567 |
| 4568 __ai uint32x2_t vcvt_u32_f32(float32x2_t __a) { |
| 4569 return (uint32x2_t)__builtin_neon_vcvt_u32_v((int8x8_t)__a, 18); } |
| 4570 __ai uint32x4_t vcvtq_u32_f32(float32x4_t __a) { |
| 4571 return (uint32x4_t)__builtin_neon_vcvtq_u32_v((int8x16_t)__a, 50); } |
| 4572 |
| 4573 #if defined(__aarch64__) |
| 4574 __ai uint64x1_t vcvt_u64_f64(float64x1_t __a) { |
| 4575 return (uint64x1_t)__builtin_neon_vcvt_u64_v((int8x8_t)__a, 19); } |
| 4576 __ai uint64x2_t vcvtq_u64_f64(float64x2_t __a) { |
| 4577 return (uint64x2_t)__builtin_neon_vcvtq_u64_v((int8x16_t)__a, 51); } |
| 4578 |
| 4579 #endif |
| 4580 |
| 4581 #define vdup_lane_u8(a, __b) __extension__ ({ \ |
| 4582 uint8x8_t __a = (a); \ |
| 4583 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4584 #define vdup_lane_u16(a, __b) __extension__ ({ \ |
| 4585 uint16x4_t __a = (a); \ |
| 4586 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4587 #define vdup_lane_u32(a, __b) __extension__ ({ \ |
| 4588 uint32x2_t __a = (a); \ |
| 4589 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4590 #define vdup_lane_s8(a, __b) __extension__ ({ \ |
| 4591 int8x8_t __a = (a); \ |
| 4592 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4593 #define vdup_lane_s16(a, __b) __extension__ ({ \ |
| 4594 int16x4_t __a = (a); \ |
| 4595 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4596 #define vdup_lane_s32(a, __b) __extension__ ({ \ |
| 4597 int32x2_t __a = (a); \ |
| 4598 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4599 #define vdup_lane_p8(a, __b) __extension__ ({ \ |
| 4600 poly8x8_t __a = (a); \ |
| 4601 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4602 #define vdup_lane_p16(a, __b) __extension__ ({ \ |
| 4603 poly16x4_t __a = (a); \ |
| 4604 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4605 #define vdup_lane_f32(a, __b) __extension__ ({ \ |
| 4606 float32x2_t __a = (a); \ |
| 4607 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4608 #define vdupq_lane_u8(a, __b) __extension__ ({ \ |
| 4609 uint8x8_t __a = (a); \ |
| 4610 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b,
__b, __b, __b, __b, __b, __b, __b); }) |
| 4611 #define vdupq_lane_u16(a, __b) __extension__ ({ \ |
| 4612 uint16x4_t __a = (a); \ |
| 4613 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4614 #define vdupq_lane_u32(a, __b) __extension__ ({ \ |
| 4615 uint32x2_t __a = (a); \ |
| 4616 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4617 #define vdupq_lane_s8(a, __b) __extension__ ({ \ |
| 4618 int8x8_t __a = (a); \ |
| 4619 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b,
__b, __b, __b, __b, __b, __b, __b); }) |
| 4620 #define vdupq_lane_s16(a, __b) __extension__ ({ \ |
| 4621 int16x4_t __a = (a); \ |
| 4622 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4623 #define vdupq_lane_s32(a, __b) __extension__ ({ \ |
| 4624 int32x2_t __a = (a); \ |
| 4625 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4626 #define vdupq_lane_p8(a, __b) __extension__ ({ \ |
| 4627 poly8x8_t __a = (a); \ |
| 4628 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b,
__b, __b, __b, __b, __b, __b, __b); }) |
| 4629 #define vdupq_lane_p16(a, __b) __extension__ ({ \ |
| 4630 poly16x4_t __a = (a); \ |
| 4631 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4632 #define vdupq_lane_f32(a, __b) __extension__ ({ \ |
| 4633 float32x2_t __a = (a); \ |
| 4634 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4635 #define vdup_lane_s64(a, __b) __extension__ ({ \ |
| 4636 int64x1_t __a = (a); \ |
| 4637 __builtin_shufflevector(__a, __a, __b); }) |
| 4638 #define vdup_lane_u64(a, __b) __extension__ ({ \ |
| 4639 uint64x1_t __a = (a); \ |
| 4640 __builtin_shufflevector(__a, __a, __b); }) |
| 4641 #define vdupq_lane_s64(a, __b) __extension__ ({ \ |
| 4642 int64x1_t __a = (a); \ |
| 4643 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4644 #define vdupq_lane_u64(a, __b) __extension__ ({ \ |
| 4645 uint64x1_t __a = (a); \ |
| 4646 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4647 |
| 4648 #if defined(__aarch64__) |
| 4649 #define vdup_lane_f16(a, __b) __extension__ ({ \ |
| 4650 float16x4_t __a = (a); \ |
| 4651 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4652 #define vdup_lane_f64(a, __b) __extension__ ({ \ |
| 4653 float64x1_t __a = (a); \ |
| 4654 __builtin_shufflevector(__a, __a, __b); }) |
| 4655 #define vdupq_lane_f16(a, __b) __extension__ ({ \ |
| 4656 float16x4_t __a = (a); \ |
| 4657 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4658 #define vdupq_lane_f64(a, __b) __extension__ ({ \ |
| 4659 float64x1_t __a = (a); \ |
| 4660 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4661 #define vdup_lane_p64(a, __b) __extension__ ({ \ |
| 4662 poly64x1_t __a = (a); \ |
| 4663 __builtin_shufflevector(__a, __a, __b); }) |
| 4664 #define vdupq_lane_p64(a, __b) __extension__ ({ \ |
| 4665 poly64x1_t __a = (a); \ |
| 4666 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4667 |
| 4668 #define vdup_laneq_s8(a, __b) __extension__ ({ \ |
| 4669 int8x16_t __a = (a); \ |
| 4670 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4671 #define vdup_laneq_s16(a, __b) __extension__ ({ \ |
| 4672 int16x8_t __a = (a); \ |
| 4673 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4674 #define vdup_laneq_s32(a, __b) __extension__ ({ \ |
| 4675 int32x4_t __a = (a); \ |
| 4676 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4677 #define vdup_laneq_s64(a, __b) __extension__ ({ \ |
| 4678 int64x2_t __a = (a); \ |
| 4679 __builtin_shufflevector(__a, __a, __b); }) |
| 4680 #define vdup_laneq_u8(a, __b) __extension__ ({ \ |
| 4681 uint8x16_t __a = (a); \ |
| 4682 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4683 #define vdup_laneq_u16(a, __b) __extension__ ({ \ |
| 4684 uint16x8_t __a = (a); \ |
| 4685 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4686 #define vdup_laneq_u32(a, __b) __extension__ ({ \ |
| 4687 uint32x4_t __a = (a); \ |
| 4688 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4689 #define vdup_laneq_u64(a, __b) __extension__ ({ \ |
| 4690 uint64x2_t __a = (a); \ |
| 4691 __builtin_shufflevector(__a, __a, __b); }) |
| 4692 #define vdup_laneq_p8(a, __b) __extension__ ({ \ |
| 4693 poly8x16_t __a = (a); \ |
| 4694 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4695 #define vdup_laneq_p16(a, __b) __extension__ ({ \ |
| 4696 poly16x8_t __a = (a); \ |
| 4697 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4698 #define vdup_laneq_f16(a, __b) __extension__ ({ \ |
| 4699 float16x8_t __a = (a); \ |
| 4700 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4701 #define vdup_laneq_f32(a, __b) __extension__ ({ \ |
| 4702 float32x4_t __a = (a); \ |
| 4703 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4704 #define vdup_laneq_f64(a, __b) __extension__ ({ \ |
| 4705 float64x2_t __a = (a); \ |
| 4706 __builtin_shufflevector(__a, __a, __b); }) |
| 4707 #define vdupq_laneq_s8(a, __b) __extension__ ({ \ |
| 4708 int8x16_t __a = (a); \ |
| 4709 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b,
__b, __b, __b, __b, __b, __b, __b); }) |
| 4710 #define vdupq_laneq_s16(a, __b) __extension__ ({ \ |
| 4711 int16x8_t __a = (a); \ |
| 4712 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4713 #define vdupq_laneq_s32(a, __b) __extension__ ({ \ |
| 4714 int32x4_t __a = (a); \ |
| 4715 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4716 #define vdupq_laneq_s64(a, __b) __extension__ ({ \ |
| 4717 int64x2_t __a = (a); \ |
| 4718 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4719 #define vdupq_laneq_p8(a, __b) __extension__ ({ \ |
| 4720 poly8x16_t __a = (a); \ |
| 4721 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b,
__b, __b, __b, __b, __b, __b, __b); }) |
| 4722 #define vdupq_laneq_p16(a, __b) __extension__ ({ \ |
| 4723 poly16x8_t __a = (a); \ |
| 4724 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4725 #define vdupq_laneq_u8(a, __b) __extension__ ({ \ |
| 4726 uint8x16_t __a = (a); \ |
| 4727 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b, __b,
__b, __b, __b, __b, __b, __b, __b); }) |
| 4728 #define vdupq_laneq_u16(a, __b) __extension__ ({ \ |
| 4729 uint16x8_t __a = (a); \ |
| 4730 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4731 #define vdupq_laneq_u32(a, __b) __extension__ ({ \ |
| 4732 uint32x4_t __a = (a); \ |
| 4733 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4734 #define vdupq_laneq_u64(a, __b) __extension__ ({ \ |
| 4735 uint64x2_t __a = (a); \ |
| 4736 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4737 #define vdupq_laneq_f16(a, __b) __extension__ ({ \ |
| 4738 float16x8_t __a = (a); \ |
| 4739 __builtin_shufflevector(__a, __a, __b, __b, __b, __b, __b, __b, __b, __b); }) |
| 4740 #define vdupq_laneq_f32(a, __b) __extension__ ({ \ |
| 4741 float32x4_t __a = (a); \ |
| 4742 __builtin_shufflevector(__a, __a, __b, __b, __b, __b); }) |
| 4743 #define vdupq_laneq_f64(a, __b) __extension__ ({ \ |
| 4744 float64x2_t __a = (a); \ |
| 4745 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4746 #define vdup_laneq_p64(a, __b) __extension__ ({ \ |
| 4747 poly64x2_t __a = (a); \ |
| 4748 __builtin_shufflevector(__a, __a, __b); }) |
| 4749 #define vdupq_laneq_p64(a, __b) __extension__ ({ \ |
| 4750 poly64x2_t __a = (a); \ |
| 4751 __builtin_shufflevector(__a, __a, __b, __b); }) |
| 4752 |
| 4753 #endif |
| 4754 |
| 4755 __ai uint8x8_t vdup_n_u8(uint8_t __a) { |
| 4756 return (uint8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 4757 __ai uint16x4_t vdup_n_u16(uint16_t __a) { |
| 4758 return (uint16x4_t){ __a, __a, __a, __a }; } |
| 4759 __ai uint32x2_t vdup_n_u32(uint32_t __a) { |
| 4760 return (uint32x2_t){ __a, __a }; } |
| 4761 __ai int8x8_t vdup_n_s8(int8_t __a) { |
| 4762 return (int8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 4763 __ai int16x4_t vdup_n_s16(int16_t __a) { |
| 4764 return (int16x4_t){ __a, __a, __a, __a }; } |
| 4765 __ai int32x2_t vdup_n_s32(int32_t __a) { |
| 4766 return (int32x2_t){ __a, __a }; } |
| 4767 __ai poly8x8_t vdup_n_p8(poly8_t __a) { |
| 4768 return (poly8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 4769 __ai poly16x4_t vdup_n_p16(poly16_t __a) { |
| 4770 return (poly16x4_t){ __a, __a, __a, __a }; } |
| 4771 #define vdup_n_f16(a) __extension__ ({ \ |
| 4772 float16_t __a = (a); \ |
| 4773 (float16x4_t){ __a, __a, __a, __a }; }) |
| 4774 __ai float32x2_t vdup_n_f32(float32_t __a) { |
| 4775 return (float32x2_t){ __a, __a }; } |
| 4776 __ai uint8x16_t vdupq_n_u8(uint8_t __a) { |
| 4777 return (uint8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __
a, __a, __a, __a, __a }; } |
| 4778 __ai uint16x8_t vdupq_n_u16(uint16_t __a) { |
| 4779 return (uint16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 4780 __ai uint32x4_t vdupq_n_u32(uint32_t __a) { |
| 4781 return (uint32x4_t){ __a, __a, __a, __a }; } |
| 4782 __ai int8x16_t vdupq_n_s8(int8_t __a) { |
| 4783 return (int8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a
, __a, __a, __a, __a }; } |
| 4784 __ai int16x8_t vdupq_n_s16(int16_t __a) { |
| 4785 return (int16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 4786 __ai int32x4_t vdupq_n_s32(int32_t __a) { |
| 4787 return (int32x4_t){ __a, __a, __a, __a }; } |
| 4788 __ai poly8x16_t vdupq_n_p8(poly8_t __a) { |
| 4789 return (poly8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __
a, __a, __a, __a, __a }; } |
| 4790 __ai poly16x8_t vdupq_n_p16(poly16_t __a) { |
| 4791 return (poly16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 4792 #define vdupq_n_f16(a) __extension__ ({ \ |
| 4793 float16_t __a = (a); \ |
| 4794 (float16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }) |
| 4795 __ai float32x4_t vdupq_n_f32(float32_t __a) { |
| 4796 return (float32x4_t){ __a, __a, __a, __a }; } |
| 4797 __ai int64x1_t vdup_n_s64(int64_t __a) { |
| 4798 return (int64x1_t){ __a }; } |
| 4799 __ai uint64x1_t vdup_n_u64(uint64_t __a) { |
| 4800 return (uint64x1_t){ __a }; } |
| 4801 __ai int64x2_t vdupq_n_s64(int64_t __a) { |
| 4802 return (int64x2_t){ __a, __a }; } |
| 4803 __ai uint64x2_t vdupq_n_u64(uint64_t __a) { |
| 4804 return (uint64x2_t){ __a, __a }; } |
| 4805 |
| 4806 __ai int8x8_t veor_s8(int8x8_t __a, int8x8_t __b) { |
| 4807 return __a ^ __b; } |
| 4808 __ai int16x4_t veor_s16(int16x4_t __a, int16x4_t __b) { |
| 4809 return __a ^ __b; } |
| 4810 __ai int32x2_t veor_s32(int32x2_t __a, int32x2_t __b) { |
| 4811 return __a ^ __b; } |
| 4812 __ai int64x1_t veor_s64(int64x1_t __a, int64x1_t __b) { |
| 4813 return __a ^ __b; } |
| 4814 __ai uint8x8_t veor_u8(uint8x8_t __a, uint8x8_t __b) { |
| 4815 return __a ^ __b; } |
| 4816 __ai uint16x4_t veor_u16(uint16x4_t __a, uint16x4_t __b) { |
| 4817 return __a ^ __b; } |
| 4818 __ai uint32x2_t veor_u32(uint32x2_t __a, uint32x2_t __b) { |
| 4819 return __a ^ __b; } |
| 4820 __ai uint64x1_t veor_u64(uint64x1_t __a, uint64x1_t __b) { |
| 4821 return __a ^ __b; } |
| 4822 __ai int8x16_t veorq_s8(int8x16_t __a, int8x16_t __b) { |
| 4823 return __a ^ __b; } |
| 4824 __ai int16x8_t veorq_s16(int16x8_t __a, int16x8_t __b) { |
| 4825 return __a ^ __b; } |
| 4826 __ai int32x4_t veorq_s32(int32x4_t __a, int32x4_t __b) { |
| 4827 return __a ^ __b; } |
| 4828 __ai int64x2_t veorq_s64(int64x2_t __a, int64x2_t __b) { |
| 4829 return __a ^ __b; } |
| 4830 __ai uint8x16_t veorq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 4831 return __a ^ __b; } |
| 4832 __ai uint16x8_t veorq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 4833 return __a ^ __b; } |
| 4834 __ai uint32x4_t veorq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 4835 return __a ^ __b; } |
| 4836 __ai uint64x2_t veorq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 4837 return __a ^ __b; } |
| 4838 |
| 4839 #define vext_s8(a, b, __c) __extension__ ({ \ |
| 4840 int8x8_t __a = (a); int8x8_t __b = (b); \ |
| 4841 (int8x8_t)__builtin_neon_vext_v(__a, __b, __c, 0); }) |
| 4842 #define vext_u8(a, b, __c) __extension__ ({ \ |
| 4843 uint8x8_t __a = (a); uint8x8_t __b = (b); \ |
| 4844 (uint8x8_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); }) |
| 4845 #define vext_p8(a, b, __c) __extension__ ({ \ |
| 4846 poly8x8_t __a = (a); poly8x8_t __b = (b); \ |
| 4847 (poly8x8_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 4); }) |
| 4848 #define vext_s16(a, b, __c) __extension__ ({ \ |
| 4849 int16x4_t __a = (a); int16x4_t __b = (b); \ |
| 4850 (int16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); }) |
| 4851 #define vext_u16(a, b, __c) __extension__ ({ \ |
| 4852 uint16x4_t __a = (a); uint16x4_t __b = (b); \ |
| 4853 (uint16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); }) |
| 4854 #define vext_p16(a, b, __c) __extension__ ({ \ |
| 4855 poly16x4_t __a = (a); poly16x4_t __b = (b); \ |
| 4856 (poly16x4_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 5); }) |
| 4857 #define vext_s32(a, b, __c) __extension__ ({ \ |
| 4858 int32x2_t __a = (a); int32x2_t __b = (b); \ |
| 4859 (int32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); }) |
| 4860 #define vext_u32(a, b, __c) __extension__ ({ \ |
| 4861 uint32x2_t __a = (a); uint32x2_t __b = (b); \ |
| 4862 (uint32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); }) |
| 4863 #define vext_s64(a, b, __c) __extension__ ({ \ |
| 4864 int64x1_t __a = (a); int64x1_t __b = (b); \ |
| 4865 (int64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); }) |
| 4866 #define vext_u64(a, b, __c) __extension__ ({ \ |
| 4867 uint64x1_t __a = (a); uint64x1_t __b = (b); \ |
| 4868 (uint64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); }) |
| 4869 #define vext_f32(a, b, __c) __extension__ ({ \ |
| 4870 float32x2_t __a = (a); float32x2_t __b = (b); \ |
| 4871 (float32x2_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 9); }) |
| 4872 #define vextq_s8(a, b, __c) __extension__ ({ \ |
| 4873 int8x16_t __a = (a); int8x16_t __b = (b); \ |
| 4874 (int8x16_t)__builtin_neon_vextq_v(__a, __b, __c, 32); }) |
| 4875 #define vextq_u8(a, b, __c) __extension__ ({ \ |
| 4876 uint8x16_t __a = (a); uint8x16_t __b = (b); \ |
| 4877 (uint8x16_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 48); }
) |
| 4878 #define vextq_p8(a, b, __c) __extension__ ({ \ |
| 4879 poly8x16_t __a = (a); poly8x16_t __b = (b); \ |
| 4880 (poly8x16_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 36); }
) |
| 4881 #define vextq_s16(a, b, __c) __extension__ ({ \ |
| 4882 int16x8_t __a = (a); int16x8_t __b = (b); \ |
| 4883 (int16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 33); }) |
| 4884 #define vextq_u16(a, b, __c) __extension__ ({ \ |
| 4885 uint16x8_t __a = (a); uint16x8_t __b = (b); \ |
| 4886 (uint16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 49); }
) |
| 4887 #define vextq_p16(a, b, __c) __extension__ ({ \ |
| 4888 poly16x8_t __a = (a); poly16x8_t __b = (b); \ |
| 4889 (poly16x8_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 37); }
) |
| 4890 #define vextq_s32(a, b, __c) __extension__ ({ \ |
| 4891 int32x4_t __a = (a); int32x4_t __b = (b); \ |
| 4892 (int32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 34); }) |
| 4893 #define vextq_u32(a, b, __c) __extension__ ({ \ |
| 4894 uint32x4_t __a = (a); uint32x4_t __b = (b); \ |
| 4895 (uint32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 50); }
) |
| 4896 #define vextq_s64(a, b, __c) __extension__ ({ \ |
| 4897 int64x2_t __a = (a); int64x2_t __b = (b); \ |
| 4898 (int64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 35); }) |
| 4899 #define vextq_u64(a, b, __c) __extension__ ({ \ |
| 4900 uint64x2_t __a = (a); uint64x2_t __b = (b); \ |
| 4901 (uint64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 51); }
) |
| 4902 #define vextq_f32(a, b, __c) __extension__ ({ \ |
| 4903 float32x4_t __a = (a); float32x4_t __b = (b); \ |
| 4904 (float32x4_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 41);
}) |
| 4905 |
| 4906 #if defined(__aarch64__) |
| 4907 #define vext_f64(a, b, __c) __extension__ ({ \ |
| 4908 float64x1_t __a = (a); float64x1_t __b = (b); \ |
| 4909 (float64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 10); }) |
| 4910 #define vextq_f64(a, b, __c) __extension__ ({ \ |
| 4911 float64x2_t __a = (a); float64x2_t __b = (b); \ |
| 4912 (float64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 42);
}) |
| 4913 #define vext_p64(a, b, __c) __extension__ ({ \ |
| 4914 poly64x1_t __a = (a); poly64x1_t __b = (b); \ |
| 4915 (poly64x1_t)__builtin_neon_vext_v((int8x8_t)__a, (int8x8_t)__b, __c, 6); }) |
| 4916 #define vextq_p64(a, b, __c) __extension__ ({ \ |
| 4917 poly64x2_t __a = (a); poly64x2_t __b = (b); \ |
| 4918 (poly64x2_t)__builtin_neon_vextq_v((int8x16_t)__a, (int8x16_t)__b, __c, 38); }
) |
| 4919 |
| 4920 #define vfma_lane_f32(a, b, c, __d) __extension__ ({ \ |
| 4921 float32x2_t __a = (a); float32x2_t __b = (b); float32x2_t __c = (c); \ |
| 4922 (float32x2_t)__builtin_neon_vfma_lane_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_
t)__c, __d, 9); }) |
| 4923 #define vfma_lane_f64(a, b, c, __d) __extension__ ({ \ |
| 4924 float64x1_t __a = (a); float64x1_t __b = (b); float64x1_t __c = (c); \ |
| 4925 (float64x1_t)__builtin_neon_vfma_lane_v((int8x8_t)__a, (int8x8_t)__b, (int8x8_
t)__c, __d, 10); }) |
| 4926 #define vfmaq_lane_f32(a, b, c, __d) __extension__ ({ \ |
| 4927 float32x4_t __a = (a); float32x4_t __b = (b); float32x2_t __c = (c); \ |
| 4928 (float32x4_t)__builtin_neon_vfmaq_lane_v((int8x16_t)__a, (int8x16_t)__b, (int8
x8_t)__c, __d, 41); }) |
| 4929 #define vfmaq_lane_f64(a, b, c, __d) __extension__ ({ \ |
| 4930 float64x2_t __a = (a); float64x2_t __b = (b); float64x1_t __c = (c); \ |
| 4931 (float64x2_t)__builtin_neon_vfmaq_lane_v((int8x16_t)__a, (int8x16_t)__b, (int8
x8_t)__c, __d, 42); }) |
| 4932 |
| 4933 #define vfma_laneq_f32(a, b, c, __d) __extension__ ({ \ |
| 4934 float32x2_t __a = (a); float32x2_t __b = (b); float32x4_t __c = (c); \ |
| 4935 (float32x2_t)__builtin_neon_vfma_laneq_v((int8x8_t)__a, (int8x8_t)__b, (int8x1
6_t)__c, __d, 9); }) |
| 4936 #define vfma_laneq_f64(a, b, c, __d) __extension__ ({ \ |
| 4937 float64x1_t __a = (a); float64x1_t __b = (b); float64x2_t __c = (c); \ |
| 4938 (float64x1_t)__builtin_neon_vfma_laneq_v((int8x8_t)__a, (int8x8_t)__b, (int8x1
6_t)__c, __d, 10); }) |
| 4939 #define vfmaq_laneq_f32(a, b, c, __d) __extension__ ({ \ |
| 4940 float32x4_t __a = (a); float32x4_t __b = (b); float32x4_t __c = (c); \ |
| 4941 (float32x4_t)__builtin_neon_vfmaq_laneq_v((int8x16_t)__a, (int8x16_t)__b, (int
8x16_t)__c, __d, 41); }) |
| 4942 #define vfmaq_laneq_f64(a, b, c, __d) __extension__ ({ \ |
| 4943 float64x2_t __a = (a); float64x2_t __b = (b); float64x2_t __c = (c); \ |
| 4944 (float64x2_t)__builtin_neon_vfmaq_laneq_v((int8x16_t)__a, (int8x16_t)__b, (int
8x16_t)__c, __d, 42); }) |
| 4945 |
| 4946 #define vfms_lane_f32(a, b, c, __d) __extension__ ({ \ |
| 4947 float32x2_t __a = (a); float32x2_t __b = (b); float32x2_t __c = (c); \ |
| 4948 float32x2_t __a1 = __a; \ |
| 4949 float32x2_t __b1 = __b; \ |
| 4950 float32x2_t __c1 = __c; \ |
| 4951 vfma_lane_f32(__a1, __b1, -__c1, __d); }) |
| 4952 #define vfms_lane_f64(a, b, c, __d) __extension__ ({ \ |
| 4953 float64x1_t __a = (a); float64x1_t __b = (b); float64x1_t __c = (c); \ |
| 4954 float64x1_t __a1 = __a; \ |
| 4955 float64x1_t __b1 = __b; \ |
| 4956 float64x1_t __c1 = __c; \ |
| 4957 vfma_lane_f64(__a1, __b1, -__c1, __d); }) |
| 4958 #define vfmsq_lane_f32(a, b, c, __d) __extension__ ({ \ |
| 4959 float32x4_t __a = (a); float32x4_t __b = (b); float32x2_t __c = (c); \ |
| 4960 float32x4_t __a1 = __a; \ |
| 4961 float32x4_t __b1 = __b; \ |
| 4962 float32x2_t __c1 = __c; \ |
| 4963 vfmaq_lane_f32(__a1, __b1, -__c1, __d); }) |
| 4964 #define vfmsq_lane_f64(a, b, c, __d) __extension__ ({ \ |
| 4965 float64x2_t __a = (a); float64x2_t __b = (b); float64x1_t __c = (c); \ |
| 4966 float64x2_t __a1 = __a; \ |
| 4967 float64x2_t __b1 = __b; \ |
| 4968 float64x1_t __c1 = __c; \ |
| 4969 vfmaq_lane_f64(__a1, __b1, -__c1, __d); }) |
| 4970 |
| 4971 #define vfms_laneq_f32(a, b, c, __d) __extension__ ({ \ |
| 4972 float32x2_t __a = (a); float32x2_t __b = (b); float32x4_t __c = (c); \ |
| 4973 float32x2_t __a1 = __a; \ |
| 4974 float32x2_t __b1 = __b; \ |
| 4975 float32x4_t __c1 = __c; \ |
| 4976 vfma_laneq_f32(__a1, __b1, -__c1, __d); }) |
| 4977 #define vfms_laneq_f64(a, b, c, __d) __extension__ ({ \ |
| 4978 float64x1_t __a = (a); float64x1_t __b = (b); float64x2_t __c = (c); \ |
| 4979 float64x1_t __a1 = __a; \ |
| 4980 float64x1_t __b1 = __b; \ |
| 4981 float64x2_t __c1 = __c; \ |
| 4982 vfma_laneq_f64(__a1, __b1, -__c1, __d); }) |
| 4983 #define vfmsq_laneq_f32(a, b, c, __d) __extension__ ({ \ |
| 4984 float32x4_t __a = (a); float32x4_t __b = (b); float32x4_t __c = (c); \ |
| 4985 float32x4_t __a1 = __a; \ |
| 4986 float32x4_t __b1 = __b; \ |
| 4987 float32x4_t __c1 = __c; \ |
| 4988 vfmaq_laneq_f32(__a1, __b1, -__c1, __d); }) |
| 4989 #define vfmsq_laneq_f64(a, b, c, __d) __extension__ ({ \ |
| 4990 float64x2_t __a = (a); float64x2_t __b = (b); float64x2_t __c = (c); \ |
| 4991 float64x2_t __a1 = __a; \ |
| 4992 float64x2_t __b1 = __b; \ |
| 4993 float64x2_t __c1 = __c; \ |
| 4994 vfmaq_laneq_f64(__a1, __b1, -__c1, __d); }) |
| 4995 |
| 4996 __ai float64x1_t vget_high_f64(float64x2_t __a) { |
| 4997 return __builtin_shufflevector(__a, __a, 1); } |
| 4998 __ai poly64x1_t vget_high_p64(poly64x2_t __a) { |
| 4999 return __builtin_shufflevector(__a, __a, 1); } |
| 5000 |
| 5001 #endif |
| 5002 |
| 5003 #define vget_lane_u8(a, __b) __extension__ ({ \ |
| 5004 uint8x8_t __a = (a); \ |
| 5005 (uint8_t)__builtin_neon_vget_lane_i8((int8x8_t)__a, __b); }) |
| 5006 #define vget_lane_u16(a, __b) __extension__ ({ \ |
| 5007 uint16x4_t __a = (a); \ |
| 5008 (uint16_t)__builtin_neon_vget_lane_i16((int16x4_t)__a, __b); }) |
| 5009 #define vget_lane_u32(a, __b) __extension__ ({ \ |
| 5010 uint32x2_t __a = (a); \ |
| 5011 (uint32_t)__builtin_neon_vget_lane_i32((int32x2_t)__a, __b); }) |
| 5012 #define vget_lane_s8(a, __b) __extension__ ({ \ |
| 5013 int8x8_t __a = (a); \ |
| 5014 (int8_t)__builtin_neon_vget_lane_i8(__a, __b); }) |
| 5015 #define vget_lane_s16(a, __b) __extension__ ({ \ |
| 5016 int16x4_t __a = (a); \ |
| 5017 (int16_t)__builtin_neon_vget_lane_i16(__a, __b); }) |
| 5018 #define vget_lane_s32(a, __b) __extension__ ({ \ |
| 5019 int32x2_t __a = (a); \ |
| 5020 (int32_t)__builtin_neon_vget_lane_i32(__a, __b); }) |
| 5021 #define vget_lane_p8(a, __b) __extension__ ({ \ |
| 5022 poly8x8_t __a = (a); \ |
| 5023 (poly8_t)__builtin_neon_vget_lane_i8((int8x8_t)__a, __b); }) |
| 5024 #define vget_lane_p16(a, __b) __extension__ ({ \ |
| 5025 poly16x4_t __a = (a); \ |
| 5026 (poly16_t)__builtin_neon_vget_lane_i16((int16x4_t)__a, __b); }) |
| 5027 #define vget_lane_f32(a, __b) __extension__ ({ \ |
| 5028 float32x2_t __a = (a); \ |
| 5029 (float32_t)__builtin_neon_vget_lane_f32(__a, __b); }) |
| 5030 #define vgetq_lane_u8(a, __b) __extension__ ({ \ |
| 5031 uint8x16_t __a = (a); \ |
| 5032 (uint8_t)__builtin_neon_vgetq_lane_i8((int8x16_t)__a, __b); }) |
| 5033 #define vgetq_lane_u16(a, __b) __extension__ ({ \ |
| 5034 uint16x8_t __a = (a); \ |
| 5035 (uint16_t)__builtin_neon_vgetq_lane_i16((int16x8_t)__a, __b); }) |
| 5036 #define vgetq_lane_u32(a, __b) __extension__ ({ \ |
| 5037 uint32x4_t __a = (a); \ |
| 5038 (uint32_t)__builtin_neon_vgetq_lane_i32((int32x4_t)__a, __b); }) |
| 5039 #define vgetq_lane_s8(a, __b) __extension__ ({ \ |
| 5040 int8x16_t __a = (a); \ |
| 5041 (int8_t)__builtin_neon_vgetq_lane_i8(__a, __b); }) |
| 5042 #define vgetq_lane_s16(a, __b) __extension__ ({ \ |
| 5043 int16x8_t __a = (a); \ |
| 5044 (int16_t)__builtin_neon_vgetq_lane_i16(__a, __b); }) |
| 5045 #define vgetq_lane_s32(a, __b) __extension__ ({ \ |
| 5046 int32x4_t __a = (a); \ |
| 5047 (int32_t)__builtin_neon_vgetq_lane_i32(__a, __b); }) |
| 5048 #define vgetq_lane_p8(a, __b) __extension__ ({ \ |
| 5049 poly8x16_t __a = (a); \ |
| 5050 (poly8_t)__builtin_neon_vgetq_lane_i8((int8x16_t)__a, __b); }) |
| 5051 #define vgetq_lane_p16(a, __b) __extension__ ({ \ |
| 5052 poly16x8_t __a = (a); \ |
| 5053 (poly16_t)__builtin_neon_vgetq_lane_i16((int16x8_t)__a, __b); }) |
| 5054 #define vgetq_lane_f32(a, __b) __extension__ ({ \ |
| 5055 float32x4_t __a = (a); \ |
| 5056 (float32_t)__builtin_neon_vgetq_lane_f32(__a, __b); }) |
| 5057 #define vget_lane_s64(a, __b) __extension__ ({ \ |
| 5058 int64x1_t __a = (a); \ |
| 5059 (int64_t)__builtin_neon_vget_lane_i64(__a, __b); }) |
| 5060 #define vget_lane_u64(a, __b) __extension__ ({ \ |
| 5061 uint64x1_t __a = (a); \ |
| 5062 (uint64_t)__builtin_neon_vget_lane_i64((int64x1_t)__a, __b); }) |
| 5063 #define vgetq_lane_s64(a, __b) __extension__ ({ \ |
| 5064 int64x2_t __a = (a); \ |
| 5065 (int64_t)__builtin_neon_vgetq_lane_i64(__a, __b); }) |
| 5066 #define vgetq_lane_u64(a, __b) __extension__ ({ \ |
| 5067 uint64x2_t __a = (a); \ |
| 5068 (uint64_t)__builtin_neon_vgetq_lane_i64((int64x2_t)__a, __b); }) |
| 5069 |
| 5070 __ai int8x8_t vget_low_s8(int8x16_t __a) { |
| 5071 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7); } |
| 5072 __ai int16x4_t vget_low_s16(int16x8_t __a) { |
| 5073 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); } |
| 5074 __ai int32x2_t vget_low_s32(int32x4_t __a) { |
| 5075 return __builtin_shufflevector(__a, __a, 0, 1); } |
| 5076 __ai int64x1_t vget_low_s64(int64x2_t __a) { |
| 5077 return __builtin_shufflevector(__a, __a, 0); } |
| 5078 __ai float16x4_t vget_low_f16(float16x8_t __a) { |
| 5079 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); } |
| 5080 __ai float32x2_t vget_low_f32(float32x4_t __a) { |
| 5081 return __builtin_shufflevector(__a, __a, 0, 1); } |
| 5082 __ai uint8x8_t vget_low_u8(uint8x16_t __a) { |
| 5083 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7); } |
| 5084 __ai uint16x4_t vget_low_u16(uint16x8_t __a) { |
| 5085 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); } |
| 5086 __ai uint32x2_t vget_low_u32(uint32x4_t __a) { |
| 5087 return __builtin_shufflevector(__a, __a, 0, 1); } |
| 5088 __ai uint64x1_t vget_low_u64(uint64x2_t __a) { |
| 5089 return __builtin_shufflevector(__a, __a, 0); } |
| 5090 __ai poly8x8_t vget_low_p8(poly8x16_t __a) { |
| 5091 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7); } |
| 5092 __ai poly16x4_t vget_low_p16(poly16x8_t __a) { |
| 5093 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3); } |
| 5094 |
| 5095 #if defined(__aarch64__) |
| 5096 __ai float64x1_t vget_low_f64(float64x2_t __a) { |
| 5097 return __builtin_shufflevector(__a, __a, 0); } |
| 5098 __ai poly64x1_t vget_low_p64(poly64x2_t __a) { |
| 5099 return __builtin_shufflevector(__a, __a, 0); } |
| 5100 |
| 5101 #endif |
| 5102 |
| 5103 __ai int8x8_t vhadd_s8(int8x8_t __a, int8x8_t __b) { |
| 5104 return (int8x8_t)__builtin_neon_vhadd_v(__a, __b, 0); } |
| 5105 __ai int16x4_t vhadd_s16(int16x4_t __a, int16x4_t __b) { |
| 5106 return (int16x4_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 5107 __ai int32x2_t vhadd_s32(int32x2_t __a, int32x2_t __b) { |
| 5108 return (int32x2_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 5109 __ai uint8x8_t vhadd_u8(uint8x8_t __a, uint8x8_t __b) { |
| 5110 return (uint8x8_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 5111 __ai uint16x4_t vhadd_u16(uint16x4_t __a, uint16x4_t __b) { |
| 5112 return (uint16x4_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 5113 __ai uint32x2_t vhadd_u32(uint32x2_t __a, uint32x2_t __b) { |
| 5114 return (uint32x2_t)__builtin_neon_vhadd_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 5115 __ai int8x16_t vhaddq_s8(int8x16_t __a, int8x16_t __b) { |
| 5116 return (int8x16_t)__builtin_neon_vhaddq_v(__a, __b, 32); } |
| 5117 __ai int16x8_t vhaddq_s16(int16x8_t __a, int16x8_t __b) { |
| 5118 return (int16x8_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 5119 __ai int32x4_t vhaddq_s32(int32x4_t __a, int32x4_t __b) { |
| 5120 return (int32x4_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 5121 __ai uint8x16_t vhaddq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 5122 return (uint8x16_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 48)
; } |
| 5123 __ai uint16x8_t vhaddq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 5124 return (uint16x8_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 49)
; } |
| 5125 __ai uint32x4_t vhaddq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 5126 return (uint32x4_t)__builtin_neon_vhaddq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 5127 |
| 5128 __ai int8x8_t vhsub_s8(int8x8_t __a, int8x8_t __b) { |
| 5129 return (int8x8_t)__builtin_neon_vhsub_v(__a, __b, 0); } |
| 5130 __ai int16x4_t vhsub_s16(int16x4_t __a, int16x4_t __b) { |
| 5131 return (int16x4_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 5132 __ai int32x2_t vhsub_s32(int32x2_t __a, int32x2_t __b) { |
| 5133 return (int32x2_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 5134 __ai uint8x8_t vhsub_u8(uint8x8_t __a, uint8x8_t __b) { |
| 5135 return (uint8x8_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 5136 __ai uint16x4_t vhsub_u16(uint16x4_t __a, uint16x4_t __b) { |
| 5137 return (uint16x4_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 5138 __ai uint32x2_t vhsub_u32(uint32x2_t __a, uint32x2_t __b) { |
| 5139 return (uint32x2_t)__builtin_neon_vhsub_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 5140 __ai int8x16_t vhsubq_s8(int8x16_t __a, int8x16_t __b) { |
| 5141 return (int8x16_t)__builtin_neon_vhsubq_v(__a, __b, 32); } |
| 5142 __ai int16x8_t vhsubq_s16(int16x8_t __a, int16x8_t __b) { |
| 5143 return (int16x8_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 5144 __ai int32x4_t vhsubq_s32(int32x4_t __a, int32x4_t __b) { |
| 5145 return (int32x4_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 5146 __ai uint8x16_t vhsubq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 5147 return (uint8x16_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 48)
; } |
| 5148 __ai uint16x8_t vhsubq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 5149 return (uint16x8_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 49)
; } |
| 5150 __ai uint32x4_t vhsubq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 5151 return (uint32x4_t)__builtin_neon_vhsubq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 5152 |
| 5153 #define vld1q_u8(__a) __extension__ ({ \ |
| 5154 (uint8x16_t)__builtin_neon_vld1q_v(__a, 48); }) |
| 5155 #define vld1q_u16(__a) __extension__ ({ \ |
| 5156 (uint16x8_t)__builtin_neon_vld1q_v(__a, 49); }) |
| 5157 #define vld1q_u32(__a) __extension__ ({ \ |
| 5158 (uint32x4_t)__builtin_neon_vld1q_v(__a, 50); }) |
| 5159 #define vld1q_u64(__a) __extension__ ({ \ |
| 5160 (uint64x2_t)__builtin_neon_vld1q_v(__a, 51); }) |
| 5161 #define vld1q_s8(__a) __extension__ ({ \ |
| 5162 (int8x16_t)__builtin_neon_vld1q_v(__a, 32); }) |
| 5163 #define vld1q_s16(__a) __extension__ ({ \ |
| 5164 (int16x8_t)__builtin_neon_vld1q_v(__a, 33); }) |
| 5165 #define vld1q_s32(__a) __extension__ ({ \ |
| 5166 (int32x4_t)__builtin_neon_vld1q_v(__a, 34); }) |
| 5167 #define vld1q_s64(__a) __extension__ ({ \ |
| 5168 (int64x2_t)__builtin_neon_vld1q_v(__a, 35); }) |
| 5169 #define vld1q_f16(__a) __extension__ ({ \ |
| 5170 (float16x8_t)__builtin_neon_vld1q_v(__a, 40); }) |
| 5171 #define vld1q_f32(__a) __extension__ ({ \ |
| 5172 (float32x4_t)__builtin_neon_vld1q_v(__a, 41); }) |
| 5173 #define vld1q_p8(__a) __extension__ ({ \ |
| 5174 (poly8x16_t)__builtin_neon_vld1q_v(__a, 36); }) |
| 5175 #define vld1q_p16(__a) __extension__ ({ \ |
| 5176 (poly16x8_t)__builtin_neon_vld1q_v(__a, 37); }) |
| 5177 #define vld1_u8(__a) __extension__ ({ \ |
| 5178 (uint8x8_t)__builtin_neon_vld1_v(__a, 16); }) |
| 5179 #define vld1_u16(__a) __extension__ ({ \ |
| 5180 (uint16x4_t)__builtin_neon_vld1_v(__a, 17); }) |
| 5181 #define vld1_u32(__a) __extension__ ({ \ |
| 5182 (uint32x2_t)__builtin_neon_vld1_v(__a, 18); }) |
| 5183 #define vld1_u64(__a) __extension__ ({ \ |
| 5184 (uint64x1_t)__builtin_neon_vld1_v(__a, 19); }) |
| 5185 #define vld1_s8(__a) __extension__ ({ \ |
| 5186 (int8x8_t)__builtin_neon_vld1_v(__a, 0); }) |
| 5187 #define vld1_s16(__a) __extension__ ({ \ |
| 5188 (int16x4_t)__builtin_neon_vld1_v(__a, 1); }) |
| 5189 #define vld1_s32(__a) __extension__ ({ \ |
| 5190 (int32x2_t)__builtin_neon_vld1_v(__a, 2); }) |
| 5191 #define vld1_s64(__a) __extension__ ({ \ |
| 5192 (int64x1_t)__builtin_neon_vld1_v(__a, 3); }) |
| 5193 #define vld1_f16(__a) __extension__ ({ \ |
| 5194 (float16x4_t)__builtin_neon_vld1_v(__a, 8); }) |
| 5195 #define vld1_f32(__a) __extension__ ({ \ |
| 5196 (float32x2_t)__builtin_neon_vld1_v(__a, 9); }) |
| 5197 #define vld1_p8(__a) __extension__ ({ \ |
| 5198 (poly8x8_t)__builtin_neon_vld1_v(__a, 4); }) |
| 5199 #define vld1_p16(__a) __extension__ ({ \ |
| 5200 (poly16x4_t)__builtin_neon_vld1_v(__a, 5); }) |
| 5201 |
| 5202 #define vld1q_dup_u8(__a) __extension__ ({ \ |
| 5203 (uint8x16_t)__builtin_neon_vld1q_dup_v(__a, 48); }) |
| 5204 #define vld1q_dup_u16(__a) __extension__ ({ \ |
| 5205 (uint16x8_t)__builtin_neon_vld1q_dup_v(__a, 49); }) |
| 5206 #define vld1q_dup_u32(__a) __extension__ ({ \ |
| 5207 (uint32x4_t)__builtin_neon_vld1q_dup_v(__a, 50); }) |
| 5208 #define vld1q_dup_u64(__a) __extension__ ({ \ |
| 5209 (uint64x2_t)__builtin_neon_vld1q_dup_v(__a, 51); }) |
| 5210 #define vld1q_dup_s8(__a) __extension__ ({ \ |
| 5211 (int8x16_t)__builtin_neon_vld1q_dup_v(__a, 32); }) |
| 5212 #define vld1q_dup_s16(__a) __extension__ ({ \ |
| 5213 (int16x8_t)__builtin_neon_vld1q_dup_v(__a, 33); }) |
| 5214 #define vld1q_dup_s32(__a) __extension__ ({ \ |
| 5215 (int32x4_t)__builtin_neon_vld1q_dup_v(__a, 34); }) |
| 5216 #define vld1q_dup_s64(__a) __extension__ ({ \ |
| 5217 (int64x2_t)__builtin_neon_vld1q_dup_v(__a, 35); }) |
| 5218 #define vld1q_dup_f16(__a) __extension__ ({ \ |
| 5219 (float16x8_t)__builtin_neon_vld1q_dup_v(__a, 40); }) |
| 5220 #define vld1q_dup_f32(__a) __extension__ ({ \ |
| 5221 (float32x4_t)__builtin_neon_vld1q_dup_v(__a, 41); }) |
| 5222 #define vld1q_dup_p8(__a) __extension__ ({ \ |
| 5223 (poly8x16_t)__builtin_neon_vld1q_dup_v(__a, 36); }) |
| 5224 #define vld1q_dup_p16(__a) __extension__ ({ \ |
| 5225 (poly16x8_t)__builtin_neon_vld1q_dup_v(__a, 37); }) |
| 5226 #define vld1_dup_u8(__a) __extension__ ({ \ |
| 5227 (uint8x8_t)__builtin_neon_vld1_dup_v(__a, 16); }) |
| 5228 #define vld1_dup_u16(__a) __extension__ ({ \ |
| 5229 (uint16x4_t)__builtin_neon_vld1_dup_v(__a, 17); }) |
| 5230 #define vld1_dup_u32(__a) __extension__ ({ \ |
| 5231 (uint32x2_t)__builtin_neon_vld1_dup_v(__a, 18); }) |
| 5232 #define vld1_dup_u64(__a) __extension__ ({ \ |
| 5233 (uint64x1_t)__builtin_neon_vld1_dup_v(__a, 19); }) |
| 5234 #define vld1_dup_s8(__a) __extension__ ({ \ |
| 5235 (int8x8_t)__builtin_neon_vld1_dup_v(__a, 0); }) |
| 5236 #define vld1_dup_s16(__a) __extension__ ({ \ |
| 5237 (int16x4_t)__builtin_neon_vld1_dup_v(__a, 1); }) |
| 5238 #define vld1_dup_s32(__a) __extension__ ({ \ |
| 5239 (int32x2_t)__builtin_neon_vld1_dup_v(__a, 2); }) |
| 5240 #define vld1_dup_s64(__a) __extension__ ({ \ |
| 5241 (int64x1_t)__builtin_neon_vld1_dup_v(__a, 3); }) |
| 5242 #define vld1_dup_f16(__a) __extension__ ({ \ |
| 5243 (float16x4_t)__builtin_neon_vld1_dup_v(__a, 8); }) |
| 5244 #define vld1_dup_f32(__a) __extension__ ({ \ |
| 5245 (float32x2_t)__builtin_neon_vld1_dup_v(__a, 9); }) |
| 5246 #define vld1_dup_p8(__a) __extension__ ({ \ |
| 5247 (poly8x8_t)__builtin_neon_vld1_dup_v(__a, 4); }) |
| 5248 #define vld1_dup_p16(__a) __extension__ ({ \ |
| 5249 (poly16x4_t)__builtin_neon_vld1_dup_v(__a, 5); }) |
| 5250 |
| 5251 #define vld1q_lane_u8(__a, b, __c) __extension__ ({ \ |
| 5252 uint8x16_t __b = (b); \ |
| 5253 (uint8x16_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 48); }) |
| 5254 #define vld1q_lane_u16(__a, b, __c) __extension__ ({ \ |
| 5255 uint16x8_t __b = (b); \ |
| 5256 (uint16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 49); }) |
| 5257 #define vld1q_lane_u32(__a, b, __c) __extension__ ({ \ |
| 5258 uint32x4_t __b = (b); \ |
| 5259 (uint32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 50); }) |
| 5260 #define vld1q_lane_u64(__a, b, __c) __extension__ ({ \ |
| 5261 uint64x2_t __b = (b); \ |
| 5262 (uint64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 51); }) |
| 5263 #define vld1q_lane_s8(__a, b, __c) __extension__ ({ \ |
| 5264 int8x16_t __b = (b); \ |
| 5265 (int8x16_t)__builtin_neon_vld1q_lane_v(__a, __b, __c, 32); }) |
| 5266 #define vld1q_lane_s16(__a, b, __c) __extension__ ({ \ |
| 5267 int16x8_t __b = (b); \ |
| 5268 (int16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 33); }) |
| 5269 #define vld1q_lane_s32(__a, b, __c) __extension__ ({ \ |
| 5270 int32x4_t __b = (b); \ |
| 5271 (int32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 34); }) |
| 5272 #define vld1q_lane_s64(__a, b, __c) __extension__ ({ \ |
| 5273 int64x2_t __b = (b); \ |
| 5274 (int64x2_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 35); }) |
| 5275 #define vld1q_lane_f16(__a, b, __c) __extension__ ({ \ |
| 5276 float16x8_t __b = (b); \ |
| 5277 (float16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 40); }) |
| 5278 #define vld1q_lane_f32(__a, b, __c) __extension__ ({ \ |
| 5279 float32x4_t __b = (b); \ |
| 5280 (float32x4_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 41); }) |
| 5281 #define vld1q_lane_p8(__a, b, __c) __extension__ ({ \ |
| 5282 poly8x16_t __b = (b); \ |
| 5283 (poly8x16_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 36); }) |
| 5284 #define vld1q_lane_p16(__a, b, __c) __extension__ ({ \ |
| 5285 poly16x8_t __b = (b); \ |
| 5286 (poly16x8_t)__builtin_neon_vld1q_lane_v(__a, (int8x16_t)__b, __c, 37); }) |
| 5287 #define vld1_lane_u8(__a, b, __c) __extension__ ({ \ |
| 5288 uint8x8_t __b = (b); \ |
| 5289 (uint8x8_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 16); }) |
| 5290 #define vld1_lane_u16(__a, b, __c) __extension__ ({ \ |
| 5291 uint16x4_t __b = (b); \ |
| 5292 (uint16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 17); }) |
| 5293 #define vld1_lane_u32(__a, b, __c) __extension__ ({ \ |
| 5294 uint32x2_t __b = (b); \ |
| 5295 (uint32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 18); }) |
| 5296 #define vld1_lane_u64(__a, b, __c) __extension__ ({ \ |
| 5297 uint64x1_t __b = (b); \ |
| 5298 (uint64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 19); }) |
| 5299 #define vld1_lane_s8(__a, b, __c) __extension__ ({ \ |
| 5300 int8x8_t __b = (b); \ |
| 5301 (int8x8_t)__builtin_neon_vld1_lane_v(__a, __b, __c, 0); }) |
| 5302 #define vld1_lane_s16(__a, b, __c) __extension__ ({ \ |
| 5303 int16x4_t __b = (b); \ |
| 5304 (int16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 1); }) |
| 5305 #define vld1_lane_s32(__a, b, __c) __extension__ ({ \ |
| 5306 int32x2_t __b = (b); \ |
| 5307 (int32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 2); }) |
| 5308 #define vld1_lane_s64(__a, b, __c) __extension__ ({ \ |
| 5309 int64x1_t __b = (b); \ |
| 5310 (int64x1_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 3); }) |
| 5311 #define vld1_lane_f16(__a, b, __c) __extension__ ({ \ |
| 5312 float16x4_t __b = (b); \ |
| 5313 (float16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 8); }) |
| 5314 #define vld1_lane_f32(__a, b, __c) __extension__ ({ \ |
| 5315 float32x2_t __b = (b); \ |
| 5316 (float32x2_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 9); }) |
| 5317 #define vld1_lane_p8(__a, b, __c) __extension__ ({ \ |
| 5318 poly8x8_t __b = (b); \ |
| 5319 (poly8x8_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 4); }) |
| 5320 #define vld1_lane_p16(__a, b, __c) __extension__ ({ \ |
| 5321 poly16x4_t __b = (b); \ |
| 5322 (poly16x4_t)__builtin_neon_vld1_lane_v(__a, (int8x8_t)__b, __c, 5); }) |
| 5323 |
| 5324 #define vld2q_u8(__a) __extension__ ({ \ |
| 5325 uint8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 48); r; }) |
| 5326 #define vld2q_u16(__a) __extension__ ({ \ |
| 5327 uint16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 49); r; }) |
| 5328 #define vld2q_u32(__a) __extension__ ({ \ |
| 5329 uint32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 50); r; }) |
| 5330 #define vld2q_s8(__a) __extension__ ({ \ |
| 5331 int8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 32); r; }) |
| 5332 #define vld2q_s16(__a) __extension__ ({ \ |
| 5333 int16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 33); r; }) |
| 5334 #define vld2q_s32(__a) __extension__ ({ \ |
| 5335 int32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 34); r; }) |
| 5336 #define vld2q_f16(__a) __extension__ ({ \ |
| 5337 float16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 40); r; }) |
| 5338 #define vld2q_f32(__a) __extension__ ({ \ |
| 5339 float32x4x2_t r; __builtin_neon_vld2q_v(&r, __a, 41); r; }) |
| 5340 #define vld2q_p8(__a) __extension__ ({ \ |
| 5341 poly8x16x2_t r; __builtin_neon_vld2q_v(&r, __a, 36); r; }) |
| 5342 #define vld2q_p16(__a) __extension__ ({ \ |
| 5343 poly16x8x2_t r; __builtin_neon_vld2q_v(&r, __a, 37); r; }) |
| 5344 #define vld2_u8(__a) __extension__ ({ \ |
| 5345 uint8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 16); r; }) |
| 5346 #define vld2_u16(__a) __extension__ ({ \ |
| 5347 uint16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 17); r; }) |
| 5348 #define vld2_u32(__a) __extension__ ({ \ |
| 5349 uint32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 18); r; }) |
| 5350 #define vld2_u64(__a) __extension__ ({ \ |
| 5351 uint64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 19); r; }) |
| 5352 #define vld2_s8(__a) __extension__ ({ \ |
| 5353 int8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 0); r; }) |
| 5354 #define vld2_s16(__a) __extension__ ({ \ |
| 5355 int16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 1); r; }) |
| 5356 #define vld2_s32(__a) __extension__ ({ \ |
| 5357 int32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 2); r; }) |
| 5358 #define vld2_s64(__a) __extension__ ({ \ |
| 5359 int64x1x2_t r; __builtin_neon_vld2_v(&r, __a, 3); r; }) |
| 5360 #define vld2_f16(__a) __extension__ ({ \ |
| 5361 float16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 8); r; }) |
| 5362 #define vld2_f32(__a) __extension__ ({ \ |
| 5363 float32x2x2_t r; __builtin_neon_vld2_v(&r, __a, 9); r; }) |
| 5364 #define vld2_p8(__a) __extension__ ({ \ |
| 5365 poly8x8x2_t r; __builtin_neon_vld2_v(&r, __a, 4); r; }) |
| 5366 #define vld2_p16(__a) __extension__ ({ \ |
| 5367 poly16x4x2_t r; __builtin_neon_vld2_v(&r, __a, 5); r; }) |
| 5368 |
| 5369 #define vld2_dup_u8(__a) __extension__ ({ \ |
| 5370 uint8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 16); r; }) |
| 5371 #define vld2_dup_u16(__a) __extension__ ({ \ |
| 5372 uint16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 17); r; }) |
| 5373 #define vld2_dup_u32(__a) __extension__ ({ \ |
| 5374 uint32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 18); r; }) |
| 5375 #define vld2_dup_u64(__a) __extension__ ({ \ |
| 5376 uint64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 19); r; }) |
| 5377 #define vld2_dup_s8(__a) __extension__ ({ \ |
| 5378 int8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 0); r; }) |
| 5379 #define vld2_dup_s16(__a) __extension__ ({ \ |
| 5380 int16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 1); r; }) |
| 5381 #define vld2_dup_s32(__a) __extension__ ({ \ |
| 5382 int32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 2); r; }) |
| 5383 #define vld2_dup_s64(__a) __extension__ ({ \ |
| 5384 int64x1x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 3); r; }) |
| 5385 #define vld2_dup_f16(__a) __extension__ ({ \ |
| 5386 float16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 8); r; }) |
| 5387 #define vld2_dup_f32(__a) __extension__ ({ \ |
| 5388 float32x2x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 9); r; }) |
| 5389 #define vld2_dup_p8(__a) __extension__ ({ \ |
| 5390 poly8x8x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 4); r; }) |
| 5391 #define vld2_dup_p16(__a) __extension__ ({ \ |
| 5392 poly16x4x2_t r; __builtin_neon_vld2_dup_v(&r, __a, 5); r; }) |
| 5393 |
| 5394 #define vld2q_lane_u16(__a, b, __c) __extension__ ({ \ |
| 5395 uint16x8x2_t __b = (b); \ |
| 5396 uint16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], __c, 49); r; }) |
| 5397 #define vld2q_lane_u32(__a, b, __c) __extension__ ({ \ |
| 5398 uint32x4x2_t __b = (b); \ |
| 5399 uint32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], __c, 50); r; }) |
| 5400 #define vld2q_lane_s16(__a, b, __c) __extension__ ({ \ |
| 5401 int16x8x2_t __b = (b); \ |
| 5402 int16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in
t8x16_t)__b.val[1], __c, 33); r; }) |
| 5403 #define vld2q_lane_s32(__a, b, __c) __extension__ ({ \ |
| 5404 int32x4x2_t __b = (b); \ |
| 5405 int32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in
t8x16_t)__b.val[1], __c, 34); r; }) |
| 5406 #define vld2q_lane_f16(__a, b, __c) __extension__ ({ \ |
| 5407 float16x8x2_t __b = (b); \ |
| 5408 float16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (
int8x16_t)__b.val[1], __c, 40); r; }) |
| 5409 #define vld2q_lane_f32(__a, b, __c) __extension__ ({ \ |
| 5410 float32x4x2_t __b = (b); \ |
| 5411 float32x4x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (
int8x16_t)__b.val[1], __c, 41); r; }) |
| 5412 #define vld2q_lane_p16(__a, b, __c) __extension__ ({ \ |
| 5413 poly16x8x2_t __b = (b); \ |
| 5414 poly16x8x2_t r; __builtin_neon_vld2q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], __c, 37); r; }) |
| 5415 #define vld2_lane_u8(__a, b, __c) __extension__ ({ \ |
| 5416 uint8x8x2_t __b = (b); \ |
| 5417 uint8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], __c, 16); r; }) |
| 5418 #define vld2_lane_u16(__a, b, __c) __extension__ ({ \ |
| 5419 uint16x4x2_t __b = (b); \ |
| 5420 uint16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], __c, 17); r; }) |
| 5421 #define vld2_lane_u32(__a, b, __c) __extension__ ({ \ |
| 5422 uint32x2x2_t __b = (b); \ |
| 5423 uint32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], __c, 18); r; }) |
| 5424 #define vld2_lane_s8(__a, b, __c) __extension__ ({ \ |
| 5425 int8x8x2_t __b = (b); \ |
| 5426 int8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, __b.val[0], __b.val[1], __c,
0); r; }) |
| 5427 #define vld2_lane_s16(__a, b, __c) __extension__ ({ \ |
| 5428 int16x4x2_t __b = (b); \ |
| 5429 int16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], __c, 1); r; }) |
| 5430 #define vld2_lane_s32(__a, b, __c) __extension__ ({ \ |
| 5431 int32x2x2_t __b = (b); \ |
| 5432 int32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], __c, 2); r; }) |
| 5433 #define vld2_lane_f16(__a, b, __c) __extension__ ({ \ |
| 5434 float16x4x2_t __b = (b); \ |
| 5435 float16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (in
t8x8_t)__b.val[1], __c, 8); r; }) |
| 5436 #define vld2_lane_f32(__a, b, __c) __extension__ ({ \ |
| 5437 float32x2x2_t __b = (b); \ |
| 5438 float32x2x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (in
t8x8_t)__b.val[1], __c, 9); r; }) |
| 5439 #define vld2_lane_p8(__a, b, __c) __extension__ ({ \ |
| 5440 poly8x8x2_t __b = (b); \ |
| 5441 poly8x8x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], __c, 4); r; }) |
| 5442 #define vld2_lane_p16(__a, b, __c) __extension__ ({ \ |
| 5443 poly16x4x2_t __b = (b); \ |
| 5444 poly16x4x2_t r; __builtin_neon_vld2_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], __c, 5); r; }) |
| 5445 |
| 5446 #define vld3q_u8(__a) __extension__ ({ \ |
| 5447 uint8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 48); r; }) |
| 5448 #define vld3q_u16(__a) __extension__ ({ \ |
| 5449 uint16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 49); r; }) |
| 5450 #define vld3q_u32(__a) __extension__ ({ \ |
| 5451 uint32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 50); r; }) |
| 5452 #define vld3q_s8(__a) __extension__ ({ \ |
| 5453 int8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 32); r; }) |
| 5454 #define vld3q_s16(__a) __extension__ ({ \ |
| 5455 int16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 33); r; }) |
| 5456 #define vld3q_s32(__a) __extension__ ({ \ |
| 5457 int32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 34); r; }) |
| 5458 #define vld3q_f16(__a) __extension__ ({ \ |
| 5459 float16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 40); r; }) |
| 5460 #define vld3q_f32(__a) __extension__ ({ \ |
| 5461 float32x4x3_t r; __builtin_neon_vld3q_v(&r, __a, 41); r; }) |
| 5462 #define vld3q_p8(__a) __extension__ ({ \ |
| 5463 poly8x16x3_t r; __builtin_neon_vld3q_v(&r, __a, 36); r; }) |
| 5464 #define vld3q_p16(__a) __extension__ ({ \ |
| 5465 poly16x8x3_t r; __builtin_neon_vld3q_v(&r, __a, 37); r; }) |
| 5466 #define vld3_u8(__a) __extension__ ({ \ |
| 5467 uint8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 16); r; }) |
| 5468 #define vld3_u16(__a) __extension__ ({ \ |
| 5469 uint16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 17); r; }) |
| 5470 #define vld3_u32(__a) __extension__ ({ \ |
| 5471 uint32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 18); r; }) |
| 5472 #define vld3_u64(__a) __extension__ ({ \ |
| 5473 uint64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 19); r; }) |
| 5474 #define vld3_s8(__a) __extension__ ({ \ |
| 5475 int8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 0); r; }) |
| 5476 #define vld3_s16(__a) __extension__ ({ \ |
| 5477 int16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 1); r; }) |
| 5478 #define vld3_s32(__a) __extension__ ({ \ |
| 5479 int32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 2); r; }) |
| 5480 #define vld3_s64(__a) __extension__ ({ \ |
| 5481 int64x1x3_t r; __builtin_neon_vld3_v(&r, __a, 3); r; }) |
| 5482 #define vld3_f16(__a) __extension__ ({ \ |
| 5483 float16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 8); r; }) |
| 5484 #define vld3_f32(__a) __extension__ ({ \ |
| 5485 float32x2x3_t r; __builtin_neon_vld3_v(&r, __a, 9); r; }) |
| 5486 #define vld3_p8(__a) __extension__ ({ \ |
| 5487 poly8x8x3_t r; __builtin_neon_vld3_v(&r, __a, 4); r; }) |
| 5488 #define vld3_p16(__a) __extension__ ({ \ |
| 5489 poly16x4x3_t r; __builtin_neon_vld3_v(&r, __a, 5); r; }) |
| 5490 |
| 5491 #define vld3_dup_u8(__a) __extension__ ({ \ |
| 5492 uint8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 16); r; }) |
| 5493 #define vld3_dup_u16(__a) __extension__ ({ \ |
| 5494 uint16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 17); r; }) |
| 5495 #define vld3_dup_u32(__a) __extension__ ({ \ |
| 5496 uint32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 18); r; }) |
| 5497 #define vld3_dup_u64(__a) __extension__ ({ \ |
| 5498 uint64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 19); r; }) |
| 5499 #define vld3_dup_s8(__a) __extension__ ({ \ |
| 5500 int8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 0); r; }) |
| 5501 #define vld3_dup_s16(__a) __extension__ ({ \ |
| 5502 int16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 1); r; }) |
| 5503 #define vld3_dup_s32(__a) __extension__ ({ \ |
| 5504 int32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 2); r; }) |
| 5505 #define vld3_dup_s64(__a) __extension__ ({ \ |
| 5506 int64x1x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 3); r; }) |
| 5507 #define vld3_dup_f16(__a) __extension__ ({ \ |
| 5508 float16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 8); r; }) |
| 5509 #define vld3_dup_f32(__a) __extension__ ({ \ |
| 5510 float32x2x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 9); r; }) |
| 5511 #define vld3_dup_p8(__a) __extension__ ({ \ |
| 5512 poly8x8x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 4); r; }) |
| 5513 #define vld3_dup_p16(__a) __extension__ ({ \ |
| 5514 poly16x4x3_t r; __builtin_neon_vld3_dup_v(&r, __a, 5); r; }) |
| 5515 |
| 5516 #define vld3q_lane_u16(__a, b, __c) __extension__ ({ \ |
| 5517 uint16x8x3_t __b = (b); \ |
| 5518 uint16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 49); r; }) |
| 5519 #define vld3q_lane_u32(__a, b, __c) __extension__ ({ \ |
| 5520 uint32x4x3_t __b = (b); \ |
| 5521 uint32x4x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 50); r; }) |
| 5522 #define vld3q_lane_s16(__a, b, __c) __extension__ ({ \ |
| 5523 int16x8x3_t __b = (b); \ |
| 5524 int16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in
t8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 33); r; }) |
| 5525 #define vld3q_lane_s32(__a, b, __c) __extension__ ({ \ |
| 5526 int32x4x3_t __b = (b); \ |
| 5527 int32x4x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in
t8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 34); r; }) |
| 5528 #define vld3q_lane_f16(__a, b, __c) __extension__ ({ \ |
| 5529 float16x8x3_t __b = (b); \ |
| 5530 float16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (
int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 40); r; }) |
| 5531 #define vld3q_lane_f32(__a, b, __c) __extension__ ({ \ |
| 5532 float32x4x3_t __b = (b); \ |
| 5533 float32x4x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (
int8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 41); r; }) |
| 5534 #define vld3q_lane_p16(__a, b, __c) __extension__ ({ \ |
| 5535 poly16x8x3_t __b = (b); \ |
| 5536 poly16x8x3_t r; __builtin_neon_vld3q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], __c, 37); r; }) |
| 5537 #define vld3_lane_u8(__a, b, __c) __extension__ ({ \ |
| 5538 uint8x8x3_t __b = (b); \ |
| 5539 uint8x8x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 16); r; }) |
| 5540 #define vld3_lane_u16(__a, b, __c) __extension__ ({ \ |
| 5541 uint16x4x3_t __b = (b); \ |
| 5542 uint16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 17); r; }) |
| 5543 #define vld3_lane_u32(__a, b, __c) __extension__ ({ \ |
| 5544 uint32x2x3_t __b = (b); \ |
| 5545 uint32x2x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 18); r; }) |
| 5546 #define vld3_lane_s8(__a, b, __c) __extension__ ({ \ |
| 5547 int8x8x3_t __b = (b); \ |
| 5548 int8x8x3_t r; __builtin_neon_vld3_lane_v(&r, __a, __b.val[0], __b.val[1], __b.
val[2], __c, 0); r; }) |
| 5549 #define vld3_lane_s16(__a, b, __c) __extension__ ({ \ |
| 5550 int16x4x3_t __b = (b); \ |
| 5551 int16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 1); r; }) |
| 5552 #define vld3_lane_s32(__a, b, __c) __extension__ ({ \ |
| 5553 int32x2x3_t __b = (b); \ |
| 5554 int32x2x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 2); r; }) |
| 5555 #define vld3_lane_f16(__a, b, __c) __extension__ ({ \ |
| 5556 float16x4x3_t __b = (b); \ |
| 5557 float16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (in
t8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 8); r; }) |
| 5558 #define vld3_lane_f32(__a, b, __c) __extension__ ({ \ |
| 5559 float32x2x3_t __b = (b); \ |
| 5560 float32x2x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (in
t8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 9); r; }) |
| 5561 #define vld3_lane_p8(__a, b, __c) __extension__ ({ \ |
| 5562 poly8x8x3_t __b = (b); \ |
| 5563 poly8x8x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 4); r; }) |
| 5564 #define vld3_lane_p16(__a, b, __c) __extension__ ({ \ |
| 5565 poly16x4x3_t __b = (b); \ |
| 5566 poly16x4x3_t r; __builtin_neon_vld3_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], (int8x8_t)__b.val[2], __c, 5); r; }) |
| 5567 |
| 5568 #define vld4q_u8(__a) __extension__ ({ \ |
| 5569 uint8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 48); r; }) |
| 5570 #define vld4q_u16(__a) __extension__ ({ \ |
| 5571 uint16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 49); r; }) |
| 5572 #define vld4q_u32(__a) __extension__ ({ \ |
| 5573 uint32x4x4_t r; __builtin_neon_vld4q_v(&r, __a, 50); r; }) |
| 5574 #define vld4q_s8(__a) __extension__ ({ \ |
| 5575 int8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 32); r; }) |
| 5576 #define vld4q_s16(__a) __extension__ ({ \ |
| 5577 int16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 33); r; }) |
| 5578 #define vld4q_s32(__a) __extension__ ({ \ |
| 5579 int32x4x4_t r; __builtin_neon_vld4q_v(&r, __a, 34); r; }) |
| 5580 #define vld4q_f16(__a) __extension__ ({ \ |
| 5581 float16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 40); r; }) |
| 5582 #define vld4q_f32(__a) __extension__ ({ \ |
| 5583 float32x4x4_t r; __builtin_neon_vld4q_v(&r, __a, 41); r; }) |
| 5584 #define vld4q_p8(__a) __extension__ ({ \ |
| 5585 poly8x16x4_t r; __builtin_neon_vld4q_v(&r, __a, 36); r; }) |
| 5586 #define vld4q_p16(__a) __extension__ ({ \ |
| 5587 poly16x8x4_t r; __builtin_neon_vld4q_v(&r, __a, 37); r; }) |
| 5588 #define vld4_u8(__a) __extension__ ({ \ |
| 5589 uint8x8x4_t r; __builtin_neon_vld4_v(&r, __a, 16); r; }) |
| 5590 #define vld4_u16(__a) __extension__ ({ \ |
| 5591 uint16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 17); r; }) |
| 5592 #define vld4_u32(__a) __extension__ ({ \ |
| 5593 uint32x2x4_t r; __builtin_neon_vld4_v(&r, __a, 18); r; }) |
| 5594 #define vld4_u64(__a) __extension__ ({ \ |
| 5595 uint64x1x4_t r; __builtin_neon_vld4_v(&r, __a, 19); r; }) |
| 5596 #define vld4_s8(__a) __extension__ ({ \ |
| 5597 int8x8x4_t r; __builtin_neon_vld4_v(&r, __a, 0); r; }) |
| 5598 #define vld4_s16(__a) __extension__ ({ \ |
| 5599 int16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 1); r; }) |
| 5600 #define vld4_s32(__a) __extension__ ({ \ |
| 5601 int32x2x4_t r; __builtin_neon_vld4_v(&r, __a, 2); r; }) |
| 5602 #define vld4_s64(__a) __extension__ ({ \ |
| 5603 int64x1x4_t r; __builtin_neon_vld4_v(&r, __a, 3); r; }) |
| 5604 #define vld4_f16(__a) __extension__ ({ \ |
| 5605 float16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 8); r; }) |
| 5606 #define vld4_f32(__a) __extension__ ({ \ |
| 5607 float32x2x4_t r; __builtin_neon_vld4_v(&r, __a, 9); r; }) |
| 5608 #define vld4_p8(__a) __extension__ ({ \ |
| 5609 poly8x8x4_t r; __builtin_neon_vld4_v(&r, __a, 4); r; }) |
| 5610 #define vld4_p16(__a) __extension__ ({ \ |
| 5611 poly16x4x4_t r; __builtin_neon_vld4_v(&r, __a, 5); r; }) |
| 5612 |
| 5613 #define vld4_dup_u8(__a) __extension__ ({ \ |
| 5614 uint8x8x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 16); r; }) |
| 5615 #define vld4_dup_u16(__a) __extension__ ({ \ |
| 5616 uint16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 17); r; }) |
| 5617 #define vld4_dup_u32(__a) __extension__ ({ \ |
| 5618 uint32x2x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 18); r; }) |
| 5619 #define vld4_dup_u64(__a) __extension__ ({ \ |
| 5620 uint64x1x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 19); r; }) |
| 5621 #define vld4_dup_s8(__a) __extension__ ({ \ |
| 5622 int8x8x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 0); r; }) |
| 5623 #define vld4_dup_s16(__a) __extension__ ({ \ |
| 5624 int16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 1); r; }) |
| 5625 #define vld4_dup_s32(__a) __extension__ ({ \ |
| 5626 int32x2x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 2); r; }) |
| 5627 #define vld4_dup_s64(__a) __extension__ ({ \ |
| 5628 int64x1x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 3); r; }) |
| 5629 #define vld4_dup_f16(__a) __extension__ ({ \ |
| 5630 float16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 8); r; }) |
| 5631 #define vld4_dup_f32(__a) __extension__ ({ \ |
| 5632 float32x2x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 9); r; }) |
| 5633 #define vld4_dup_p8(__a) __extension__ ({ \ |
| 5634 poly8x8x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 4); r; }) |
| 5635 #define vld4_dup_p16(__a) __extension__ ({ \ |
| 5636 poly16x4x4_t r; __builtin_neon_vld4_dup_v(&r, __a, 5); r; }) |
| 5637 |
| 5638 #define vld4q_lane_u16(__a, b, __c) __extension__ ({ \ |
| 5639 uint16x8x4_t __b = (b); \ |
| 5640 uint16x8x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 49); r;
}) |
| 5641 #define vld4q_lane_u32(__a, b, __c) __extension__ ({ \ |
| 5642 uint32x4x4_t __b = (b); \ |
| 5643 uint32x4x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 50); r;
}) |
| 5644 #define vld4q_lane_s16(__a, b, __c) __extension__ ({ \ |
| 5645 int16x8x4_t __b = (b); \ |
| 5646 int16x8x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in
t8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 33); r; }
) |
| 5647 #define vld4q_lane_s32(__a, b, __c) __extension__ ({ \ |
| 5648 int32x4x4_t __b = (b); \ |
| 5649 int32x4x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (in
t8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 34); r; }
) |
| 5650 #define vld4q_lane_f16(__a, b, __c) __extension__ ({ \ |
| 5651 float16x8x4_t __b = (b); \ |
| 5652 float16x8x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (
int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 40); r;
}) |
| 5653 #define vld4q_lane_f32(__a, b, __c) __extension__ ({ \ |
| 5654 float32x4x4_t __b = (b); \ |
| 5655 float32x4x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (
int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 41); r;
}) |
| 5656 #define vld4q_lane_p16(__a, b, __c) __extension__ ({ \ |
| 5657 poly16x8x4_t __b = (b); \ |
| 5658 poly16x8x4_t r; __builtin_neon_vld4q_lane_v(&r, __a, (int8x16_t)__b.val[0], (i
nt8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 37); r;
}) |
| 5659 #define vld4_lane_u8(__a, b, __c) __extension__ ({ \ |
| 5660 uint8x8x4_t __b = (b); \ |
| 5661 uint8x8x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 16); r; }) |
| 5662 #define vld4_lane_u16(__a, b, __c) __extension__ ({ \ |
| 5663 uint16x4x4_t __b = (b); \ |
| 5664 uint16x4x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 17); r; }) |
| 5665 #define vld4_lane_u32(__a, b, __c) __extension__ ({ \ |
| 5666 uint32x2x4_t __b = (b); \ |
| 5667 uint32x2x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 18); r; }) |
| 5668 #define vld4_lane_s8(__a, b, __c) __extension__ ({ \ |
| 5669 int8x8x4_t __b = (b); \ |
| 5670 int8x8x4_t r; __builtin_neon_vld4_lane_v(&r, __a, __b.val[0], __b.val[1], __b.
val[2], __b.val[3], __c, 0); r; }) |
| 5671 #define vld4_lane_s16(__a, b, __c) __extension__ ({ \ |
| 5672 int16x4x4_t __b = (b); \ |
| 5673 int16x4x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 1); r; }) |
| 5674 #define vld4_lane_s32(__a, b, __c) __extension__ ({ \ |
| 5675 int32x2x4_t __b = (b); \ |
| 5676 int32x2x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 2); r; }) |
| 5677 #define vld4_lane_f16(__a, b, __c) __extension__ ({ \ |
| 5678 float16x4x4_t __b = (b); \ |
| 5679 float16x4x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (in
t8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 8); r; }) |
| 5680 #define vld4_lane_f32(__a, b, __c) __extension__ ({ \ |
| 5681 float32x2x4_t __b = (b); \ |
| 5682 float32x2x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (in
t8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 9); r; }) |
| 5683 #define vld4_lane_p8(__a, b, __c) __extension__ ({ \ |
| 5684 poly8x8x4_t __b = (b); \ |
| 5685 poly8x8x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int8
x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 4); r; }) |
| 5686 #define vld4_lane_p16(__a, b, __c) __extension__ ({ \ |
| 5687 poly16x4x4_t __b = (b); \ |
| 5688 poly16x4x4_t r; __builtin_neon_vld4_lane_v(&r, __a, (int8x8_t)__b.val[0], (int
8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 5); r; }) |
| 5689 |
| 5690 #if defined(__aarch64__) |
| 5691 #define vldrq_p128(__a) __extension__ ({ \ |
| 5692 (poly128_t)__builtin_neon_vldrq_p128(__a); }) |
| 5693 |
| 5694 #endif |
| 5695 |
| 5696 __ai int8x8_t vmax_s8(int8x8_t __a, int8x8_t __b) { |
| 5697 return (int8x8_t)__builtin_neon_vmax_v(__a, __b, 0); } |
| 5698 __ai int16x4_t vmax_s16(int16x4_t __a, int16x4_t __b) { |
| 5699 return (int16x4_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 5700 __ai int32x2_t vmax_s32(int32x2_t __a, int32x2_t __b) { |
| 5701 return (int32x2_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 5702 __ai uint8x8_t vmax_u8(uint8x8_t __a, uint8x8_t __b) { |
| 5703 return (uint8x8_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 5704 __ai uint16x4_t vmax_u16(uint16x4_t __a, uint16x4_t __b) { |
| 5705 return (uint16x4_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 5706 __ai uint32x2_t vmax_u32(uint32x2_t __a, uint32x2_t __b) { |
| 5707 return (uint32x2_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 5708 __ai float32x2_t vmax_f32(float32x2_t __a, float32x2_t __b) { |
| 5709 return (float32x2_t)__builtin_neon_vmax_v((int8x8_t)__a, (int8x8_t)__b, 9); } |
| 5710 __ai int8x16_t vmaxq_s8(int8x16_t __a, int8x16_t __b) { |
| 5711 return (int8x16_t)__builtin_neon_vmaxq_v(__a, __b, 32); } |
| 5712 __ai int16x8_t vmaxq_s16(int16x8_t __a, int16x8_t __b) { |
| 5713 return (int16x8_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 5714 __ai int32x4_t vmaxq_s32(int32x4_t __a, int32x4_t __b) { |
| 5715 return (int32x4_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 5716 __ai uint8x16_t vmaxq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 5717 return (uint8x16_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 48);
} |
| 5718 __ai uint16x8_t vmaxq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 5719 return (uint16x8_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 49);
} |
| 5720 __ai uint32x4_t vmaxq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 5721 return (uint32x4_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 50);
} |
| 5722 __ai float32x4_t vmaxq_f32(float32x4_t __a, float32x4_t __b) { |
| 5723 return (float32x4_t)__builtin_neon_vmaxq_v((int8x16_t)__a, (int8x16_t)__b, 41)
; } |
| 5724 |
| 5725 #if defined(__aarch64__) |
| 5726 __ai int8_t vmaxv_s8(int8x8_t __a) { |
| 5727 return (int8_t)__builtin_neon_vmaxv_s8(__a); } |
| 5728 __ai int16_t vmaxv_s16(int16x4_t __a) { |
| 5729 return (int16_t)__builtin_neon_vmaxv_s16(__a); } |
| 5730 __ai int32_t vmaxv_s32(int32x2_t __a) { |
| 5731 return (int32_t)__builtin_neon_vmaxv_s32(__a); } |
| 5732 __ai float32_t vmaxv_f32(float32x2_t __a) { |
| 5733 return (float32_t)__builtin_neon_vmaxv_f32(__a); } |
| 5734 __ai uint8_t vmaxv_u8(uint8x8_t __a) { |
| 5735 return (uint8_t)__builtin_neon_vmaxv_u8((int8x8_t)__a); } |
| 5736 __ai uint16_t vmaxv_u16(uint16x4_t __a) { |
| 5737 return (uint16_t)__builtin_neon_vmaxv_u16((int16x4_t)__a); } |
| 5738 __ai uint32_t vmaxv_u32(uint32x2_t __a) { |
| 5739 return (uint32_t)__builtin_neon_vmaxv_u32((int32x2_t)__a); } |
| 5740 __ai int8_t vmaxvq_s8(int8x16_t __a) { |
| 5741 return (int8_t)__builtin_neon_vmaxvq_s8(__a); } |
| 5742 __ai int16_t vmaxvq_s16(int16x8_t __a) { |
| 5743 return (int16_t)__builtin_neon_vmaxvq_s16(__a); } |
| 5744 __ai int32_t vmaxvq_s32(int32x4_t __a) { |
| 5745 return (int32_t)__builtin_neon_vmaxvq_s32(__a); } |
| 5746 __ai uint8_t vmaxvq_u8(uint8x16_t __a) { |
| 5747 return (uint8_t)__builtin_neon_vmaxvq_u8((int8x16_t)__a); } |
| 5748 __ai uint16_t vmaxvq_u16(uint16x8_t __a) { |
| 5749 return (uint16_t)__builtin_neon_vmaxvq_u16((int16x8_t)__a); } |
| 5750 __ai uint32_t vmaxvq_u32(uint32x4_t __a) { |
| 5751 return (uint32_t)__builtin_neon_vmaxvq_u32((int32x4_t)__a); } |
| 5752 __ai float32_t vmaxvq_f32(float32x4_t __a) { |
| 5753 return (float32_t)__builtin_neon_vmaxvq_f32(__a); } |
| 5754 __ai float64_t vmaxvq_f64(float64x2_t __a) { |
| 5755 return (float64_t)__builtin_neon_vmaxvq_f64(__a); } |
| 5756 |
| 5757 #endif |
| 5758 |
| 5759 __ai int8x8_t vmin_s8(int8x8_t __a, int8x8_t __b) { |
| 5760 return (int8x8_t)__builtin_neon_vmin_v(__a, __b, 0); } |
| 5761 __ai int16x4_t vmin_s16(int16x4_t __a, int16x4_t __b) { |
| 5762 return (int16x4_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 5763 __ai int32x2_t vmin_s32(int32x2_t __a, int32x2_t __b) { |
| 5764 return (int32x2_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 5765 __ai uint8x8_t vmin_u8(uint8x8_t __a, uint8x8_t __b) { |
| 5766 return (uint8x8_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 5767 __ai uint16x4_t vmin_u16(uint16x4_t __a, uint16x4_t __b) { |
| 5768 return (uint16x4_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 5769 __ai uint32x2_t vmin_u32(uint32x2_t __a, uint32x2_t __b) { |
| 5770 return (uint32x2_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 5771 __ai float32x2_t vmin_f32(float32x2_t __a, float32x2_t __b) { |
| 5772 return (float32x2_t)__builtin_neon_vmin_v((int8x8_t)__a, (int8x8_t)__b, 9); } |
| 5773 __ai int8x16_t vminq_s8(int8x16_t __a, int8x16_t __b) { |
| 5774 return (int8x16_t)__builtin_neon_vminq_v(__a, __b, 32); } |
| 5775 __ai int16x8_t vminq_s16(int16x8_t __a, int16x8_t __b) { |
| 5776 return (int16x8_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 5777 __ai int32x4_t vminq_s32(int32x4_t __a, int32x4_t __b) { |
| 5778 return (int32x4_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 5779 __ai uint8x16_t vminq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 5780 return (uint8x16_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 48);
} |
| 5781 __ai uint16x8_t vminq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 5782 return (uint16x8_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 49);
} |
| 5783 __ai uint32x4_t vminq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 5784 return (uint32x4_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 50);
} |
| 5785 __ai float32x4_t vminq_f32(float32x4_t __a, float32x4_t __b) { |
| 5786 return (float32x4_t)__builtin_neon_vminq_v((int8x16_t)__a, (int8x16_t)__b, 41)
; } |
| 5787 |
| 5788 #if defined(__aarch64__) |
| 5789 __ai int8_t vminv_s8(int8x8_t __a) { |
| 5790 return (int8_t)__builtin_neon_vminv_s8(__a); } |
| 5791 __ai int16_t vminv_s16(int16x4_t __a) { |
| 5792 return (int16_t)__builtin_neon_vminv_s16(__a); } |
| 5793 __ai int32_t vminv_s32(int32x2_t __a) { |
| 5794 return (int32_t)__builtin_neon_vminv_s32(__a); } |
| 5795 __ai float32_t vminv_f32(float32x2_t __a) { |
| 5796 return (float32_t)__builtin_neon_vminv_f32(__a); } |
| 5797 __ai uint8_t vminv_u8(uint8x8_t __a) { |
| 5798 return (uint8_t)__builtin_neon_vminv_u8((int8x8_t)__a); } |
| 5799 __ai uint16_t vminv_u16(uint16x4_t __a) { |
| 5800 return (uint16_t)__builtin_neon_vminv_u16((int16x4_t)__a); } |
| 5801 __ai uint32_t vminv_u32(uint32x2_t __a) { |
| 5802 return (uint32_t)__builtin_neon_vminv_u32((int32x2_t)__a); } |
| 5803 __ai int8_t vminvq_s8(int8x16_t __a) { |
| 5804 return (int8_t)__builtin_neon_vminvq_s8(__a); } |
| 5805 __ai int16_t vminvq_s16(int16x8_t __a) { |
| 5806 return (int16_t)__builtin_neon_vminvq_s16(__a); } |
| 5807 __ai int32_t vminvq_s32(int32x4_t __a) { |
| 5808 return (int32_t)__builtin_neon_vminvq_s32(__a); } |
| 5809 __ai uint8_t vminvq_u8(uint8x16_t __a) { |
| 5810 return (uint8_t)__builtin_neon_vminvq_u8((int8x16_t)__a); } |
| 5811 __ai uint16_t vminvq_u16(uint16x8_t __a) { |
| 5812 return (uint16_t)__builtin_neon_vminvq_u16((int16x8_t)__a); } |
| 5813 __ai uint32_t vminvq_u32(uint32x4_t __a) { |
| 5814 return (uint32_t)__builtin_neon_vminvq_u32((int32x4_t)__a); } |
| 5815 __ai float32_t vminvq_f32(float32x4_t __a) { |
| 5816 return (float32_t)__builtin_neon_vminvq_f32(__a); } |
| 5817 __ai float64_t vminvq_f64(float64x2_t __a) { |
| 5818 return (float64_t)__builtin_neon_vminvq_f64(__a); } |
| 5819 |
| 5820 #endif |
| 5821 |
| 5822 __ai int8x8_t vmla_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) { |
| 5823 return __a + (__b * __c); } |
| 5824 __ai int16x4_t vmla_s16(int16x4_t __a, int16x4_t __b, int16x4_t __c) { |
| 5825 return __a + (__b * __c); } |
| 5826 __ai int32x2_t vmla_s32(int32x2_t __a, int32x2_t __b, int32x2_t __c) { |
| 5827 return __a + (__b * __c); } |
| 5828 __ai float32x2_t vmla_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) { |
| 5829 return __a + (__b * __c); } |
| 5830 __ai uint8x8_t vmla_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { |
| 5831 return __a + (__b * __c); } |
| 5832 __ai uint16x4_t vmla_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { |
| 5833 return __a + (__b * __c); } |
| 5834 __ai uint32x2_t vmla_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { |
| 5835 return __a + (__b * __c); } |
| 5836 __ai int8x16_t vmlaq_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) { |
| 5837 return __a + (__b * __c); } |
| 5838 __ai int16x8_t vmlaq_s16(int16x8_t __a, int16x8_t __b, int16x8_t __c) { |
| 5839 return __a + (__b * __c); } |
| 5840 __ai int32x4_t vmlaq_s32(int32x4_t __a, int32x4_t __b, int32x4_t __c) { |
| 5841 return __a + (__b * __c); } |
| 5842 __ai float32x4_t vmlaq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) { |
| 5843 return __a + (__b * __c); } |
| 5844 __ai uint8x16_t vmlaq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { |
| 5845 return __a + (__b * __c); } |
| 5846 __ai uint16x8_t vmlaq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { |
| 5847 return __a + (__b * __c); } |
| 5848 __ai uint32x4_t vmlaq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { |
| 5849 return __a + (__b * __c); } |
| 5850 |
| 5851 __ai int16x8_t vmlal_s8(int16x8_t __a, int8x8_t __b, int8x8_t __c) { |
| 5852 return __a + vmull_s8(__b, __c); } |
| 5853 __ai int32x4_t vmlal_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) { |
| 5854 return __a + vmull_s16(__b, __c); } |
| 5855 __ai int64x2_t vmlal_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) { |
| 5856 return __a + vmull_s32(__b, __c); } |
| 5857 __ai uint16x8_t vmlal_u8(uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) { |
| 5858 return __a + vmull_u8(__b, __c); } |
| 5859 __ai uint32x4_t vmlal_u16(uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) { |
| 5860 return __a + vmull_u16(__b, __c); } |
| 5861 __ai uint64x2_t vmlal_u32(uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) { |
| 5862 return __a + vmull_u32(__b, __c); } |
| 5863 |
| 5864 #if defined(__aarch64__) |
| 5865 __ai int16x8_t vmlal_high_s8(int16x8_t __a, int8x16_t __b, int8x16_t __c) { |
| 5866 return vmlal_s8(__a, vget_high_s8(__b), vget_high_s8(__c)); } |
| 5867 __ai int32x4_t vmlal_high_s16(int32x4_t __a, int16x8_t __b, int16x8_t __c) { |
| 5868 return vmlal_s16(__a, vget_high_s16(__b), vget_high_s16(__c)); } |
| 5869 __ai int64x2_t vmlal_high_s32(int64x2_t __a, int32x4_t __b, int32x4_t __c) { |
| 5870 return vmlal_s32(__a, vget_high_s32(__b), vget_high_s32(__c)); } |
| 5871 __ai uint16x8_t vmlal_high_u8(uint16x8_t __a, uint8x16_t __b, uint8x16_t __c) { |
| 5872 return vmlal_u8(__a, vget_high_u8(__b), vget_high_u8(__c)); } |
| 5873 __ai uint32x4_t vmlal_high_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __c) { |
| 5874 return vmlal_u16(__a, vget_high_u16(__b), vget_high_u16(__c)); } |
| 5875 __ai uint64x2_t vmlal_high_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __c) { |
| 5876 return vmlal_u32(__a, vget_high_u32(__b), vget_high_u32(__c)); } |
| 5877 |
| 5878 #define vmlal_high_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 5879 int32x4_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \ |
| 5880 __a + vmull_s16(vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __d
, __d, __d)); }) |
| 5881 #define vmlal_high_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 5882 int64x2_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \ |
| 5883 __a + vmull_s32(vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __d
)); }) |
| 5884 #define vmlal_high_lane_u16(a, b, c, __d) __extension__ ({ \ |
| 5885 uint32x4_t __a = (a); uint16x8_t __b = (b); uint16x4_t __c = (c); \ |
| 5886 __a + vmull_u16(vget_high_u16(__b), __builtin_shufflevector(__c, __c, __d, __d
, __d, __d)); }) |
| 5887 #define vmlal_high_lane_u32(a, b, c, __d) __extension__ ({ \ |
| 5888 uint64x2_t __a = (a); uint32x4_t __b = (b); uint32x2_t __c = (c); \ |
| 5889 __a + vmull_u32(vget_high_u32(__b), __builtin_shufflevector(__c, __c, __d, __d
)); }) |
| 5890 |
| 5891 #define vmlal_high_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 5892 int32x4_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \ |
| 5893 __a + vmull_s16(vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __d
, __d, __d)); }) |
| 5894 #define vmlal_high_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 5895 int64x2_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \ |
| 5896 __a + vmull_s32(vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __d
)); }) |
| 5897 #define vmlal_high_laneq_u16(a, b, c, __d) __extension__ ({ \ |
| 5898 uint32x4_t __a = (a); uint16x8_t __b = (b); uint16x8_t __c = (c); \ |
| 5899 __a + vmull_u16(vget_high_u16(__b), __builtin_shufflevector(__c, __c, __d, __d
, __d, __d)); }) |
| 5900 #define vmlal_high_laneq_u32(a, b, c, __d) __extension__ ({ \ |
| 5901 uint64x2_t __a = (a); uint32x4_t __b = (b); uint32x4_t __c = (c); \ |
| 5902 __a + vmull_u32(vget_high_u32(__b), __builtin_shufflevector(__c, __c, __d, __d
)); }) |
| 5903 |
| 5904 __ai int32x4_t vmlal_high_n_s16(int32x4_t __a, int16x8_t __b, int16_t __c) { |
| 5905 return vmlal_n_s16(__a, vget_high_s16(__b), __c); } |
| 5906 __ai int64x2_t vmlal_high_n_s32(int64x2_t __a, int32x4_t __b, int32_t __c) { |
| 5907 return vmlal_n_s32(__a, vget_high_s32(__b), __c); } |
| 5908 __ai uint32x4_t vmlal_high_n_u16(uint32x4_t __a, uint16x8_t __b, uint16_t __c) { |
| 5909 return vmlal_n_u16(__a, vget_high_u16(__b), __c); } |
| 5910 __ai uint64x2_t vmlal_high_n_u32(uint64x2_t __a, uint32x4_t __b, uint32_t __c) { |
| 5911 return vmlal_n_u32(__a, vget_high_u32(__b), __c); } |
| 5912 |
| 5913 #endif |
| 5914 |
| 5915 #define vmlal_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 5916 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \ |
| 5917 __a + vmull_s16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }
) |
| 5918 #define vmlal_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 5919 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \ |
| 5920 __a + vmull_s32(__b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 5921 #define vmlal_lane_u16(a, b, c, __d) __extension__ ({ \ |
| 5922 uint32x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \ |
| 5923 __a + vmull_u16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }
) |
| 5924 #define vmlal_lane_u32(a, b, c, __d) __extension__ ({ \ |
| 5925 uint64x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \ |
| 5926 __a + vmull_u32(__b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 5927 |
| 5928 #if defined(__aarch64__) |
| 5929 #define vmlal_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 5930 int32x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \ |
| 5931 __a + vmull_s16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }
) |
| 5932 #define vmlal_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 5933 int64x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \ |
| 5934 __a + vmull_s32(__b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 5935 #define vmlal_laneq_u16(a, b, c, __d) __extension__ ({ \ |
| 5936 uint32x4_t __a = (a); uint16x4_t __b = (b); uint16x8_t __c = (c); \ |
| 5937 __a + vmull_u16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }
) |
| 5938 #define vmlal_laneq_u32(a, b, c, __d) __extension__ ({ \ |
| 5939 uint64x2_t __a = (a); uint32x2_t __b = (b); uint32x4_t __c = (c); \ |
| 5940 __a + vmull_u32(__b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 5941 |
| 5942 #endif |
| 5943 |
| 5944 #define vmla_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 5945 int16x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \ |
| 5946 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 5947 #define vmla_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 5948 int32x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \ |
| 5949 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 5950 #define vmla_lane_u16(a, b, c, __d) __extension__ ({ \ |
| 5951 uint16x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \ |
| 5952 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 5953 #define vmla_lane_u32(a, b, c, __d) __extension__ ({ \ |
| 5954 uint32x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \ |
| 5955 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 5956 #define vmla_lane_f32(a, b, c, __d) __extension__ ({ \ |
| 5957 float32x2_t __a = (a); float32x2_t __b = (b); float32x2_t __c = (c); \ |
| 5958 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 5959 #define vmlaq_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 5960 int16x8_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \ |
| 5961 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _
_d, __d)); }) |
| 5962 #define vmlaq_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 5963 int32x4_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \ |
| 5964 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 5965 #define vmlaq_lane_u16(a, b, c, __d) __extension__ ({ \ |
| 5966 uint16x8_t __a = (a); uint16x8_t __b = (b); uint16x4_t __c = (c); \ |
| 5967 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _
_d, __d)); }) |
| 5968 #define vmlaq_lane_u32(a, b, c, __d) __extension__ ({ \ |
| 5969 uint32x4_t __a = (a); uint32x4_t __b = (b); uint32x2_t __c = (c); \ |
| 5970 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 5971 #define vmlaq_lane_f32(a, b, c, __d) __extension__ ({ \ |
| 5972 float32x4_t __a = (a); float32x4_t __b = (b); float32x2_t __c = (c); \ |
| 5973 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 5974 |
| 5975 #if defined(__aarch64__) |
| 5976 #define vmla_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 5977 int16x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \ |
| 5978 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 5979 #define vmla_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 5980 int32x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \ |
| 5981 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 5982 #define vmla_laneq_u16(a, b, c, __d) __extension__ ({ \ |
| 5983 uint16x4_t __a = (a); uint16x4_t __b = (b); uint16x8_t __c = (c); \ |
| 5984 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 5985 #define vmla_laneq_u32(a, b, c, __d) __extension__ ({ \ |
| 5986 uint32x2_t __a = (a); uint32x2_t __b = (b); uint32x4_t __c = (c); \ |
| 5987 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 5988 #define vmla_laneq_f32(a, b, c, __d) __extension__ ({ \ |
| 5989 float32x2_t __a = (a); float32x2_t __b = (b); float32x4_t __c = (c); \ |
| 5990 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 5991 #define vmlaq_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 5992 int16x8_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \ |
| 5993 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _
_d, __d)); }) |
| 5994 #define vmlaq_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 5995 int32x4_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \ |
| 5996 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 5997 #define vmlaq_laneq_u16(a, b, c, __d) __extension__ ({ \ |
| 5998 uint16x8_t __a = (a); uint16x8_t __b = (b); uint16x8_t __c = (c); \ |
| 5999 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _
_d, __d)); }) |
| 6000 #define vmlaq_laneq_u32(a, b, c, __d) __extension__ ({ \ |
| 6001 uint32x4_t __a = (a); uint32x4_t __b = (b); uint32x4_t __c = (c); \ |
| 6002 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6003 #define vmlaq_laneq_f32(a, b, c, __d) __extension__ ({ \ |
| 6004 float32x4_t __a = (a); float32x4_t __b = (b); float32x4_t __c = (c); \ |
| 6005 __a + (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6006 |
| 6007 #endif |
| 6008 |
| 6009 __ai int16x4_t vmla_n_s16(int16x4_t __a, int16x4_t __b, int16_t __c) { |
| 6010 return __a + (__b * (int16x4_t){ __c, __c, __c, __c }); } |
| 6011 __ai int32x2_t vmla_n_s32(int32x2_t __a, int32x2_t __b, int32_t __c) { |
| 6012 return __a + (__b * (int32x2_t){ __c, __c }); } |
| 6013 __ai uint16x4_t vmla_n_u16(uint16x4_t __a, uint16x4_t __b, uint16_t __c) { |
| 6014 return __a + (__b * (uint16x4_t){ __c, __c, __c, __c }); } |
| 6015 __ai uint32x2_t vmla_n_u32(uint32x2_t __a, uint32x2_t __b, uint32_t __c) { |
| 6016 return __a + (__b * (uint32x2_t){ __c, __c }); } |
| 6017 __ai float32x2_t vmla_n_f32(float32x2_t __a, float32x2_t __b, float32_t __c) { |
| 6018 return __a + (__b * (float32x2_t){ __c, __c }); } |
| 6019 __ai int16x8_t vmlaq_n_s16(int16x8_t __a, int16x8_t __b, int16_t __c) { |
| 6020 return __a + (__b * (int16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); } |
| 6021 __ai int32x4_t vmlaq_n_s32(int32x4_t __a, int32x4_t __b, int32_t __c) { |
| 6022 return __a + (__b * (int32x4_t){ __c, __c, __c, __c }); } |
| 6023 __ai uint16x8_t vmlaq_n_u16(uint16x8_t __a, uint16x8_t __b, uint16_t __c) { |
| 6024 return __a + (__b * (uint16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); } |
| 6025 __ai uint32x4_t vmlaq_n_u32(uint32x4_t __a, uint32x4_t __b, uint32_t __c) { |
| 6026 return __a + (__b * (uint32x4_t){ __c, __c, __c, __c }); } |
| 6027 __ai float32x4_t vmlaq_n_f32(float32x4_t __a, float32x4_t __b, float32_t __c) { |
| 6028 return __a + (__b * (float32x4_t){ __c, __c, __c, __c }); } |
| 6029 |
| 6030 __ai int8x8_t vmls_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) { |
| 6031 return __a - (__b * __c); } |
| 6032 __ai int16x4_t vmls_s16(int16x4_t __a, int16x4_t __b, int16x4_t __c) { |
| 6033 return __a - (__b * __c); } |
| 6034 __ai int32x2_t vmls_s32(int32x2_t __a, int32x2_t __b, int32x2_t __c) { |
| 6035 return __a - (__b * __c); } |
| 6036 __ai float32x2_t vmls_f32(float32x2_t __a, float32x2_t __b, float32x2_t __c) { |
| 6037 return __a - (__b * __c); } |
| 6038 __ai uint8x8_t vmls_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { |
| 6039 return __a - (__b * __c); } |
| 6040 __ai uint16x4_t vmls_u16(uint16x4_t __a, uint16x4_t __b, uint16x4_t __c) { |
| 6041 return __a - (__b * __c); } |
| 6042 __ai uint32x2_t vmls_u32(uint32x2_t __a, uint32x2_t __b, uint32x2_t __c) { |
| 6043 return __a - (__b * __c); } |
| 6044 __ai int8x16_t vmlsq_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) { |
| 6045 return __a - (__b * __c); } |
| 6046 __ai int16x8_t vmlsq_s16(int16x8_t __a, int16x8_t __b, int16x8_t __c) { |
| 6047 return __a - (__b * __c); } |
| 6048 __ai int32x4_t vmlsq_s32(int32x4_t __a, int32x4_t __b, int32x4_t __c) { |
| 6049 return __a - (__b * __c); } |
| 6050 __ai float32x4_t vmlsq_f32(float32x4_t __a, float32x4_t __b, float32x4_t __c) { |
| 6051 return __a - (__b * __c); } |
| 6052 __ai uint8x16_t vmlsq_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { |
| 6053 return __a - (__b * __c); } |
| 6054 __ai uint16x8_t vmlsq_u16(uint16x8_t __a, uint16x8_t __b, uint16x8_t __c) { |
| 6055 return __a - (__b * __c); } |
| 6056 __ai uint32x4_t vmlsq_u32(uint32x4_t __a, uint32x4_t __b, uint32x4_t __c) { |
| 6057 return __a - (__b * __c); } |
| 6058 |
| 6059 __ai int16x8_t vmlsl_s8(int16x8_t __a, int8x8_t __b, int8x8_t __c) { |
| 6060 return __a - vmull_s8(__b, __c); } |
| 6061 __ai int32x4_t vmlsl_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) { |
| 6062 return __a - vmull_s16(__b, __c); } |
| 6063 __ai int64x2_t vmlsl_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) { |
| 6064 return __a - vmull_s32(__b, __c); } |
| 6065 __ai uint16x8_t vmlsl_u8(uint16x8_t __a, uint8x8_t __b, uint8x8_t __c) { |
| 6066 return __a - vmull_u8(__b, __c); } |
| 6067 __ai uint32x4_t vmlsl_u16(uint32x4_t __a, uint16x4_t __b, uint16x4_t __c) { |
| 6068 return __a - vmull_u16(__b, __c); } |
| 6069 __ai uint64x2_t vmlsl_u32(uint64x2_t __a, uint32x2_t __b, uint32x2_t __c) { |
| 6070 return __a - vmull_u32(__b, __c); } |
| 6071 |
| 6072 #if defined(__aarch64__) |
| 6073 __ai int16x8_t vmlsl_high_s8(int16x8_t __a, int8x16_t __b, int8x16_t __c) { |
| 6074 return vmlsl_s8(__a, vget_high_s8(__b), vget_high_s8(__c)); } |
| 6075 __ai int32x4_t vmlsl_high_s16(int32x4_t __a, int16x8_t __b, int16x8_t __c) { |
| 6076 return vmlsl_s16(__a, vget_high_s16(__b), vget_high_s16(__c)); } |
| 6077 __ai int64x2_t vmlsl_high_s32(int64x2_t __a, int32x4_t __b, int32x4_t __c) { |
| 6078 return vmlsl_s32(__a, vget_high_s32(__b), vget_high_s32(__c)); } |
| 6079 __ai uint16x8_t vmlsl_high_u8(uint16x8_t __a, uint8x16_t __b, uint8x16_t __c) { |
| 6080 return vmlsl_u8(__a, vget_high_u8(__b), vget_high_u8(__c)); } |
| 6081 __ai uint32x4_t vmlsl_high_u16(uint32x4_t __a, uint16x8_t __b, uint16x8_t __c) { |
| 6082 return vmlsl_u16(__a, vget_high_u16(__b), vget_high_u16(__c)); } |
| 6083 __ai uint64x2_t vmlsl_high_u32(uint64x2_t __a, uint32x4_t __b, uint32x4_t __c) { |
| 6084 return vmlsl_u32(__a, vget_high_u32(__b), vget_high_u32(__c)); } |
| 6085 |
| 6086 #define vmlsl_high_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 6087 int32x4_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \ |
| 6088 __a - vmull_s16(vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __d
, __d, __d)); }) |
| 6089 #define vmlsl_high_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 6090 int64x2_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \ |
| 6091 __a - vmull_s32(vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __d
)); }) |
| 6092 #define vmlsl_high_lane_u16(a, b, c, __d) __extension__ ({ \ |
| 6093 uint32x4_t __a = (a); uint16x8_t __b = (b); uint16x4_t __c = (c); \ |
| 6094 __a - vmull_u16(vget_high_u16(__b), __builtin_shufflevector(__c, __c, __d, __d
, __d, __d)); }) |
| 6095 #define vmlsl_high_lane_u32(a, b, c, __d) __extension__ ({ \ |
| 6096 uint64x2_t __a = (a); uint32x4_t __b = (b); uint32x2_t __c = (c); \ |
| 6097 __a - vmull_u32(vget_high_u32(__b), __builtin_shufflevector(__c, __c, __d, __d
)); }) |
| 6098 |
| 6099 #define vmlsl_high_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 6100 int32x4_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \ |
| 6101 __a - vmull_s16(vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __d
, __d, __d)); }) |
| 6102 #define vmlsl_high_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 6103 int64x2_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \ |
| 6104 __a - vmull_s32(vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __d
)); }) |
| 6105 #define vmlsl_high_laneq_u16(a, b, c, __d) __extension__ ({ \ |
| 6106 uint32x4_t __a = (a); uint16x8_t __b = (b); uint16x8_t __c = (c); \ |
| 6107 __a - vmull_u16(vget_high_u16(__b), __builtin_shufflevector(__c, __c, __d, __d
, __d, __d)); }) |
| 6108 #define vmlsl_high_laneq_u32(a, b, c, __d) __extension__ ({ \ |
| 6109 uint64x2_t __a = (a); uint32x4_t __b = (b); uint32x4_t __c = (c); \ |
| 6110 __a - vmull_u32(vget_high_u32(__b), __builtin_shufflevector(__c, __c, __d, __d
)); }) |
| 6111 |
| 6112 __ai int32x4_t vmlsl_high_n_s16(int32x4_t __a, int16x8_t __b, int16_t __c) { |
| 6113 return vmlsl_n_s16(__a, vget_high_s16(__b), __c); } |
| 6114 __ai int64x2_t vmlsl_high_n_s32(int64x2_t __a, int32x4_t __b, int32_t __c) { |
| 6115 return vmlsl_n_s32(__a, vget_high_s32(__b), __c); } |
| 6116 __ai uint32x4_t vmlsl_high_n_u16(uint32x4_t __a, uint16x8_t __b, uint16_t __c) { |
| 6117 return vmlsl_n_u16(__a, vget_high_u16(__b), __c); } |
| 6118 __ai uint64x2_t vmlsl_high_n_u32(uint64x2_t __a, uint32x4_t __b, uint32_t __c) { |
| 6119 return vmlsl_n_u32(__a, vget_high_u32(__b), __c); } |
| 6120 |
| 6121 #endif |
| 6122 |
| 6123 #define vmlsl_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 6124 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \ |
| 6125 __a - vmull_s16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }
) |
| 6126 #define vmlsl_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 6127 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \ |
| 6128 __a - vmull_s32(__b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6129 #define vmlsl_lane_u16(a, b, c, __d) __extension__ ({ \ |
| 6130 uint32x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \ |
| 6131 __a - vmull_u16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }
) |
| 6132 #define vmlsl_lane_u32(a, b, c, __d) __extension__ ({ \ |
| 6133 uint64x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \ |
| 6134 __a - vmull_u32(__b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6135 |
| 6136 #if defined(__aarch64__) |
| 6137 #define vmlsl_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 6138 int32x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \ |
| 6139 __a - vmull_s16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }
) |
| 6140 #define vmlsl_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 6141 int64x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \ |
| 6142 __a - vmull_s32(__b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6143 #define vmlsl_laneq_u16(a, b, c, __d) __extension__ ({ \ |
| 6144 uint32x4_t __a = (a); uint16x4_t __b = (b); uint16x8_t __c = (c); \ |
| 6145 __a - vmull_u16(__b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }
) |
| 6146 #define vmlsl_laneq_u32(a, b, c, __d) __extension__ ({ \ |
| 6147 uint64x2_t __a = (a); uint32x2_t __b = (b); uint32x4_t __c = (c); \ |
| 6148 __a - vmull_u32(__b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6149 |
| 6150 #endif |
| 6151 |
| 6152 #define vmls_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 6153 int16x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \ |
| 6154 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6155 #define vmls_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 6156 int32x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \ |
| 6157 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6158 #define vmls_lane_u16(a, b, c, __d) __extension__ ({ \ |
| 6159 uint16x4_t __a = (a); uint16x4_t __b = (b); uint16x4_t __c = (c); \ |
| 6160 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6161 #define vmls_lane_u32(a, b, c, __d) __extension__ ({ \ |
| 6162 uint32x2_t __a = (a); uint32x2_t __b = (b); uint32x2_t __c = (c); \ |
| 6163 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6164 #define vmls_lane_f32(a, b, c, __d) __extension__ ({ \ |
| 6165 float32x2_t __a = (a); float32x2_t __b = (b); float32x2_t __c = (c); \ |
| 6166 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6167 #define vmlsq_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 6168 int16x8_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \ |
| 6169 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _
_d, __d)); }) |
| 6170 #define vmlsq_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 6171 int32x4_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \ |
| 6172 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6173 #define vmlsq_lane_u16(a, b, c, __d) __extension__ ({ \ |
| 6174 uint16x8_t __a = (a); uint16x8_t __b = (b); uint16x4_t __c = (c); \ |
| 6175 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _
_d, __d)); }) |
| 6176 #define vmlsq_lane_u32(a, b, c, __d) __extension__ ({ \ |
| 6177 uint32x4_t __a = (a); uint32x4_t __b = (b); uint32x2_t __c = (c); \ |
| 6178 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6179 #define vmlsq_lane_f32(a, b, c, __d) __extension__ ({ \ |
| 6180 float32x4_t __a = (a); float32x4_t __b = (b); float32x2_t __c = (c); \ |
| 6181 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6182 |
| 6183 #if defined(__aarch64__) |
| 6184 #define vmls_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 6185 int16x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \ |
| 6186 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6187 #define vmls_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 6188 int32x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \ |
| 6189 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6190 #define vmls_laneq_u16(a, b, c, __d) __extension__ ({ \ |
| 6191 uint16x4_t __a = (a); uint16x4_t __b = (b); uint16x8_t __c = (c); \ |
| 6192 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6193 #define vmls_laneq_u32(a, b, c, __d) __extension__ ({ \ |
| 6194 uint32x2_t __a = (a); uint32x2_t __b = (b); uint32x4_t __c = (c); \ |
| 6195 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6196 #define vmls_laneq_f32(a, b, c, __d) __extension__ ({ \ |
| 6197 float32x2_t __a = (a); float32x2_t __b = (b); float32x4_t __c = (c); \ |
| 6198 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6199 #define vmlsq_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 6200 int16x8_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \ |
| 6201 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _
_d, __d)); }) |
| 6202 #define vmlsq_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 6203 int32x4_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \ |
| 6204 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6205 #define vmlsq_laneq_u16(a, b, c, __d) __extension__ ({ \ |
| 6206 uint16x8_t __a = (a); uint16x8_t __b = (b); uint16x8_t __c = (c); \ |
| 6207 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d, __d, __d, _
_d, __d)); }) |
| 6208 #define vmlsq_laneq_u32(a, b, c, __d) __extension__ ({ \ |
| 6209 uint32x4_t __a = (a); uint32x4_t __b = (b); uint32x4_t __c = (c); \ |
| 6210 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6211 #define vmlsq_laneq_f32(a, b, c, __d) __extension__ ({ \ |
| 6212 float32x4_t __a = (a); float32x4_t __b = (b); float32x4_t __c = (c); \ |
| 6213 __a - (__b * __builtin_shufflevector(__c, __c, __d, __d, __d, __d)); }) |
| 6214 |
| 6215 #endif |
| 6216 |
| 6217 __ai int16x4_t vmls_n_s16(int16x4_t __a, int16x4_t __b, int16_t __c) { |
| 6218 return __a - (__b * (int16x4_t){ __c, __c, __c, __c }); } |
| 6219 __ai int32x2_t vmls_n_s32(int32x2_t __a, int32x2_t __b, int32_t __c) { |
| 6220 return __a - (__b * (int32x2_t){ __c, __c }); } |
| 6221 __ai uint16x4_t vmls_n_u16(uint16x4_t __a, uint16x4_t __b, uint16_t __c) { |
| 6222 return __a - (__b * (uint16x4_t){ __c, __c, __c, __c }); } |
| 6223 __ai uint32x2_t vmls_n_u32(uint32x2_t __a, uint32x2_t __b, uint32_t __c) { |
| 6224 return __a - (__b * (uint32x2_t){ __c, __c }); } |
| 6225 __ai float32x2_t vmls_n_f32(float32x2_t __a, float32x2_t __b, float32_t __c) { |
| 6226 return __a - (__b * (float32x2_t){ __c, __c }); } |
| 6227 __ai int16x8_t vmlsq_n_s16(int16x8_t __a, int16x8_t __b, int16_t __c) { |
| 6228 return __a - (__b * (int16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); } |
| 6229 __ai int32x4_t vmlsq_n_s32(int32x4_t __a, int32x4_t __b, int32_t __c) { |
| 6230 return __a - (__b * (int32x4_t){ __c, __c, __c, __c }); } |
| 6231 __ai uint16x8_t vmlsq_n_u16(uint16x8_t __a, uint16x8_t __b, uint16_t __c) { |
| 6232 return __a - (__b * (uint16x8_t){ __c, __c, __c, __c, __c, __c, __c, __c }); } |
| 6233 __ai uint32x4_t vmlsq_n_u32(uint32x4_t __a, uint32x4_t __b, uint32_t __c) { |
| 6234 return __a - (__b * (uint32x4_t){ __c, __c, __c, __c }); } |
| 6235 __ai float32x4_t vmlsq_n_f32(float32x4_t __a, float32x4_t __b, float32_t __c) { |
| 6236 return __a - (__b * (float32x4_t){ __c, __c, __c, __c }); } |
| 6237 |
| 6238 __ai int8x8_t vmovn_s16(int16x8_t __a) { |
| 6239 return (int8x8_t)__builtin_neon_vmovn_v((int8x16_t)__a, 0); } |
| 6240 __ai int16x4_t vmovn_s32(int32x4_t __a) { |
| 6241 return (int16x4_t)__builtin_neon_vmovn_v((int8x16_t)__a, 1); } |
| 6242 __ai int32x2_t vmovn_s64(int64x2_t __a) { |
| 6243 return (int32x2_t)__builtin_neon_vmovn_v((int8x16_t)__a, 2); } |
| 6244 __ai uint8x8_t vmovn_u16(uint16x8_t __a) { |
| 6245 return (uint8x8_t)__builtin_neon_vmovn_v((int8x16_t)__a, 16); } |
| 6246 __ai uint16x4_t vmovn_u32(uint32x4_t __a) { |
| 6247 return (uint16x4_t)__builtin_neon_vmovn_v((int8x16_t)__a, 17); } |
| 6248 __ai uint32x2_t vmovn_u64(uint64x2_t __a) { |
| 6249 return (uint32x2_t)__builtin_neon_vmovn_v((int8x16_t)__a, 18); } |
| 6250 |
| 6251 __ai uint8x8_t vmov_n_u8(uint8_t __a) { |
| 6252 return (uint8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 6253 __ai uint16x4_t vmov_n_u16(uint16_t __a) { |
| 6254 return (uint16x4_t){ __a, __a, __a, __a }; } |
| 6255 __ai uint32x2_t vmov_n_u32(uint32_t __a) { |
| 6256 return (uint32x2_t){ __a, __a }; } |
| 6257 __ai int8x8_t vmov_n_s8(int8_t __a) { |
| 6258 return (int8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 6259 __ai int16x4_t vmov_n_s16(int16_t __a) { |
| 6260 return (int16x4_t){ __a, __a, __a, __a }; } |
| 6261 __ai int32x2_t vmov_n_s32(int32_t __a) { |
| 6262 return (int32x2_t){ __a, __a }; } |
| 6263 __ai poly8x8_t vmov_n_p8(poly8_t __a) { |
| 6264 return (poly8x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 6265 __ai poly16x4_t vmov_n_p16(poly16_t __a) { |
| 6266 return (poly16x4_t){ __a, __a, __a, __a }; } |
| 6267 #define vmov_n_f16(a) __extension__ ({ \ |
| 6268 float16_t __a = (a); \ |
| 6269 (float16x4_t){ __a, __a, __a, __a }; }) |
| 6270 __ai float32x2_t vmov_n_f32(float32_t __a) { |
| 6271 return (float32x2_t){ __a, __a }; } |
| 6272 __ai uint8x16_t vmovq_n_u8(uint8_t __a) { |
| 6273 return (uint8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __
a, __a, __a, __a, __a }; } |
| 6274 __ai uint16x8_t vmovq_n_u16(uint16_t __a) { |
| 6275 return (uint16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 6276 __ai uint32x4_t vmovq_n_u32(uint32_t __a) { |
| 6277 return (uint32x4_t){ __a, __a, __a, __a }; } |
| 6278 __ai int8x16_t vmovq_n_s8(int8_t __a) { |
| 6279 return (int8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a
, __a, __a, __a, __a }; } |
| 6280 __ai int16x8_t vmovq_n_s16(int16_t __a) { |
| 6281 return (int16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 6282 __ai int32x4_t vmovq_n_s32(int32_t __a) { |
| 6283 return (int32x4_t){ __a, __a, __a, __a }; } |
| 6284 __ai poly8x16_t vmovq_n_p8(poly8_t __a) { |
| 6285 return (poly8x16_t){ __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __a, __
a, __a, __a, __a, __a }; } |
| 6286 __ai poly16x8_t vmovq_n_p16(poly16_t __a) { |
| 6287 return (poly16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; } |
| 6288 #define vmovq_n_f16(a) __extension__ ({ \ |
| 6289 float16_t __a = (a); \ |
| 6290 (float16x8_t){ __a, __a, __a, __a, __a, __a, __a, __a }; }) |
| 6291 __ai float32x4_t vmovq_n_f32(float32_t __a) { |
| 6292 return (float32x4_t){ __a, __a, __a, __a }; } |
| 6293 __ai int64x1_t vmov_n_s64(int64_t __a) { |
| 6294 return (int64x1_t){ __a }; } |
| 6295 __ai uint64x1_t vmov_n_u64(uint64_t __a) { |
| 6296 return (uint64x1_t){ __a }; } |
| 6297 __ai int64x2_t vmovq_n_s64(int64_t __a) { |
| 6298 return (int64x2_t){ __a, __a }; } |
| 6299 __ai uint64x2_t vmovq_n_u64(uint64_t __a) { |
| 6300 return (uint64x2_t){ __a, __a }; } |
| 6301 |
| 6302 __ai int8x8_t vmul_s8(int8x8_t __a, int8x8_t __b) { |
| 6303 return __a * __b; } |
| 6304 __ai int16x4_t vmul_s16(int16x4_t __a, int16x4_t __b) { |
| 6305 return __a * __b; } |
| 6306 __ai int32x2_t vmul_s32(int32x2_t __a, int32x2_t __b) { |
| 6307 return __a * __b; } |
| 6308 __ai float32x2_t vmul_f32(float32x2_t __a, float32x2_t __b) { |
| 6309 return __a * __b; } |
| 6310 __ai uint8x8_t vmul_u8(uint8x8_t __a, uint8x8_t __b) { |
| 6311 return __a * __b; } |
| 6312 __ai uint16x4_t vmul_u16(uint16x4_t __a, uint16x4_t __b) { |
| 6313 return __a * __b; } |
| 6314 __ai uint32x2_t vmul_u32(uint32x2_t __a, uint32x2_t __b) { |
| 6315 return __a * __b; } |
| 6316 __ai int8x16_t vmulq_s8(int8x16_t __a, int8x16_t __b) { |
| 6317 return __a * __b; } |
| 6318 __ai int16x8_t vmulq_s16(int16x8_t __a, int16x8_t __b) { |
| 6319 return __a * __b; } |
| 6320 __ai int32x4_t vmulq_s32(int32x4_t __a, int32x4_t __b) { |
| 6321 return __a * __b; } |
| 6322 __ai float32x4_t vmulq_f32(float32x4_t __a, float32x4_t __b) { |
| 6323 return __a * __b; } |
| 6324 __ai uint8x16_t vmulq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 6325 return __a * __b; } |
| 6326 __ai uint16x8_t vmulq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 6327 return __a * __b; } |
| 6328 __ai uint32x4_t vmulq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 6329 return __a * __b; } |
| 6330 |
| 6331 #if defined(__aarch64__) |
| 6332 __ai int16x8_t vmull_high_s8(int8x16_t __a, int8x16_t __b) { |
| 6333 return vmull_s8(vget_high_s8(__a), vget_high_s8(__b)); } |
| 6334 __ai int32x4_t vmull_high_s16(int16x8_t __a, int16x8_t __b) { |
| 6335 return vmull_s16(vget_high_s16(__a), vget_high_s16(__b)); } |
| 6336 __ai int64x2_t vmull_high_s32(int32x4_t __a, int32x4_t __b) { |
| 6337 return vmull_s32(vget_high_s32(__a), vget_high_s32(__b)); } |
| 6338 __ai uint16x8_t vmull_high_u8(uint8x16_t __a, uint8x16_t __b) { |
| 6339 return vmull_u8(vget_high_u8(__a), vget_high_u8(__b)); } |
| 6340 __ai uint32x4_t vmull_high_u16(uint16x8_t __a, uint16x8_t __b) { |
| 6341 return vmull_u16(vget_high_u16(__a), vget_high_u16(__b)); } |
| 6342 __ai uint64x2_t vmull_high_u32(uint32x4_t __a, uint32x4_t __b) { |
| 6343 return vmull_u32(vget_high_u32(__a), vget_high_u32(__b)); } |
| 6344 __ai poly16x8_t vmull_high_p8(poly8x16_t __a, poly8x16_t __b) { |
| 6345 return vmull_p8(vget_high_p8(__a), vget_high_p8(__b)); } |
| 6346 |
| 6347 #define vmull_high_lane_s16(a, b, __c) __extension__ ({ \ |
| 6348 int16x8_t __a = (a); int16x4_t __b = (b); \ |
| 6349 vmull_s16(vget_high_s16(__a), __builtin_shufflevector(__b, __b, __c, __c, __c,
__c)); }) |
| 6350 #define vmull_high_lane_s32(a, b, __c) __extension__ ({ \ |
| 6351 int32x4_t __a = (a); int32x2_t __b = (b); \ |
| 6352 vmull_s32(vget_high_s32(__a), __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6353 #define vmull_high_lane_u16(a, b, __c) __extension__ ({ \ |
| 6354 uint16x8_t __a = (a); uint16x4_t __b = (b); \ |
| 6355 vmull_u16(vget_high_u16(__a), __builtin_shufflevector(__b, __b, __c, __c, __c,
__c)); }) |
| 6356 #define vmull_high_lane_u32(a, b, __c) __extension__ ({ \ |
| 6357 uint32x4_t __a = (a); uint32x2_t __b = (b); \ |
| 6358 vmull_u32(vget_high_u32(__a), __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6359 |
| 6360 #define vmull_high_laneq_s16(a, b, __c) __extension__ ({ \ |
| 6361 int16x8_t __a = (a); int16x8_t __b = (b); \ |
| 6362 vmull_s16(vget_high_s16(__a), __builtin_shufflevector(__b, __b, __c, __c, __c,
__c)); }) |
| 6363 #define vmull_high_laneq_s32(a, b, __c) __extension__ ({ \ |
| 6364 int32x4_t __a = (a); int32x4_t __b = (b); \ |
| 6365 vmull_s32(vget_high_s32(__a), __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6366 #define vmull_high_laneq_u16(a, b, __c) __extension__ ({ \ |
| 6367 uint16x8_t __a = (a); uint16x8_t __b = (b); \ |
| 6368 vmull_u16(vget_high_u16(__a), __builtin_shufflevector(__b, __b, __c, __c, __c,
__c)); }) |
| 6369 #define vmull_high_laneq_u32(a, b, __c) __extension__ ({ \ |
| 6370 uint32x4_t __a = (a); uint32x4_t __b = (b); \ |
| 6371 vmull_u32(vget_high_u32(__a), __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6372 |
| 6373 __ai int32x4_t vmull_high_n_s16(int16x8_t __a, int16_t __b) { |
| 6374 return vmull_n_s16(vget_high_s16(__a), __b); } |
| 6375 __ai int64x2_t vmull_high_n_s32(int32x4_t __a, int32_t __b) { |
| 6376 return vmull_n_s32(vget_high_s32(__a), __b); } |
| 6377 __ai uint32x4_t vmull_high_n_u16(uint16x8_t __a, uint16_t __b) { |
| 6378 return vmull_n_u16(vget_high_u16(__a), __b); } |
| 6379 __ai uint64x2_t vmull_high_n_u32(uint32x4_t __a, uint32_t __b) { |
| 6380 return vmull_n_u32(vget_high_u32(__a), __b); } |
| 6381 |
| 6382 __ai poly128_t vmull_high_p64(poly64x2_t __a, poly64x2_t __b) { |
| 6383 return vmull_p64((poly64_t)vget_high_p64(__a), (poly64_t)vget_high_p64(__b));
} |
| 6384 |
| 6385 #endif |
| 6386 |
| 6387 #define vmull_lane_s16(a, b, __c) __extension__ ({ \ |
| 6388 int16x4_t __a = (a); int16x4_t __b = (b); \ |
| 6389 vmull_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6390 #define vmull_lane_s32(a, b, __c) __extension__ ({ \ |
| 6391 int32x2_t __a = (a); int32x2_t __b = (b); \ |
| 6392 vmull_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6393 #define vmull_lane_u16(a, b, __c) __extension__ ({ \ |
| 6394 uint16x4_t __a = (a); uint16x4_t __b = (b); \ |
| 6395 vmull_u16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6396 #define vmull_lane_u32(a, b, __c) __extension__ ({ \ |
| 6397 uint32x2_t __a = (a); uint32x2_t __b = (b); \ |
| 6398 vmull_u32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6399 |
| 6400 #if defined(__aarch64__) |
| 6401 #define vmull_laneq_s16(a, b, __c) __extension__ ({ \ |
| 6402 int16x4_t __a = (a); int16x8_t __b = (b); \ |
| 6403 vmull_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6404 #define vmull_laneq_s32(a, b, __c) __extension__ ({ \ |
| 6405 int32x2_t __a = (a); int32x4_t __b = (b); \ |
| 6406 vmull_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6407 #define vmull_laneq_u16(a, b, __c) __extension__ ({ \ |
| 6408 uint16x4_t __a = (a); uint16x8_t __b = (b); \ |
| 6409 vmull_u16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6410 #define vmull_laneq_u32(a, b, __c) __extension__ ({ \ |
| 6411 uint32x2_t __a = (a); uint32x4_t __b = (b); \ |
| 6412 vmull_u32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6413 |
| 6414 #endif |
| 6415 |
| 6416 __ai poly8x8_t vmul_p8(poly8x8_t __a, poly8x8_t __b) { |
| 6417 return (poly8x8_t)__builtin_neon_vmul_v((int8x8_t)__a, (int8x8_t)__b, 4); } |
| 6418 __ai poly8x16_t vmulq_p8(poly8x16_t __a, poly8x16_t __b) { |
| 6419 return (poly8x16_t)__builtin_neon_vmulq_v((int8x16_t)__a, (int8x16_t)__b, 36);
} |
| 6420 |
| 6421 #if defined(__aarch64__) |
| 6422 #define vmulx_lane_f32(a, b, __c) __extension__ ({ \ |
| 6423 float32x2_t __a = (a); float32x2_t __b = (b); \ |
| 6424 vmulx_f32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6425 #define vmulxq_lane_f32(a, b, __c) __extension__ ({ \ |
| 6426 float32x4_t __a = (a); float32x2_t __b = (b); \ |
| 6427 vmulxq_f32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6428 #define vmulxq_lane_f64(a, b, __c) __extension__ ({ \ |
| 6429 float64x2_t __a = (a); float64x1_t __b = (b); \ |
| 6430 vmulxq_f64(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6431 |
| 6432 #define vmulx_laneq_f32(a, b, __c) __extension__ ({ \ |
| 6433 float32x2_t __a = (a); float32x4_t __b = (b); \ |
| 6434 vmulx_f32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6435 #define vmulxq_laneq_f32(a, b, __c) __extension__ ({ \ |
| 6436 float32x4_t __a = (a); float32x4_t __b = (b); \ |
| 6437 vmulxq_f32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6438 #define vmulxq_laneq_f64(a, b, __c) __extension__ ({ \ |
| 6439 float64x2_t __a = (a); float64x2_t __b = (b); \ |
| 6440 vmulxq_f64(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6441 |
| 6442 #endif |
| 6443 |
| 6444 #define vmul_lane_s16(a, b, __c) __extension__ ({ \ |
| 6445 int16x4_t __a = (a); int16x4_t __b = (b); \ |
| 6446 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); }) |
| 6447 #define vmul_lane_s32(a, b, __c) __extension__ ({ \ |
| 6448 int32x2_t __a = (a); int32x2_t __b = (b); \ |
| 6449 __a * __builtin_shufflevector(__b, __b, __c, __c); }) |
| 6450 #define vmul_lane_f32(a, b, __c) __extension__ ({ \ |
| 6451 float32x2_t __a = (a); float32x2_t __b = (b); \ |
| 6452 __a * __builtin_shufflevector(__b, __b, __c, __c); }) |
| 6453 #define vmul_lane_u16(a, b, __c) __extension__ ({ \ |
| 6454 uint16x4_t __a = (a); uint16x4_t __b = (b); \ |
| 6455 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); }) |
| 6456 #define vmul_lane_u32(a, b, __c) __extension__ ({ \ |
| 6457 uint32x2_t __a = (a); uint32x2_t __b = (b); \ |
| 6458 __a * __builtin_shufflevector(__b, __b, __c, __c); }) |
| 6459 #define vmulq_lane_s16(a, b, __c) __extension__ ({ \ |
| 6460 int16x8_t __a = (a); int16x4_t __b = (b); \ |
| 6461 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c
); }) |
| 6462 #define vmulq_lane_s32(a, b, __c) __extension__ ({ \ |
| 6463 int32x4_t __a = (a); int32x2_t __b = (b); \ |
| 6464 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); }) |
| 6465 #define vmulq_lane_f32(a, b, __c) __extension__ ({ \ |
| 6466 float32x4_t __a = (a); float32x2_t __b = (b); \ |
| 6467 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); }) |
| 6468 #define vmulq_lane_u16(a, b, __c) __extension__ ({ \ |
| 6469 uint16x8_t __a = (a); uint16x4_t __b = (b); \ |
| 6470 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c
); }) |
| 6471 #define vmulq_lane_u32(a, b, __c) __extension__ ({ \ |
| 6472 uint32x4_t __a = (a); uint32x2_t __b = (b); \ |
| 6473 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); }) |
| 6474 |
| 6475 #if defined(__aarch64__) |
| 6476 #define vmul_laneq_s16(a, b, __c) __extension__ ({ \ |
| 6477 int16x4_t __a = (a); int16x8_t __b = (b); \ |
| 6478 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); }) |
| 6479 #define vmul_laneq_s32(a, b, __c) __extension__ ({ \ |
| 6480 int32x2_t __a = (a); int32x4_t __b = (b); \ |
| 6481 __a * __builtin_shufflevector(__b, __b, __c, __c); }) |
| 6482 #define vmul_laneq_f32(a, b, __c) __extension__ ({ \ |
| 6483 float32x2_t __a = (a); float32x4_t __b = (b); \ |
| 6484 __a * __builtin_shufflevector(__b, __b, __c, __c); }) |
| 6485 #define vmul_laneq_u16(a, b, __c) __extension__ ({ \ |
| 6486 uint16x4_t __a = (a); uint16x8_t __b = (b); \ |
| 6487 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); }) |
| 6488 #define vmul_laneq_u32(a, b, __c) __extension__ ({ \ |
| 6489 uint32x2_t __a = (a); uint32x4_t __b = (b); \ |
| 6490 __a * __builtin_shufflevector(__b, __b, __c, __c); }) |
| 6491 #define vmulq_laneq_s16(a, b, __c) __extension__ ({ \ |
| 6492 int16x8_t __a = (a); int16x8_t __b = (b); \ |
| 6493 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c
); }) |
| 6494 #define vmulq_laneq_s32(a, b, __c) __extension__ ({ \ |
| 6495 int32x4_t __a = (a); int32x4_t __b = (b); \ |
| 6496 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); }) |
| 6497 #define vmulq_laneq_u16(a, b, __c) __extension__ ({ \ |
| 6498 uint16x8_t __a = (a); uint16x8_t __b = (b); \ |
| 6499 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, __c, __c, __c
); }) |
| 6500 #define vmulq_laneq_u32(a, b, __c) __extension__ ({ \ |
| 6501 uint32x4_t __a = (a); uint32x4_t __b = (b); \ |
| 6502 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); }) |
| 6503 #define vmulq_laneq_f32(a, b, __c) __extension__ ({ \ |
| 6504 float32x4_t __a = (a); float32x4_t __b = (b); \ |
| 6505 __a * __builtin_shufflevector(__b, __b, __c, __c, __c, __c); }) |
| 6506 #define vmulq_laneq_f64(a, b, __c) __extension__ ({ \ |
| 6507 float64x2_t __a = (a); float64x2_t __b = (b); \ |
| 6508 __a * __builtin_shufflevector(__b, __b, __c, __c); }) |
| 6509 |
| 6510 #define vmulq_lane_f64(a, b, __c) __extension__ ({ \ |
| 6511 float64x2_t __a = (a); float64x1_t __b = (b); \ |
| 6512 __a * __builtin_shufflevector(__b, __b, __c, __c); }) |
| 6513 |
| 6514 #endif |
| 6515 |
| 6516 __ai int16x4_t vmul_n_s16(int16x4_t __a, int16_t __b) { |
| 6517 return __a * (int16x4_t){ __b, __b, __b, __b }; } |
| 6518 __ai int32x2_t vmul_n_s32(int32x2_t __a, int32_t __b) { |
| 6519 return __a * (int32x2_t){ __b, __b }; } |
| 6520 __ai float32x2_t vmul_n_f32(float32x2_t __a, float32_t __b) { |
| 6521 return __a * (float32x2_t){ __b, __b }; } |
| 6522 __ai uint16x4_t vmul_n_u16(uint16x4_t __a, uint16_t __b) { |
| 6523 return __a * (uint16x4_t){ __b, __b, __b, __b }; } |
| 6524 __ai uint32x2_t vmul_n_u32(uint32x2_t __a, uint32_t __b) { |
| 6525 return __a * (uint32x2_t){ __b, __b }; } |
| 6526 __ai int16x8_t vmulq_n_s16(int16x8_t __a, int16_t __b) { |
| 6527 return __a * (int16x8_t){ __b, __b, __b, __b, __b, __b, __b, __b }; } |
| 6528 __ai int32x4_t vmulq_n_s32(int32x4_t __a, int32_t __b) { |
| 6529 return __a * (int32x4_t){ __b, __b, __b, __b }; } |
| 6530 __ai float32x4_t vmulq_n_f32(float32x4_t __a, float32_t __b) { |
| 6531 return __a * (float32x4_t){ __b, __b, __b, __b }; } |
| 6532 __ai uint16x8_t vmulq_n_u16(uint16x8_t __a, uint16_t __b) { |
| 6533 return __a * (uint16x8_t){ __b, __b, __b, __b, __b, __b, __b, __b }; } |
| 6534 __ai uint32x4_t vmulq_n_u32(uint32x4_t __a, uint32_t __b) { |
| 6535 return __a * (uint32x4_t){ __b, __b, __b, __b }; } |
| 6536 |
| 6537 #if defined(__aarch64__) |
| 6538 __ai float64x2_t vmulq_n_f64(float64x2_t __a, float64_t __b) { |
| 6539 return __a * (float64x2_t){ __b, __b }; } |
| 6540 |
| 6541 #endif |
| 6542 |
| 6543 __ai int8x8_t vmvn_s8(int8x8_t __a) { |
| 6544 return ~__a; } |
| 6545 __ai int16x4_t vmvn_s16(int16x4_t __a) { |
| 6546 return ~__a; } |
| 6547 __ai int32x2_t vmvn_s32(int32x2_t __a) { |
| 6548 return ~__a; } |
| 6549 __ai uint8x8_t vmvn_u8(uint8x8_t __a) { |
| 6550 return ~__a; } |
| 6551 __ai uint16x4_t vmvn_u16(uint16x4_t __a) { |
| 6552 return ~__a; } |
| 6553 __ai uint32x2_t vmvn_u32(uint32x2_t __a) { |
| 6554 return ~__a; } |
| 6555 __ai poly8x8_t vmvn_p8(poly8x8_t __a) { |
| 6556 return ~__a; } |
| 6557 __ai int8x16_t vmvnq_s8(int8x16_t __a) { |
| 6558 return ~__a; } |
| 6559 __ai int16x8_t vmvnq_s16(int16x8_t __a) { |
| 6560 return ~__a; } |
| 6561 __ai int32x4_t vmvnq_s32(int32x4_t __a) { |
| 6562 return ~__a; } |
| 6563 __ai uint8x16_t vmvnq_u8(uint8x16_t __a) { |
| 6564 return ~__a; } |
| 6565 __ai uint16x8_t vmvnq_u16(uint16x8_t __a) { |
| 6566 return ~__a; } |
| 6567 __ai uint32x4_t vmvnq_u32(uint32x4_t __a) { |
| 6568 return ~__a; } |
| 6569 __ai poly8x16_t vmvnq_p8(poly8x16_t __a) { |
| 6570 return ~__a; } |
| 6571 |
| 6572 __ai int8x8_t vneg_s8(int8x8_t __a) { |
| 6573 return -__a; } |
| 6574 __ai int16x4_t vneg_s16(int16x4_t __a) { |
| 6575 return -__a; } |
| 6576 __ai int32x2_t vneg_s32(int32x2_t __a) { |
| 6577 return -__a; } |
| 6578 __ai float32x2_t vneg_f32(float32x2_t __a) { |
| 6579 return -__a; } |
| 6580 __ai int8x16_t vnegq_s8(int8x16_t __a) { |
| 6581 return -__a; } |
| 6582 __ai int16x8_t vnegq_s16(int16x8_t __a) { |
| 6583 return -__a; } |
| 6584 __ai int32x4_t vnegq_s32(int32x4_t __a) { |
| 6585 return -__a; } |
| 6586 __ai float32x4_t vnegq_f32(float32x4_t __a) { |
| 6587 return -__a; } |
| 6588 |
| 6589 __ai int8x8_t vorn_s8(int8x8_t __a, int8x8_t __b) { |
| 6590 return __a | ~__b; } |
| 6591 __ai int16x4_t vorn_s16(int16x4_t __a, int16x4_t __b) { |
| 6592 return __a | ~__b; } |
| 6593 __ai int32x2_t vorn_s32(int32x2_t __a, int32x2_t __b) { |
| 6594 return __a | ~__b; } |
| 6595 __ai int64x1_t vorn_s64(int64x1_t __a, int64x1_t __b) { |
| 6596 return __a | ~__b; } |
| 6597 __ai uint8x8_t vorn_u8(uint8x8_t __a, uint8x8_t __b) { |
| 6598 return __a | ~__b; } |
| 6599 __ai uint16x4_t vorn_u16(uint16x4_t __a, uint16x4_t __b) { |
| 6600 return __a | ~__b; } |
| 6601 __ai uint32x2_t vorn_u32(uint32x2_t __a, uint32x2_t __b) { |
| 6602 return __a | ~__b; } |
| 6603 __ai uint64x1_t vorn_u64(uint64x1_t __a, uint64x1_t __b) { |
| 6604 return __a | ~__b; } |
| 6605 __ai int8x16_t vornq_s8(int8x16_t __a, int8x16_t __b) { |
| 6606 return __a | ~__b; } |
| 6607 __ai int16x8_t vornq_s16(int16x8_t __a, int16x8_t __b) { |
| 6608 return __a | ~__b; } |
| 6609 __ai int32x4_t vornq_s32(int32x4_t __a, int32x4_t __b) { |
| 6610 return __a | ~__b; } |
| 6611 __ai int64x2_t vornq_s64(int64x2_t __a, int64x2_t __b) { |
| 6612 return __a | ~__b; } |
| 6613 __ai uint8x16_t vornq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 6614 return __a | ~__b; } |
| 6615 __ai uint16x8_t vornq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 6616 return __a | ~__b; } |
| 6617 __ai uint32x4_t vornq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 6618 return __a | ~__b; } |
| 6619 __ai uint64x2_t vornq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 6620 return __a | ~__b; } |
| 6621 |
| 6622 __ai int8x8_t vorr_s8(int8x8_t __a, int8x8_t __b) { |
| 6623 return __a | __b; } |
| 6624 __ai int16x4_t vorr_s16(int16x4_t __a, int16x4_t __b) { |
| 6625 return __a | __b; } |
| 6626 __ai int32x2_t vorr_s32(int32x2_t __a, int32x2_t __b) { |
| 6627 return __a | __b; } |
| 6628 __ai int64x1_t vorr_s64(int64x1_t __a, int64x1_t __b) { |
| 6629 return __a | __b; } |
| 6630 __ai uint8x8_t vorr_u8(uint8x8_t __a, uint8x8_t __b) { |
| 6631 return __a | __b; } |
| 6632 __ai uint16x4_t vorr_u16(uint16x4_t __a, uint16x4_t __b) { |
| 6633 return __a | __b; } |
| 6634 __ai uint32x2_t vorr_u32(uint32x2_t __a, uint32x2_t __b) { |
| 6635 return __a | __b; } |
| 6636 __ai uint64x1_t vorr_u64(uint64x1_t __a, uint64x1_t __b) { |
| 6637 return __a | __b; } |
| 6638 __ai int8x16_t vorrq_s8(int8x16_t __a, int8x16_t __b) { |
| 6639 return __a | __b; } |
| 6640 __ai int16x8_t vorrq_s16(int16x8_t __a, int16x8_t __b) { |
| 6641 return __a | __b; } |
| 6642 __ai int32x4_t vorrq_s32(int32x4_t __a, int32x4_t __b) { |
| 6643 return __a | __b; } |
| 6644 __ai int64x2_t vorrq_s64(int64x2_t __a, int64x2_t __b) { |
| 6645 return __a | __b; } |
| 6646 __ai uint8x16_t vorrq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 6647 return __a | __b; } |
| 6648 __ai uint16x8_t vorrq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 6649 return __a | __b; } |
| 6650 __ai uint32x4_t vorrq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 6651 return __a | __b; } |
| 6652 __ai uint64x2_t vorrq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 6653 return __a | __b; } |
| 6654 |
| 6655 __ai int16x4_t vpadal_s8(int16x4_t __a, int8x8_t __b) { |
| 6656 return (int16x4_t)__builtin_neon_vpadal_v((int8x8_t)__a, __b, 1); } |
| 6657 __ai int32x2_t vpadal_s16(int32x2_t __a, int16x4_t __b) { |
| 6658 return (int32x2_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 6659 __ai int64x1_t vpadal_s32(int64x1_t __a, int32x2_t __b) { |
| 6660 return (int64x1_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 3); } |
| 6661 __ai uint16x4_t vpadal_u8(uint16x4_t __a, uint8x8_t __b) { |
| 6662 return (uint16x4_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 17);
} |
| 6663 __ai uint32x2_t vpadal_u16(uint32x2_t __a, uint16x4_t __b) { |
| 6664 return (uint32x2_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 18);
} |
| 6665 __ai uint64x1_t vpadal_u32(uint64x1_t __a, uint32x2_t __b) { |
| 6666 return (uint64x1_t)__builtin_neon_vpadal_v((int8x8_t)__a, (int8x8_t)__b, 19);
} |
| 6667 __ai int16x8_t vpadalq_s8(int16x8_t __a, int8x16_t __b) { |
| 6668 return (int16x8_t)__builtin_neon_vpadalq_v((int8x16_t)__a, __b, 33); } |
| 6669 __ai int32x4_t vpadalq_s16(int32x4_t __a, int16x8_t __b) { |
| 6670 return (int32x4_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 34)
; } |
| 6671 __ai int64x2_t vpadalq_s32(int64x2_t __a, int32x4_t __b) { |
| 6672 return (int64x2_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 35)
; } |
| 6673 __ai uint16x8_t vpadalq_u8(uint16x8_t __a, uint8x16_t __b) { |
| 6674 return (uint16x8_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 49
); } |
| 6675 __ai uint32x4_t vpadalq_u16(uint32x4_t __a, uint16x8_t __b) { |
| 6676 return (uint32x4_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 50
); } |
| 6677 __ai uint64x2_t vpadalq_u32(uint64x2_t __a, uint32x4_t __b) { |
| 6678 return (uint64x2_t)__builtin_neon_vpadalq_v((int8x16_t)__a, (int8x16_t)__b, 51
); } |
| 6679 |
| 6680 __ai int8x8_t vpadd_s8(int8x8_t __a, int8x8_t __b) { |
| 6681 return (int8x8_t)__builtin_neon_vpadd_v(__a, __b, 0); } |
| 6682 __ai int16x4_t vpadd_s16(int16x4_t __a, int16x4_t __b) { |
| 6683 return (int16x4_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 6684 __ai int32x2_t vpadd_s32(int32x2_t __a, int32x2_t __b) { |
| 6685 return (int32x2_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 6686 __ai uint8x8_t vpadd_u8(uint8x8_t __a, uint8x8_t __b) { |
| 6687 return (uint8x8_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 6688 __ai uint16x4_t vpadd_u16(uint16x4_t __a, uint16x4_t __b) { |
| 6689 return (uint16x4_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 6690 __ai uint32x2_t vpadd_u32(uint32x2_t __a, uint32x2_t __b) { |
| 6691 return (uint32x2_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 6692 __ai float32x2_t vpadd_f32(float32x2_t __a, float32x2_t __b) { |
| 6693 return (float32x2_t)__builtin_neon_vpadd_v((int8x8_t)__a, (int8x8_t)__b, 9); } |
| 6694 |
| 6695 __ai int16x4_t vpaddl_s8(int8x8_t __a) { |
| 6696 return (int16x4_t)__builtin_neon_vpaddl_v(__a, 1); } |
| 6697 __ai int32x2_t vpaddl_s16(int16x4_t __a) { |
| 6698 return (int32x2_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 2); } |
| 6699 __ai int64x1_t vpaddl_s32(int32x2_t __a) { |
| 6700 return (int64x1_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 3); } |
| 6701 __ai uint16x4_t vpaddl_u8(uint8x8_t __a) { |
| 6702 return (uint16x4_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 17); } |
| 6703 __ai uint32x2_t vpaddl_u16(uint16x4_t __a) { |
| 6704 return (uint32x2_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 18); } |
| 6705 __ai uint64x1_t vpaddl_u32(uint32x2_t __a) { |
| 6706 return (uint64x1_t)__builtin_neon_vpaddl_v((int8x8_t)__a, 19); } |
| 6707 __ai int16x8_t vpaddlq_s8(int8x16_t __a) { |
| 6708 return (int16x8_t)__builtin_neon_vpaddlq_v(__a, 33); } |
| 6709 __ai int32x4_t vpaddlq_s16(int16x8_t __a) { |
| 6710 return (int32x4_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 34); } |
| 6711 __ai int64x2_t vpaddlq_s32(int32x4_t __a) { |
| 6712 return (int64x2_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 35); } |
| 6713 __ai uint16x8_t vpaddlq_u8(uint8x16_t __a) { |
| 6714 return (uint16x8_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 49); } |
| 6715 __ai uint32x4_t vpaddlq_u16(uint16x8_t __a) { |
| 6716 return (uint32x4_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 50); } |
| 6717 __ai uint64x2_t vpaddlq_u32(uint32x4_t __a) { |
| 6718 return (uint64x2_t)__builtin_neon_vpaddlq_v((int8x16_t)__a, 51); } |
| 6719 |
| 6720 __ai int8x8_t vpmax_s8(int8x8_t __a, int8x8_t __b) { |
| 6721 return (int8x8_t)__builtin_neon_vpmax_v(__a, __b, 0); } |
| 6722 __ai int16x4_t vpmax_s16(int16x4_t __a, int16x4_t __b) { |
| 6723 return (int16x4_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 6724 __ai int32x2_t vpmax_s32(int32x2_t __a, int32x2_t __b) { |
| 6725 return (int32x2_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 6726 __ai uint8x8_t vpmax_u8(uint8x8_t __a, uint8x8_t __b) { |
| 6727 return (uint8x8_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 6728 __ai uint16x4_t vpmax_u16(uint16x4_t __a, uint16x4_t __b) { |
| 6729 return (uint16x4_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 6730 __ai uint32x2_t vpmax_u32(uint32x2_t __a, uint32x2_t __b) { |
| 6731 return (uint32x2_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 6732 __ai float32x2_t vpmax_f32(float32x2_t __a, float32x2_t __b) { |
| 6733 return (float32x2_t)__builtin_neon_vpmax_v((int8x8_t)__a, (int8x8_t)__b, 9); } |
| 6734 |
| 6735 __ai int8x8_t vpmin_s8(int8x8_t __a, int8x8_t __b) { |
| 6736 return (int8x8_t)__builtin_neon_vpmin_v(__a, __b, 0); } |
| 6737 __ai int16x4_t vpmin_s16(int16x4_t __a, int16x4_t __b) { |
| 6738 return (int16x4_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 6739 __ai int32x2_t vpmin_s32(int32x2_t __a, int32x2_t __b) { |
| 6740 return (int32x2_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 6741 __ai uint8x8_t vpmin_u8(uint8x8_t __a, uint8x8_t __b) { |
| 6742 return (uint8x8_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 6743 __ai uint16x4_t vpmin_u16(uint16x4_t __a, uint16x4_t __b) { |
| 6744 return (uint16x4_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 6745 __ai uint32x2_t vpmin_u32(uint32x2_t __a, uint32x2_t __b) { |
| 6746 return (uint32x2_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 6747 __ai float32x2_t vpmin_f32(float32x2_t __a, float32x2_t __b) { |
| 6748 return (float32x2_t)__builtin_neon_vpmin_v((int8x8_t)__a, (int8x8_t)__b, 9); } |
| 6749 |
| 6750 __ai int8x8_t vqabs_s8(int8x8_t __a) { |
| 6751 return (int8x8_t)__builtin_neon_vqabs_v(__a, 0); } |
| 6752 __ai int16x4_t vqabs_s16(int16x4_t __a) { |
| 6753 return (int16x4_t)__builtin_neon_vqabs_v((int8x8_t)__a, 1); } |
| 6754 __ai int32x2_t vqabs_s32(int32x2_t __a) { |
| 6755 return (int32x2_t)__builtin_neon_vqabs_v((int8x8_t)__a, 2); } |
| 6756 __ai int8x16_t vqabsq_s8(int8x16_t __a) { |
| 6757 return (int8x16_t)__builtin_neon_vqabsq_v(__a, 32); } |
| 6758 __ai int16x8_t vqabsq_s16(int16x8_t __a) { |
| 6759 return (int16x8_t)__builtin_neon_vqabsq_v((int8x16_t)__a, 33); } |
| 6760 __ai int32x4_t vqabsq_s32(int32x4_t __a) { |
| 6761 return (int32x4_t)__builtin_neon_vqabsq_v((int8x16_t)__a, 34); } |
| 6762 |
| 6763 __ai int8x8_t vqadd_s8(int8x8_t __a, int8x8_t __b) { |
| 6764 return (int8x8_t)__builtin_neon_vqadd_v(__a, __b, 0); } |
| 6765 __ai int16x4_t vqadd_s16(int16x4_t __a, int16x4_t __b) { |
| 6766 return (int16x4_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 6767 __ai int32x2_t vqadd_s32(int32x2_t __a, int32x2_t __b) { |
| 6768 return (int32x2_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 6769 __ai int64x1_t vqadd_s64(int64x1_t __a, int64x1_t __b) { |
| 6770 return (int64x1_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 3); } |
| 6771 __ai uint8x8_t vqadd_u8(uint8x8_t __a, uint8x8_t __b) { |
| 6772 return (uint8x8_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 6773 __ai uint16x4_t vqadd_u16(uint16x4_t __a, uint16x4_t __b) { |
| 6774 return (uint16x4_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 6775 __ai uint32x2_t vqadd_u32(uint32x2_t __a, uint32x2_t __b) { |
| 6776 return (uint32x2_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 6777 __ai uint64x1_t vqadd_u64(uint64x1_t __a, uint64x1_t __b) { |
| 6778 return (uint64x1_t)__builtin_neon_vqadd_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 6779 __ai int8x16_t vqaddq_s8(int8x16_t __a, int8x16_t __b) { |
| 6780 return (int8x16_t)__builtin_neon_vqaddq_v(__a, __b, 32); } |
| 6781 __ai int16x8_t vqaddq_s16(int16x8_t __a, int16x8_t __b) { |
| 6782 return (int16x8_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 6783 __ai int32x4_t vqaddq_s32(int32x4_t __a, int32x4_t __b) { |
| 6784 return (int32x4_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 6785 __ai int64x2_t vqaddq_s64(int64x2_t __a, int64x2_t __b) { |
| 6786 return (int64x2_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 35);
} |
| 6787 __ai uint8x16_t vqaddq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 6788 return (uint8x16_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 48)
; } |
| 6789 __ai uint16x8_t vqaddq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 6790 return (uint16x8_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 49)
; } |
| 6791 __ai uint32x4_t vqaddq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 6792 return (uint32x4_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 6793 __ai uint64x2_t vqaddq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 6794 return (uint64x2_t)__builtin_neon_vqaddq_v((int8x16_t)__a, (int8x16_t)__b, 51)
; } |
| 6795 |
| 6796 __ai int32x4_t vqdmlal_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) { |
| 6797 return (int32x4_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int
8x8_t)__c, 34); } |
| 6798 __ai int64x2_t vqdmlal_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) { |
| 6799 return (int64x2_t)__builtin_neon_vqdmlal_v((int8x16_t)__a, (int8x8_t)__b, (int
8x8_t)__c, 35); } |
| 6800 |
| 6801 #if defined(__aarch64__) |
| 6802 __ai int32x4_t vqdmlal_high_s16(int32x4_t __a, int16x8_t __b, int16x8_t __c) { |
| 6803 return vqdmlal_s16(__a, vget_high_s16(__b), vget_high_s16(__c)); } |
| 6804 __ai int64x2_t vqdmlal_high_s32(int64x2_t __a, int32x4_t __b, int32x4_t __c) { |
| 6805 return vqdmlal_s32(__a, vget_high_s32(__b), vget_high_s32(__c)); } |
| 6806 |
| 6807 #define vqdmlal_high_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 6808 int32x4_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \ |
| 6809 vqdmlal_s16(__a, vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __
d, __d, __d)); }) |
| 6810 #define vqdmlal_high_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 6811 int64x2_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \ |
| 6812 vqdmlal_s32(__a, vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __
d)); }) |
| 6813 |
| 6814 #define vqdmlal_high_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 6815 int32x4_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \ |
| 6816 vqdmlal_s16(__a, vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __
d, __d, __d)); }) |
| 6817 #define vqdmlal_high_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 6818 int64x2_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \ |
| 6819 vqdmlal_s32(__a, vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __
d)); }) |
| 6820 |
| 6821 __ai int32x4_t vqdmlal_high_n_s16(int32x4_t __a, int16x8_t __b, int16_t __c) { |
| 6822 return vqdmlal_n_s16(__a, vget_high_s16(__b), __c); } |
| 6823 __ai int64x2_t vqdmlal_high_n_s32(int64x2_t __a, int32x4_t __b, int32_t __c) { |
| 6824 return vqdmlal_n_s32(__a, vget_high_s32(__b), __c); } |
| 6825 |
| 6826 #endif |
| 6827 |
| 6828 #define vqdmlal_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 6829 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \ |
| 6830 vqdmlal_s16(__a, __b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d));
}) |
| 6831 #define vqdmlal_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 6832 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \ |
| 6833 vqdmlal_s32(__a, __b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6834 |
| 6835 #if defined(__aarch64__) |
| 6836 #define vqdmlal_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 6837 int32x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \ |
| 6838 vqdmlal_s16(__a, __b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d));
}) |
| 6839 #define vqdmlal_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 6840 int64x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \ |
| 6841 vqdmlal_s32(__a, __b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6842 |
| 6843 #endif |
| 6844 |
| 6845 __ai int32x4_t vqdmlsl_s16(int32x4_t __a, int16x4_t __b, int16x4_t __c) { |
| 6846 return (int32x4_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int
8x8_t)__c, 34); } |
| 6847 __ai int64x2_t vqdmlsl_s32(int64x2_t __a, int32x2_t __b, int32x2_t __c) { |
| 6848 return (int64x2_t)__builtin_neon_vqdmlsl_v((int8x16_t)__a, (int8x8_t)__b, (int
8x8_t)__c, 35); } |
| 6849 |
| 6850 #if defined(__aarch64__) |
| 6851 __ai int32x4_t vqdmlsl_high_s16(int32x4_t __a, int16x8_t __b, int16x8_t __c) { |
| 6852 return vqdmlsl_s16(__a, vget_high_s16(__b), vget_high_s16(__c)); } |
| 6853 __ai int64x2_t vqdmlsl_high_s32(int64x2_t __a, int32x4_t __b, int32x4_t __c) { |
| 6854 return vqdmlsl_s32(__a, vget_high_s32(__b), vget_high_s32(__c)); } |
| 6855 |
| 6856 #define vqdmlsl_high_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 6857 int32x4_t __a = (a); int16x8_t __b = (b); int16x4_t __c = (c); \ |
| 6858 vqdmlsl_s16(__a, vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __
d, __d, __d)); }) |
| 6859 #define vqdmlsl_high_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 6860 int64x2_t __a = (a); int32x4_t __b = (b); int32x2_t __c = (c); \ |
| 6861 vqdmlsl_s32(__a, vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __
d)); }) |
| 6862 |
| 6863 #define vqdmlsl_high_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 6864 int32x4_t __a = (a); int16x8_t __b = (b); int16x8_t __c = (c); \ |
| 6865 vqdmlsl_s16(__a, vget_high_s16(__b), __builtin_shufflevector(__c, __c, __d, __
d, __d, __d)); }) |
| 6866 #define vqdmlsl_high_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 6867 int64x2_t __a = (a); int32x4_t __b = (b); int32x4_t __c = (c); \ |
| 6868 vqdmlsl_s32(__a, vget_high_s32(__b), __builtin_shufflevector(__c, __c, __d, __
d)); }) |
| 6869 |
| 6870 __ai int32x4_t vqdmlsl_high_n_s16(int32x4_t __a, int16x8_t __b, int16_t __c) { |
| 6871 return vqdmlsl_n_s16(__a, vget_high_s16(__b), __c); } |
| 6872 __ai int64x2_t vqdmlsl_high_n_s32(int64x2_t __a, int32x4_t __b, int32_t __c) { |
| 6873 return vqdmlsl_n_s32(__a, vget_high_s32(__b), __c); } |
| 6874 |
| 6875 #endif |
| 6876 |
| 6877 #define vqdmlsl_lane_s16(a, b, c, __d) __extension__ ({ \ |
| 6878 int32x4_t __a = (a); int16x4_t __b = (b); int16x4_t __c = (c); \ |
| 6879 vqdmlsl_s16(__a, __b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d));
}) |
| 6880 #define vqdmlsl_lane_s32(a, b, c, __d) __extension__ ({ \ |
| 6881 int64x2_t __a = (a); int32x2_t __b = (b); int32x2_t __c = (c); \ |
| 6882 vqdmlsl_s32(__a, __b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6883 |
| 6884 #if defined(__aarch64__) |
| 6885 #define vqdmlsl_laneq_s16(a, b, c, __d) __extension__ ({ \ |
| 6886 int32x4_t __a = (a); int16x4_t __b = (b); int16x8_t __c = (c); \ |
| 6887 vqdmlsl_s16(__a, __b, __builtin_shufflevector(__c, __c, __d, __d, __d, __d));
}) |
| 6888 #define vqdmlsl_laneq_s32(a, b, c, __d) __extension__ ({ \ |
| 6889 int64x2_t __a = (a); int32x2_t __b = (b); int32x4_t __c = (c); \ |
| 6890 vqdmlsl_s32(__a, __b, __builtin_shufflevector(__c, __c, __d, __d)); }) |
| 6891 |
| 6892 #endif |
| 6893 |
| 6894 __ai int16x4_t vqdmulh_s16(int16x4_t __a, int16x4_t __b) { |
| 6895 return (int16x4_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 6896 __ai int32x2_t vqdmulh_s32(int32x2_t __a, int32x2_t __b) { |
| 6897 return (int32x2_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 6898 __ai int16x8_t vqdmulhq_s16(int16x8_t __a, int16x8_t __b) { |
| 6899 return (int16x8_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 33
); } |
| 6900 __ai int32x4_t vqdmulhq_s32(int32x4_t __a, int32x4_t __b) { |
| 6901 return (int32x4_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 34
); } |
| 6902 |
| 6903 #define vqdmulh_lane_s16(a, b, __c) __extension__ ({ \ |
| 6904 int16x4_t __a = (a); int16x4_t __b = (b); \ |
| 6905 vqdmulh_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6906 #define vqdmulh_lane_s32(a, b, __c) __extension__ ({ \ |
| 6907 int32x2_t __a = (a); int32x2_t __b = (b); \ |
| 6908 vqdmulh_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6909 #define vqdmulhq_lane_s16(a, b, __c) __extension__ ({ \ |
| 6910 int16x8_t __a = (a); int16x4_t __b = (b); \ |
| 6911 vqdmulhq_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, _
_c, __c, __c)); }) |
| 6912 #define vqdmulhq_lane_s32(a, b, __c) __extension__ ({ \ |
| 6913 int32x4_t __a = (a); int32x2_t __b = (b); \ |
| 6914 vqdmulhq_s32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6915 |
| 6916 #if defined(__aarch64__) |
| 6917 #define vqdmulh_laneq_s16(a, b, __c) __extension__ ({ \ |
| 6918 int16x4_t __a = (a); int16x8_t __b = (b); \ |
| 6919 vqdmulh_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6920 #define vqdmulh_laneq_s32(a, b, __c) __extension__ ({ \ |
| 6921 int32x2_t __a = (a); int32x4_t __b = (b); \ |
| 6922 vqdmulh_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6923 #define vqdmulhq_laneq_s16(a, b, __c) __extension__ ({ \ |
| 6924 int16x8_t __a = (a); int16x8_t __b = (b); \ |
| 6925 vqdmulhq_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c, _
_c, __c, __c)); }) |
| 6926 #define vqdmulhq_laneq_s32(a, b, __c) __extension__ ({ \ |
| 6927 int32x4_t __a = (a); int32x4_t __b = (b); \ |
| 6928 vqdmulhq_s32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6929 |
| 6930 #endif |
| 6931 |
| 6932 __ai int16x4_t vqdmulh_n_s16(int16x4_t __a, int16_t __b) { |
| 6933 return (int16x4_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)(int16x4_t
){ __b, __b, __b, __b }, 1); } |
| 6934 __ai int32x2_t vqdmulh_n_s32(int32x2_t __a, int32_t __b) { |
| 6935 return (int32x2_t)__builtin_neon_vqdmulh_v((int8x8_t)__a, (int8x8_t)(int32x2_t
){ __b, __b }, 2); } |
| 6936 __ai int16x8_t vqdmulhq_n_s16(int16x8_t __a, int16_t __b) { |
| 6937 return (int16x8_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)(int16x
8_t){ __b, __b, __b, __b, __b, __b, __b, __b }, 33); } |
| 6938 __ai int32x4_t vqdmulhq_n_s32(int32x4_t __a, int32_t __b) { |
| 6939 return (int32x4_t)__builtin_neon_vqdmulhq_v((int8x16_t)__a, (int8x16_t)(int32x
4_t){ __b, __b, __b, __b }, 34); } |
| 6940 |
| 6941 __ai int32x4_t vqdmull_s16(int16x4_t __a, int16x4_t __b) { |
| 6942 return (int32x4_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)__b, 34);
} |
| 6943 __ai int64x2_t vqdmull_s32(int32x2_t __a, int32x2_t __b) { |
| 6944 return (int64x2_t)__builtin_neon_vqdmull_v((int8x8_t)__a, (int8x8_t)__b, 35);
} |
| 6945 |
| 6946 #if defined(__aarch64__) |
| 6947 __ai int32x4_t vqdmull_high_s16(int16x8_t __a, int16x8_t __b) { |
| 6948 return vqdmull_s16(vget_high_s16(__a), vget_high_s16(__b)); } |
| 6949 __ai int64x2_t vqdmull_high_s32(int32x4_t __a, int32x4_t __b) { |
| 6950 return vqdmull_s32(vget_high_s32(__a), vget_high_s32(__b)); } |
| 6951 |
| 6952 #define vqdmull_high_lane_s16(a, b, __c) __extension__ ({ \ |
| 6953 int16x8_t __a = (a); int16x4_t __b = (b); \ |
| 6954 vqdmull_s16(vget_high_s16(__a), __builtin_shufflevector(__b, __b, __c, __c, __
c, __c)); }) |
| 6955 #define vqdmull_high_lane_s32(a, b, __c) __extension__ ({ \ |
| 6956 int32x4_t __a = (a); int32x2_t __b = (b); \ |
| 6957 vqdmull_s32(vget_high_s32(__a), __builtin_shufflevector(__b, __b, __c, __c));
}) |
| 6958 |
| 6959 #define vqdmull_high_laneq_s16(a, b, __c) __extension__ ({ \ |
| 6960 int16x8_t __a = (a); int16x8_t __b = (b); \ |
| 6961 vqdmull_s16(vget_high_s16(__a), __builtin_shufflevector(__b, __b, __c, __c, __
c, __c)); }) |
| 6962 #define vqdmull_high_laneq_s32(a, b, __c) __extension__ ({ \ |
| 6963 int32x4_t __a = (a); int32x4_t __b = (b); \ |
| 6964 vqdmull_s32(vget_high_s32(__a), __builtin_shufflevector(__b, __b, __c, __c));
}) |
| 6965 |
| 6966 __ai int32x4_t vqdmull_high_n_s16(int16x8_t __a, int16_t __b) { |
| 6967 return vqdmull_n_s16(vget_high_s16(__a), __b); } |
| 6968 __ai int64x2_t vqdmull_high_n_s32(int32x4_t __a, int32_t __b) { |
| 6969 return vqdmull_n_s32(vget_high_s32(__a), __b); } |
| 6970 |
| 6971 #endif |
| 6972 |
| 6973 #define vqdmull_lane_s16(a, b, __c) __extension__ ({ \ |
| 6974 int16x4_t __a = (a); int16x4_t __b = (b); \ |
| 6975 vqdmull_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6976 #define vqdmull_lane_s32(a, b, __c) __extension__ ({ \ |
| 6977 int32x2_t __a = (a); int32x2_t __b = (b); \ |
| 6978 vqdmull_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6979 |
| 6980 #if defined(__aarch64__) |
| 6981 #define vqdmull_laneq_s16(a, b, __c) __extension__ ({ \ |
| 6982 int16x4_t __a = (a); int16x8_t __b = (b); \ |
| 6983 vqdmull_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 6984 #define vqdmull_laneq_s32(a, b, __c) __extension__ ({ \ |
| 6985 int32x2_t __a = (a); int32x4_t __b = (b); \ |
| 6986 vqdmull_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 6987 |
| 6988 #endif |
| 6989 |
| 6990 __ai int8x8_t vqneg_s8(int8x8_t __a) { |
| 6991 return (int8x8_t)__builtin_neon_vqneg_v(__a, 0); } |
| 6992 __ai int16x4_t vqneg_s16(int16x4_t __a) { |
| 6993 return (int16x4_t)__builtin_neon_vqneg_v((int8x8_t)__a, 1); } |
| 6994 __ai int32x2_t vqneg_s32(int32x2_t __a) { |
| 6995 return (int32x2_t)__builtin_neon_vqneg_v((int8x8_t)__a, 2); } |
| 6996 __ai int8x16_t vqnegq_s8(int8x16_t __a) { |
| 6997 return (int8x16_t)__builtin_neon_vqnegq_v(__a, 32); } |
| 6998 __ai int16x8_t vqnegq_s16(int16x8_t __a) { |
| 6999 return (int16x8_t)__builtin_neon_vqnegq_v((int8x16_t)__a, 33); } |
| 7000 __ai int32x4_t vqnegq_s32(int32x4_t __a) { |
| 7001 return (int32x4_t)__builtin_neon_vqnegq_v((int8x16_t)__a, 34); } |
| 7002 |
| 7003 __ai int16x4_t vqrdmulh_s16(int16x4_t __a, int16x4_t __b) { |
| 7004 return (int16x4_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)__b, 1);
} |
| 7005 __ai int32x2_t vqrdmulh_s32(int32x2_t __a, int32x2_t __b) { |
| 7006 return (int32x2_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)__b, 2);
} |
| 7007 __ai int16x8_t vqrdmulhq_s16(int16x8_t __a, int16x8_t __b) { |
| 7008 return (int16x8_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 3
3); } |
| 7009 __ai int32x4_t vqrdmulhq_s32(int32x4_t __a, int32x4_t __b) { |
| 7010 return (int32x4_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)__b, 3
4); } |
| 7011 |
| 7012 #define vqrdmulh_lane_s16(a, b, __c) __extension__ ({ \ |
| 7013 int16x4_t __a = (a); int16x4_t __b = (b); \ |
| 7014 vqrdmulh_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 7015 #define vqrdmulh_lane_s32(a, b, __c) __extension__ ({ \ |
| 7016 int32x2_t __a = (a); int32x2_t __b = (b); \ |
| 7017 vqrdmulh_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 7018 #define vqrdmulhq_lane_s16(a, b, __c) __extension__ ({ \ |
| 7019 int16x8_t __a = (a); int16x4_t __b = (b); \ |
| 7020 vqrdmulhq_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c,
__c, __c, __c)); }) |
| 7021 #define vqrdmulhq_lane_s32(a, b, __c) __extension__ ({ \ |
| 7022 int32x4_t __a = (a); int32x2_t __b = (b); \ |
| 7023 vqrdmulhq_s32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 7024 |
| 7025 #if defined(__aarch64__) |
| 7026 #define vqrdmulh_laneq_s16(a, b, __c) __extension__ ({ \ |
| 7027 int16x4_t __a = (a); int16x8_t __b = (b); \ |
| 7028 vqrdmulh_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 7029 #define vqrdmulh_laneq_s32(a, b, __c) __extension__ ({ \ |
| 7030 int32x2_t __a = (a); int32x4_t __b = (b); \ |
| 7031 vqrdmulh_s32(__a, __builtin_shufflevector(__b, __b, __c, __c)); }) |
| 7032 #define vqrdmulhq_laneq_s16(a, b, __c) __extension__ ({ \ |
| 7033 int16x8_t __a = (a); int16x8_t __b = (b); \ |
| 7034 vqrdmulhq_s16(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c, __c,
__c, __c, __c)); }) |
| 7035 #define vqrdmulhq_laneq_s32(a, b, __c) __extension__ ({ \ |
| 7036 int32x4_t __a = (a); int32x4_t __b = (b); \ |
| 7037 vqrdmulhq_s32(__a, __builtin_shufflevector(__b, __b, __c, __c, __c, __c)); }) |
| 7038 |
| 7039 #endif |
| 7040 |
| 7041 __ai int16x4_t vqrdmulh_n_s16(int16x4_t __a, int16_t __b) { |
| 7042 return (int16x4_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)(int16x4_
t){ __b, __b, __b, __b }, 1); } |
| 7043 __ai int32x2_t vqrdmulh_n_s32(int32x2_t __a, int32_t __b) { |
| 7044 return (int32x2_t)__builtin_neon_vqrdmulh_v((int8x8_t)__a, (int8x8_t)(int32x2_
t){ __b, __b }, 2); } |
| 7045 __ai int16x8_t vqrdmulhq_n_s16(int16x8_t __a, int16_t __b) { |
| 7046 return (int16x8_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)(int16
x8_t){ __b, __b, __b, __b, __b, __b, __b, __b }, 33); } |
| 7047 __ai int32x4_t vqrdmulhq_n_s32(int32x4_t __a, int32_t __b) { |
| 7048 return (int32x4_t)__builtin_neon_vqrdmulhq_v((int8x16_t)__a, (int8x16_t)(int32
x4_t){ __b, __b, __b, __b }, 34); } |
| 7049 |
| 7050 __ai int8x8_t vqrshl_s8(int8x8_t __a, int8x8_t __b) { |
| 7051 return (int8x8_t)__builtin_neon_vqrshl_v(__a, __b, 0); } |
| 7052 __ai int16x4_t vqrshl_s16(int16x4_t __a, int16x4_t __b) { |
| 7053 return (int16x4_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 7054 __ai int32x2_t vqrshl_s32(int32x2_t __a, int32x2_t __b) { |
| 7055 return (int32x2_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 7056 __ai int64x1_t vqrshl_s64(int64x1_t __a, int64x1_t __b) { |
| 7057 return (int64x1_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 3); } |
| 7058 __ai uint8x8_t vqrshl_u8(uint8x8_t __a, int8x8_t __b) { |
| 7059 return (uint8x8_t)__builtin_neon_vqrshl_v((int8x8_t)__a, __b, 16); } |
| 7060 __ai uint16x4_t vqrshl_u16(uint16x4_t __a, int16x4_t __b) { |
| 7061 return (uint16x4_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 17);
} |
| 7062 __ai uint32x2_t vqrshl_u32(uint32x2_t __a, int32x2_t __b) { |
| 7063 return (uint32x2_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 18);
} |
| 7064 __ai uint64x1_t vqrshl_u64(uint64x1_t __a, int64x1_t __b) { |
| 7065 return (uint64x1_t)__builtin_neon_vqrshl_v((int8x8_t)__a, (int8x8_t)__b, 19);
} |
| 7066 __ai int8x16_t vqrshlq_s8(int8x16_t __a, int8x16_t __b) { |
| 7067 return (int8x16_t)__builtin_neon_vqrshlq_v(__a, __b, 32); } |
| 7068 __ai int16x8_t vqrshlq_s16(int16x8_t __a, int16x8_t __b) { |
| 7069 return (int16x8_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 33)
; } |
| 7070 __ai int32x4_t vqrshlq_s32(int32x4_t __a, int32x4_t __b) { |
| 7071 return (int32x4_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 34)
; } |
| 7072 __ai int64x2_t vqrshlq_s64(int64x2_t __a, int64x2_t __b) { |
| 7073 return (int64x2_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 35)
; } |
| 7074 __ai uint8x16_t vqrshlq_u8(uint8x16_t __a, int8x16_t __b) { |
| 7075 return (uint8x16_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, __b, 48); } |
| 7076 __ai uint16x8_t vqrshlq_u16(uint16x8_t __a, int16x8_t __b) { |
| 7077 return (uint16x8_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 49
); } |
| 7078 __ai uint32x4_t vqrshlq_u32(uint32x4_t __a, int32x4_t __b) { |
| 7079 return (uint32x4_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 50
); } |
| 7080 __ai uint64x2_t vqrshlq_u64(uint64x2_t __a, int64x2_t __b) { |
| 7081 return (uint64x2_t)__builtin_neon_vqrshlq_v((int8x16_t)__a, (int8x16_t)__b, 51
); } |
| 7082 |
| 7083 #define vqrshrn_n_s16(a, __b) __extension__ ({ \ |
| 7084 int16x8_t __a = (a); \ |
| 7085 (int8x8_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 0); }) |
| 7086 #define vqrshrn_n_s32(a, __b) __extension__ ({ \ |
| 7087 int32x4_t __a = (a); \ |
| 7088 (int16x4_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 1); }) |
| 7089 #define vqrshrn_n_s64(a, __b) __extension__ ({ \ |
| 7090 int64x2_t __a = (a); \ |
| 7091 (int32x2_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 2); }) |
| 7092 #define vqrshrn_n_u16(a, __b) __extension__ ({ \ |
| 7093 uint16x8_t __a = (a); \ |
| 7094 (uint8x8_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 16); }) |
| 7095 #define vqrshrn_n_u32(a, __b) __extension__ ({ \ |
| 7096 uint32x4_t __a = (a); \ |
| 7097 (uint16x4_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 17); }) |
| 7098 #define vqrshrn_n_u64(a, __b) __extension__ ({ \ |
| 7099 uint64x2_t __a = (a); \ |
| 7100 (uint32x2_t)__builtin_neon_vqrshrn_n_v((int8x16_t)__a, __b, 18); }) |
| 7101 |
| 7102 #define vqrshrun_n_s16(a, __b) __extension__ ({ \ |
| 7103 int16x8_t __a = (a); \ |
| 7104 (uint8x8_t)__builtin_neon_vqrshrun_n_v((int8x16_t)__a, __b, 16); }) |
| 7105 #define vqrshrun_n_s32(a, __b) __extension__ ({ \ |
| 7106 int32x4_t __a = (a); \ |
| 7107 (uint16x4_t)__builtin_neon_vqrshrun_n_v((int8x16_t)__a, __b, 17); }) |
| 7108 #define vqrshrun_n_s64(a, __b) __extension__ ({ \ |
| 7109 int64x2_t __a = (a); \ |
| 7110 (uint32x2_t)__builtin_neon_vqrshrun_n_v((int8x16_t)__a, __b, 18); }) |
| 7111 |
| 7112 __ai int8x8_t vqshl_s8(int8x8_t __a, int8x8_t __b) { |
| 7113 return (int8x8_t)__builtin_neon_vqshl_v(__a, __b, 0); } |
| 7114 __ai int16x4_t vqshl_s16(int16x4_t __a, int16x4_t __b) { |
| 7115 return (int16x4_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 7116 __ai int32x2_t vqshl_s32(int32x2_t __a, int32x2_t __b) { |
| 7117 return (int32x2_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 7118 __ai int64x1_t vqshl_s64(int64x1_t __a, int64x1_t __b) { |
| 7119 return (int64x1_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 3); } |
| 7120 __ai uint8x8_t vqshl_u8(uint8x8_t __a, int8x8_t __b) { |
| 7121 return (uint8x8_t)__builtin_neon_vqshl_v((int8x8_t)__a, __b, 16); } |
| 7122 __ai uint16x4_t vqshl_u16(uint16x4_t __a, int16x4_t __b) { |
| 7123 return (uint16x4_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 7124 __ai uint32x2_t vqshl_u32(uint32x2_t __a, int32x2_t __b) { |
| 7125 return (uint32x2_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 7126 __ai uint64x1_t vqshl_u64(uint64x1_t __a, int64x1_t __b) { |
| 7127 return (uint64x1_t)__builtin_neon_vqshl_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 7128 __ai int8x16_t vqshlq_s8(int8x16_t __a, int8x16_t __b) { |
| 7129 return (int8x16_t)__builtin_neon_vqshlq_v(__a, __b, 32); } |
| 7130 __ai int16x8_t vqshlq_s16(int16x8_t __a, int16x8_t __b) { |
| 7131 return (int16x8_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 7132 __ai int32x4_t vqshlq_s32(int32x4_t __a, int32x4_t __b) { |
| 7133 return (int32x4_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 7134 __ai int64x2_t vqshlq_s64(int64x2_t __a, int64x2_t __b) { |
| 7135 return (int64x2_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 35);
} |
| 7136 __ai uint8x16_t vqshlq_u8(uint8x16_t __a, int8x16_t __b) { |
| 7137 return (uint8x16_t)__builtin_neon_vqshlq_v((int8x16_t)__a, __b, 48); } |
| 7138 __ai uint16x8_t vqshlq_u16(uint16x8_t __a, int16x8_t __b) { |
| 7139 return (uint16x8_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 49)
; } |
| 7140 __ai uint32x4_t vqshlq_u32(uint32x4_t __a, int32x4_t __b) { |
| 7141 return (uint32x4_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 7142 __ai uint64x2_t vqshlq_u64(uint64x2_t __a, int64x2_t __b) { |
| 7143 return (uint64x2_t)__builtin_neon_vqshlq_v((int8x16_t)__a, (int8x16_t)__b, 51)
; } |
| 7144 |
| 7145 #define vqshlu_n_s8(a, __b) __extension__ ({ \ |
| 7146 int8x8_t __a = (a); \ |
| 7147 (uint8x8_t)__builtin_neon_vqshlu_n_v(__a, __b, 16); }) |
| 7148 #define vqshlu_n_s16(a, __b) __extension__ ({ \ |
| 7149 int16x4_t __a = (a); \ |
| 7150 (uint16x4_t)__builtin_neon_vqshlu_n_v((int8x8_t)__a, __b, 17); }) |
| 7151 #define vqshlu_n_s32(a, __b) __extension__ ({ \ |
| 7152 int32x2_t __a = (a); \ |
| 7153 (uint32x2_t)__builtin_neon_vqshlu_n_v((int8x8_t)__a, __b, 18); }) |
| 7154 #define vqshlu_n_s64(a, __b) __extension__ ({ \ |
| 7155 int64x1_t __a = (a); \ |
| 7156 (uint64x1_t)__builtin_neon_vqshlu_n_v((int8x8_t)__a, __b, 19); }) |
| 7157 #define vqshluq_n_s8(a, __b) __extension__ ({ \ |
| 7158 int8x16_t __a = (a); \ |
| 7159 (uint8x16_t)__builtin_neon_vqshluq_n_v(__a, __b, 48); }) |
| 7160 #define vqshluq_n_s16(a, __b) __extension__ ({ \ |
| 7161 int16x8_t __a = (a); \ |
| 7162 (uint16x8_t)__builtin_neon_vqshluq_n_v((int8x16_t)__a, __b, 49); }) |
| 7163 #define vqshluq_n_s32(a, __b) __extension__ ({ \ |
| 7164 int32x4_t __a = (a); \ |
| 7165 (uint32x4_t)__builtin_neon_vqshluq_n_v((int8x16_t)__a, __b, 50); }) |
| 7166 #define vqshluq_n_s64(a, __b) __extension__ ({ \ |
| 7167 int64x2_t __a = (a); \ |
| 7168 (uint64x2_t)__builtin_neon_vqshluq_n_v((int8x16_t)__a, __b, 51); }) |
| 7169 |
| 7170 #define vqshl_n_s8(a, __b) __extension__ ({ \ |
| 7171 int8x8_t __a = (a); \ |
| 7172 (int8x8_t)__builtin_neon_vqshl_n_v(__a, __b, 0); }) |
| 7173 #define vqshl_n_s16(a, __b) __extension__ ({ \ |
| 7174 int16x4_t __a = (a); \ |
| 7175 (int16x4_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 1); }) |
| 7176 #define vqshl_n_s32(a, __b) __extension__ ({ \ |
| 7177 int32x2_t __a = (a); \ |
| 7178 (int32x2_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 2); }) |
| 7179 #define vqshl_n_s64(a, __b) __extension__ ({ \ |
| 7180 int64x1_t __a = (a); \ |
| 7181 (int64x1_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 3); }) |
| 7182 #define vqshl_n_u8(a, __b) __extension__ ({ \ |
| 7183 uint8x8_t __a = (a); \ |
| 7184 (uint8x8_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 16); }) |
| 7185 #define vqshl_n_u16(a, __b) __extension__ ({ \ |
| 7186 uint16x4_t __a = (a); \ |
| 7187 (uint16x4_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 17); }) |
| 7188 #define vqshl_n_u32(a, __b) __extension__ ({ \ |
| 7189 uint32x2_t __a = (a); \ |
| 7190 (uint32x2_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 18); }) |
| 7191 #define vqshl_n_u64(a, __b) __extension__ ({ \ |
| 7192 uint64x1_t __a = (a); \ |
| 7193 (uint64x1_t)__builtin_neon_vqshl_n_v((int8x8_t)__a, __b, 19); }) |
| 7194 #define vqshlq_n_s8(a, __b) __extension__ ({ \ |
| 7195 int8x16_t __a = (a); \ |
| 7196 (int8x16_t)__builtin_neon_vqshlq_n_v(__a, __b, 32); }) |
| 7197 #define vqshlq_n_s16(a, __b) __extension__ ({ \ |
| 7198 int16x8_t __a = (a); \ |
| 7199 (int16x8_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 33); }) |
| 7200 #define vqshlq_n_s32(a, __b) __extension__ ({ \ |
| 7201 int32x4_t __a = (a); \ |
| 7202 (int32x4_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 34); }) |
| 7203 #define vqshlq_n_s64(a, __b) __extension__ ({ \ |
| 7204 int64x2_t __a = (a); \ |
| 7205 (int64x2_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 35); }) |
| 7206 #define vqshlq_n_u8(a, __b) __extension__ ({ \ |
| 7207 uint8x16_t __a = (a); \ |
| 7208 (uint8x16_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 48); }) |
| 7209 #define vqshlq_n_u16(a, __b) __extension__ ({ \ |
| 7210 uint16x8_t __a = (a); \ |
| 7211 (uint16x8_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 49); }) |
| 7212 #define vqshlq_n_u32(a, __b) __extension__ ({ \ |
| 7213 uint32x4_t __a = (a); \ |
| 7214 (uint32x4_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 50); }) |
| 7215 #define vqshlq_n_u64(a, __b) __extension__ ({ \ |
| 7216 uint64x2_t __a = (a); \ |
| 7217 (uint64x2_t)__builtin_neon_vqshlq_n_v((int8x16_t)__a, __b, 51); }) |
| 7218 |
| 7219 #define vqshrn_n_s16(a, __b) __extension__ ({ \ |
| 7220 int16x8_t __a = (a); \ |
| 7221 (int8x8_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 0); }) |
| 7222 #define vqshrn_n_s32(a, __b) __extension__ ({ \ |
| 7223 int32x4_t __a = (a); \ |
| 7224 (int16x4_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 1); }) |
| 7225 #define vqshrn_n_s64(a, __b) __extension__ ({ \ |
| 7226 int64x2_t __a = (a); \ |
| 7227 (int32x2_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 2); }) |
| 7228 #define vqshrn_n_u16(a, __b) __extension__ ({ \ |
| 7229 uint16x8_t __a = (a); \ |
| 7230 (uint8x8_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 16); }) |
| 7231 #define vqshrn_n_u32(a, __b) __extension__ ({ \ |
| 7232 uint32x4_t __a = (a); \ |
| 7233 (uint16x4_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 17); }) |
| 7234 #define vqshrn_n_u64(a, __b) __extension__ ({ \ |
| 7235 uint64x2_t __a = (a); \ |
| 7236 (uint32x2_t)__builtin_neon_vqshrn_n_v((int8x16_t)__a, __b, 18); }) |
| 7237 |
| 7238 #define vqshrun_n_s16(a, __b) __extension__ ({ \ |
| 7239 int16x8_t __a = (a); \ |
| 7240 (uint8x8_t)__builtin_neon_vqshrun_n_v((int8x16_t)__a, __b, 16); }) |
| 7241 #define vqshrun_n_s32(a, __b) __extension__ ({ \ |
| 7242 int32x4_t __a = (a); \ |
| 7243 (uint16x4_t)__builtin_neon_vqshrun_n_v((int8x16_t)__a, __b, 17); }) |
| 7244 #define vqshrun_n_s64(a, __b) __extension__ ({ \ |
| 7245 int64x2_t __a = (a); \ |
| 7246 (uint32x2_t)__builtin_neon_vqshrun_n_v((int8x16_t)__a, __b, 18); }) |
| 7247 |
| 7248 __ai int8x8_t vqsub_s8(int8x8_t __a, int8x8_t __b) { |
| 7249 return (int8x8_t)__builtin_neon_vqsub_v(__a, __b, 0); } |
| 7250 __ai int16x4_t vqsub_s16(int16x4_t __a, int16x4_t __b) { |
| 7251 return (int16x4_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 7252 __ai int32x2_t vqsub_s32(int32x2_t __a, int32x2_t __b) { |
| 7253 return (int32x2_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 7254 __ai int64x1_t vqsub_s64(int64x1_t __a, int64x1_t __b) { |
| 7255 return (int64x1_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 3); } |
| 7256 __ai uint8x8_t vqsub_u8(uint8x8_t __a, uint8x8_t __b) { |
| 7257 return (uint8x8_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 7258 __ai uint16x4_t vqsub_u16(uint16x4_t __a, uint16x4_t __b) { |
| 7259 return (uint16x4_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 7260 __ai uint32x2_t vqsub_u32(uint32x2_t __a, uint32x2_t __b) { |
| 7261 return (uint32x2_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 7262 __ai uint64x1_t vqsub_u64(uint64x1_t __a, uint64x1_t __b) { |
| 7263 return (uint64x1_t)__builtin_neon_vqsub_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 7264 __ai int8x16_t vqsubq_s8(int8x16_t __a, int8x16_t __b) { |
| 7265 return (int8x16_t)__builtin_neon_vqsubq_v(__a, __b, 32); } |
| 7266 __ai int16x8_t vqsubq_s16(int16x8_t __a, int16x8_t __b) { |
| 7267 return (int16x8_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 7268 __ai int32x4_t vqsubq_s32(int32x4_t __a, int32x4_t __b) { |
| 7269 return (int32x4_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 7270 __ai int64x2_t vqsubq_s64(int64x2_t __a, int64x2_t __b) { |
| 7271 return (int64x2_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 35);
} |
| 7272 __ai uint8x16_t vqsubq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 7273 return (uint8x16_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 48)
; } |
| 7274 __ai uint16x8_t vqsubq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 7275 return (uint16x8_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 49)
; } |
| 7276 __ai uint32x4_t vqsubq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 7277 return (uint32x4_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 7278 __ai uint64x2_t vqsubq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 7279 return (uint64x2_t)__builtin_neon_vqsubq_v((int8x16_t)__a, (int8x16_t)__b, 51)
; } |
| 7280 |
| 7281 #if defined(__aarch64__) |
| 7282 __ai uint8x8_t vqtbl1_u8(uint8x16_t __a, uint8x8_t __b) { |
| 7283 return (uint8x8_t)__builtin_neon_vqtbl1_v((int8x16_t)__a, (int8x8_t)__b, 16);
} |
| 7284 __ai int8x8_t vqtbl1_s8(int8x16_t __a, int8x8_t __b) { |
| 7285 return (int8x8_t)__builtin_neon_vqtbl1_v(__a, __b, 0); } |
| 7286 __ai poly8x8_t vqtbl1_p8(poly8x16_t __a, uint8x8_t __b) { |
| 7287 return (poly8x8_t)__builtin_neon_vqtbl1_v((int8x16_t)__a, (int8x8_t)__b, 4); } |
| 7288 __ai uint8x16_t vqtbl1q_u8(uint8x16_t __a, uint8x16_t __b) { |
| 7289 return (uint8x16_t)__builtin_neon_vqtbl1q_v((int8x16_t)__a, (int8x16_t)__b, 48
); } |
| 7290 __ai int8x16_t vqtbl1q_s8(int8x16_t __a, int8x16_t __b) { |
| 7291 return (int8x16_t)__builtin_neon_vqtbl1q_v(__a, __b, 32); } |
| 7292 __ai poly8x16_t vqtbl1q_p8(poly8x16_t __a, uint8x16_t __b) { |
| 7293 return (poly8x16_t)__builtin_neon_vqtbl1q_v((int8x16_t)__a, (int8x16_t)__b, 36
); } |
| 7294 |
| 7295 __ai uint8x8_t vqtbl2_u8(uint8x16x2_t __a, uint8x8_t __b) { |
| 7296 return (uint8x8_t)__builtin_neon_vqtbl2_v((int8x16_t)__a.val[0], (int8x16_t)__
a.val[1], (int8x8_t)__b, 16); } |
| 7297 __ai int8x8_t vqtbl2_s8(int8x16x2_t __a, int8x8_t __b) { |
| 7298 return (int8x8_t)__builtin_neon_vqtbl2_v(__a.val[0], __a.val[1], __b, 0); } |
| 7299 __ai poly8x8_t vqtbl2_p8(poly8x16x2_t __a, uint8x8_t __b) { |
| 7300 return (poly8x8_t)__builtin_neon_vqtbl2_v((int8x16_t)__a.val[0], (int8x16_t)__
a.val[1], (int8x8_t)__b, 4); } |
| 7301 __ai uint8x16_t vqtbl2q_u8(uint8x16x2_t __a, uint8x16_t __b) { |
| 7302 return (uint8x16_t)__builtin_neon_vqtbl2q_v((int8x16_t)__a.val[0], (int8x16_t)
__a.val[1], (int8x16_t)__b, 48); } |
| 7303 __ai int8x16_t vqtbl2q_s8(int8x16x2_t __a, int8x16_t __b) { |
| 7304 return (int8x16_t)__builtin_neon_vqtbl2q_v(__a.val[0], __a.val[1], __b, 32); } |
| 7305 __ai poly8x16_t vqtbl2q_p8(poly8x16x2_t __a, uint8x16_t __b) { |
| 7306 return (poly8x16_t)__builtin_neon_vqtbl2q_v((int8x16_t)__a.val[0], (int8x16_t)
__a.val[1], (int8x16_t)__b, 36); } |
| 7307 |
| 7308 __ai uint8x8_t vqtbl3_u8(uint8x16x3_t __a, uint8x8_t __b) { |
| 7309 return (uint8x8_t)__builtin_neon_vqtbl3_v((int8x16_t)__a.val[0], (int8x16_t)__
a.val[1], (int8x16_t)__a.val[2], (int8x8_t)__b, 16); } |
| 7310 __ai int8x8_t vqtbl3_s8(int8x16x3_t __a, int8x8_t __b) { |
| 7311 return (int8x8_t)__builtin_neon_vqtbl3_v(__a.val[0], __a.val[1], __a.val[2], _
_b, 0); } |
| 7312 __ai poly8x8_t vqtbl3_p8(poly8x16x3_t __a, uint8x8_t __b) { |
| 7313 return (poly8x8_t)__builtin_neon_vqtbl3_v((int8x16_t)__a.val[0], (int8x16_t)__
a.val[1], (int8x16_t)__a.val[2], (int8x8_t)__b, 4); } |
| 7314 __ai uint8x16_t vqtbl3q_u8(uint8x16x3_t __a, uint8x16_t __b) { |
| 7315 return (uint8x16_t)__builtin_neon_vqtbl3q_v((int8x16_t)__a.val[0], (int8x16_t)
__a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__b, 48); } |
| 7316 __ai int8x16_t vqtbl3q_s8(int8x16x3_t __a, int8x16_t __b) { |
| 7317 return (int8x16_t)__builtin_neon_vqtbl3q_v(__a.val[0], __a.val[1], __a.val[2],
__b, 32); } |
| 7318 __ai poly8x16_t vqtbl3q_p8(poly8x16x3_t __a, uint8x16_t __b) { |
| 7319 return (poly8x16_t)__builtin_neon_vqtbl3q_v((int8x16_t)__a.val[0], (int8x16_t)
__a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__b, 36); } |
| 7320 |
| 7321 __ai uint8x8_t vqtbl4_u8(uint8x16x4_t __a, uint8x8_t __b) { |
| 7322 return (uint8x8_t)__builtin_neon_vqtbl4_v((int8x16_t)__a.val[0], (int8x16_t)__
a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__a.val[3], (int8x8_t)__b, 16); } |
| 7323 __ai int8x8_t vqtbl4_s8(int8x16x4_t __a, int8x8_t __b) { |
| 7324 return (int8x8_t)__builtin_neon_vqtbl4_v(__a.val[0], __a.val[1], __a.val[2], _
_a.val[3], __b, 0); } |
| 7325 __ai poly8x8_t vqtbl4_p8(poly8x16x4_t __a, uint8x8_t __b) { |
| 7326 return (poly8x8_t)__builtin_neon_vqtbl4_v((int8x16_t)__a.val[0], (int8x16_t)__
a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__a.val[3], (int8x8_t)__b, 4); } |
| 7327 __ai uint8x16_t vqtbl4q_u8(uint8x16x4_t __a, uint8x16_t __b) { |
| 7328 return (uint8x16_t)__builtin_neon_vqtbl4q_v((int8x16_t)__a.val[0], (int8x16_t)
__a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__a.val[3], (int8x16_t)__b, 48); } |
| 7329 __ai int8x16_t vqtbl4q_s8(int8x16x4_t __a, int8x16_t __b) { |
| 7330 return (int8x16_t)__builtin_neon_vqtbl4q_v(__a.val[0], __a.val[1], __a.val[2],
__a.val[3], __b, 32); } |
| 7331 __ai poly8x16_t vqtbl4q_p8(poly8x16x4_t __a, uint8x16_t __b) { |
| 7332 return (poly8x16_t)__builtin_neon_vqtbl4q_v((int8x16_t)__a.val[0], (int8x16_t)
__a.val[1], (int8x16_t)__a.val[2], (int8x16_t)__a.val[3], (int8x16_t)__b, 36); } |
| 7333 |
| 7334 __ai uint8x8_t vqtbx1_u8(uint8x8_t __a, uint8x16_t __b, uint8x8_t __c) { |
| 7335 return (uint8x8_t)__builtin_neon_vqtbx1_v((int8x8_t)__a, (int8x16_t)__b, (int8
x8_t)__c, 16); } |
| 7336 __ai int8x8_t vqtbx1_s8(int8x8_t __a, int8x16_t __b, int8x8_t __c) { |
| 7337 return (int8x8_t)__builtin_neon_vqtbx1_v(__a, __b, __c, 0); } |
| 7338 __ai poly8x8_t vqtbx1_p8(poly8x8_t __a, poly8x16_t __b, uint8x8_t __c) { |
| 7339 return (poly8x8_t)__builtin_neon_vqtbx1_v((int8x8_t)__a, (int8x16_t)__b, (int8
x8_t)__c, 4); } |
| 7340 __ai uint8x16_t vqtbx1q_u8(uint8x16_t __a, uint8x16_t __b, uint8x16_t __c) { |
| 7341 return (uint8x16_t)__builtin_neon_vqtbx1q_v((int8x16_t)__a, (int8x16_t)__b, (i
nt8x16_t)__c, 48); } |
| 7342 __ai int8x16_t vqtbx1q_s8(int8x16_t __a, int8x16_t __b, int8x16_t __c) { |
| 7343 return (int8x16_t)__builtin_neon_vqtbx1q_v(__a, __b, __c, 32); } |
| 7344 __ai poly8x16_t vqtbx1q_p8(poly8x16_t __a, poly8x16_t __b, uint8x16_t __c) { |
| 7345 return (poly8x16_t)__builtin_neon_vqtbx1q_v((int8x16_t)__a, (int8x16_t)__b, (i
nt8x16_t)__c, 36); } |
| 7346 |
| 7347 __ai uint8x8_t vqtbx2_u8(uint8x8_t __a, uint8x16x2_t __b, uint8x8_t __c) { |
| 7348 return (uint8x8_t)__builtin_neon_vqtbx2_v((int8x8_t)__a, (int8x16_t)__b.val[0]
, (int8x16_t)__b.val[1], (int8x8_t)__c, 16); } |
| 7349 __ai int8x8_t vqtbx2_s8(int8x8_t __a, int8x16x2_t __b, int8x8_t __c) { |
| 7350 return (int8x8_t)__builtin_neon_vqtbx2_v(__a, __b.val[0], __b.val[1], __c, 0);
} |
| 7351 __ai poly8x8_t vqtbx2_p8(poly8x8_t __a, poly8x16x2_t __b, uint8x8_t __c) { |
| 7352 return (poly8x8_t)__builtin_neon_vqtbx2_v((int8x8_t)__a, (int8x16_t)__b.val[0]
, (int8x16_t)__b.val[1], (int8x8_t)__c, 4); } |
| 7353 __ai uint8x16_t vqtbx2q_u8(uint8x16_t __a, uint8x16x2_t __b, uint8x16_t __c) { |
| 7354 return (uint8x16_t)__builtin_neon_vqtbx2q_v((int8x16_t)__a, (int8x16_t)__b.val
[0], (int8x16_t)__b.val[1], (int8x16_t)__c, 48); } |
| 7355 __ai int8x16_t vqtbx2q_s8(int8x16_t __a, int8x16x2_t __b, int8x16_t __c) { |
| 7356 return (int8x16_t)__builtin_neon_vqtbx2q_v(__a, __b.val[0], __b.val[1], __c, 3
2); } |
| 7357 __ai poly8x16_t vqtbx2q_p8(poly8x16_t __a, poly8x16x2_t __b, uint8x16_t __c) { |
| 7358 return (poly8x16_t)__builtin_neon_vqtbx2q_v((int8x16_t)__a, (int8x16_t)__b.val
[0], (int8x16_t)__b.val[1], (int8x16_t)__c, 36); } |
| 7359 |
| 7360 __ai uint8x8_t vqtbx3_u8(uint8x8_t __a, uint8x16x3_t __b, uint8x8_t __c) { |
| 7361 return (uint8x8_t)__builtin_neon_vqtbx3_v((int8x8_t)__a, (int8x16_t)__b.val[0]
, (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x8_t)__c, 16); } |
| 7362 __ai int8x8_t vqtbx3_s8(int8x8_t __a, int8x16x3_t __b, int8x8_t __c) { |
| 7363 return (int8x8_t)__builtin_neon_vqtbx3_v(__a, __b.val[0], __b.val[1], __b.val[
2], __c, 0); } |
| 7364 __ai poly8x8_t vqtbx3_p8(poly8x8_t __a, poly8x16x3_t __b, uint8x8_t __c) { |
| 7365 return (poly8x8_t)__builtin_neon_vqtbx3_v((int8x8_t)__a, (int8x16_t)__b.val[0]
, (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x8_t)__c, 4); } |
| 7366 __ai uint8x16_t vqtbx3q_u8(uint8x16_t __a, uint8x16x3_t __b, uint8x16_t __c) { |
| 7367 return (uint8x16_t)__builtin_neon_vqtbx3q_v((int8x16_t)__a, (int8x16_t)__b.val
[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__c, 48); } |
| 7368 __ai int8x16_t vqtbx3q_s8(int8x16_t __a, int8x16x3_t __b, int8x16_t __c) { |
| 7369 return (int8x16_t)__builtin_neon_vqtbx3q_v(__a, __b.val[0], __b.val[1], __b.va
l[2], __c, 32); } |
| 7370 __ai poly8x16_t vqtbx3q_p8(poly8x16_t __a, poly8x16x3_t __b, uint8x16_t __c) { |
| 7371 return (poly8x16_t)__builtin_neon_vqtbx3q_v((int8x16_t)__a, (int8x16_t)__b.val
[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__c, 36); } |
| 7372 |
| 7373 __ai uint8x8_t vqtbx4_u8(uint8x8_t __a, uint8x16x4_t __b, uint8x8_t __c) { |
| 7374 return (uint8x8_t)__builtin_neon_vqtbx4_v((int8x8_t)__a, (int8x16_t)__b.val[0]
, (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], (int8x8_t
)__c, 16); } |
| 7375 __ai int8x8_t vqtbx4_s8(int8x8_t __a, int8x16x4_t __b, int8x8_t __c) { |
| 7376 return (int8x8_t)__builtin_neon_vqtbx4_v(__a, __b.val[0], __b.val[1], __b.val[
2], __b.val[3], __c, 0); } |
| 7377 __ai poly8x8_t vqtbx4_p8(poly8x8_t __a, poly8x16x4_t __b, uint8x8_t __c) { |
| 7378 return (poly8x8_t)__builtin_neon_vqtbx4_v((int8x8_t)__a, (int8x16_t)__b.val[0]
, (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], (int8x8_t
)__c, 4); } |
| 7379 __ai uint8x16_t vqtbx4q_u8(uint8x16_t __a, uint8x16x4_t __b, uint8x16_t __c) { |
| 7380 return (uint8x16_t)__builtin_neon_vqtbx4q_v((int8x16_t)__a, (int8x16_t)__b.val
[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], (int8x
16_t)__c, 48); } |
| 7381 __ai int8x16_t vqtbx4q_s8(int8x16_t __a, int8x16x4_t __b, int8x16_t __c) { |
| 7382 return (int8x16_t)__builtin_neon_vqtbx4q_v(__a, __b.val[0], __b.val[1], __b.va
l[2], __b.val[3], __c, 32); } |
| 7383 __ai poly8x16_t vqtbx4q_p8(poly8x16_t __a, poly8x16x4_t __b, uint8x16_t __c) { |
| 7384 return (poly8x16_t)__builtin_neon_vqtbx4q_v((int8x16_t)__a, (int8x16_t)__b.val
[0], (int8x16_t)__b.val[1], (int8x16_t)__b.val[2], (int8x16_t)__b.val[3], (int8x
16_t)__c, 36); } |
| 7385 |
| 7386 #endif |
| 7387 |
| 7388 __ai int8x8_t vraddhn_s16(int16x8_t __a, int16x8_t __b) { |
| 7389 return (int8x8_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 0);
} |
| 7390 __ai int16x4_t vraddhn_s32(int32x4_t __a, int32x4_t __b) { |
| 7391 return (int16x4_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 1);
} |
| 7392 __ai int32x2_t vraddhn_s64(int64x2_t __a, int64x2_t __b) { |
| 7393 return (int32x2_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 2);
} |
| 7394 __ai uint8x8_t vraddhn_u16(uint16x8_t __a, uint16x8_t __b) { |
| 7395 return (uint8x8_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 16)
; } |
| 7396 __ai uint16x4_t vraddhn_u32(uint32x4_t __a, uint32x4_t __b) { |
| 7397 return (uint16x4_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 17
); } |
| 7398 __ai uint32x2_t vraddhn_u64(uint64x2_t __a, uint64x2_t __b) { |
| 7399 return (uint32x2_t)__builtin_neon_vraddhn_v((int8x16_t)__a, (int8x16_t)__b, 18
); } |
| 7400 |
| 7401 #if defined(__aarch64__) |
| 7402 __ai int8x16_t vraddhn_high_s16(int8x8_t __a, int16x8_t __b, int16x8_t __c) { |
| 7403 return vcombine_s8(__a, vraddhn_s16(__b, __c)); } |
| 7404 __ai int16x8_t vraddhn_high_s32(int16x4_t __a, int32x4_t __b, int32x4_t __c) { |
| 7405 return vcombine_s16(__a, vraddhn_s32(__b, __c)); } |
| 7406 __ai int32x4_t vraddhn_high_s64(int32x2_t __a, int64x2_t __b, int64x2_t __c) { |
| 7407 return vcombine_s32(__a, vraddhn_s64(__b, __c)); } |
| 7408 __ai uint8x16_t vraddhn_high_u16(uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
{ |
| 7409 return vcombine_u8(__a, vraddhn_u16(__b, __c)); } |
| 7410 __ai uint16x8_t vraddhn_high_u32(uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
{ |
| 7411 return vcombine_u16(__a, vraddhn_u32(__b, __c)); } |
| 7412 __ai uint32x4_t vraddhn_high_u64(uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
{ |
| 7413 return vcombine_u32(__a, vraddhn_u64(__b, __c)); } |
| 7414 |
| 7415 #endif |
| 7416 |
| 7417 __ai float32x2_t vrecpe_f32(float32x2_t __a) { |
| 7418 return (float32x2_t)__builtin_neon_vrecpe_v((int8x8_t)__a, 9); } |
| 7419 __ai uint32x2_t vrecpe_u32(uint32x2_t __a) { |
| 7420 return (uint32x2_t)__builtin_neon_vrecpe_v((int8x8_t)__a, 18); } |
| 7421 __ai float32x4_t vrecpeq_f32(float32x4_t __a) { |
| 7422 return (float32x4_t)__builtin_neon_vrecpeq_v((int8x16_t)__a, 41); } |
| 7423 __ai uint32x4_t vrecpeq_u32(uint32x4_t __a) { |
| 7424 return (uint32x4_t)__builtin_neon_vrecpeq_v((int8x16_t)__a, 50); } |
| 7425 |
| 7426 __ai float32x2_t vrecps_f32(float32x2_t __a, float32x2_t __b) { |
| 7427 return (float32x2_t)__builtin_neon_vrecps_v((int8x8_t)__a, (int8x8_t)__b, 9);
} |
| 7428 __ai float32x4_t vrecpsq_f32(float32x4_t __a, float32x4_t __b) { |
| 7429 return (float32x4_t)__builtin_neon_vrecpsq_v((int8x16_t)__a, (int8x16_t)__b, 4
1); } |
| 7430 |
| 7431 __ai int8x8_t vreinterpret_s8_s16(int16x4_t __a) { |
| 7432 return (int8x8_t)__a; } |
| 7433 __ai int8x8_t vreinterpret_s8_s32(int32x2_t __a) { |
| 7434 return (int8x8_t)__a; } |
| 7435 __ai int8x8_t vreinterpret_s8_s64(int64x1_t __a) { |
| 7436 return (int8x8_t)__a; } |
| 7437 __ai int8x8_t vreinterpret_s8_u8(uint8x8_t __a) { |
| 7438 return (int8x8_t)__a; } |
| 7439 __ai int8x8_t vreinterpret_s8_u16(uint16x4_t __a) { |
| 7440 return (int8x8_t)__a; } |
| 7441 __ai int8x8_t vreinterpret_s8_u32(uint32x2_t __a) { |
| 7442 return (int8x8_t)__a; } |
| 7443 __ai int8x8_t vreinterpret_s8_u64(uint64x1_t __a) { |
| 7444 return (int8x8_t)__a; } |
| 7445 __ai int8x8_t vreinterpret_s8_f16(float16x4_t __a) { |
| 7446 return (int8x8_t)__a; } |
| 7447 __ai int8x8_t vreinterpret_s8_f32(float32x2_t __a) { |
| 7448 return (int8x8_t)__a; } |
| 7449 __ai int8x8_t vreinterpret_s8_p8(poly8x8_t __a) { |
| 7450 return (int8x8_t)__a; } |
| 7451 __ai int8x8_t vreinterpret_s8_p16(poly16x4_t __a) { |
| 7452 return (int8x8_t)__a; } |
| 7453 __ai int16x4_t vreinterpret_s16_s8(int8x8_t __a) { |
| 7454 return (int16x4_t)__a; } |
| 7455 __ai int16x4_t vreinterpret_s16_s32(int32x2_t __a) { |
| 7456 return (int16x4_t)__a; } |
| 7457 __ai int16x4_t vreinterpret_s16_s64(int64x1_t __a) { |
| 7458 return (int16x4_t)__a; } |
| 7459 __ai int16x4_t vreinterpret_s16_u8(uint8x8_t __a) { |
| 7460 return (int16x4_t)__a; } |
| 7461 __ai int16x4_t vreinterpret_s16_u16(uint16x4_t __a) { |
| 7462 return (int16x4_t)__a; } |
| 7463 __ai int16x4_t vreinterpret_s16_u32(uint32x2_t __a) { |
| 7464 return (int16x4_t)__a; } |
| 7465 __ai int16x4_t vreinterpret_s16_u64(uint64x1_t __a) { |
| 7466 return (int16x4_t)__a; } |
| 7467 __ai int16x4_t vreinterpret_s16_f16(float16x4_t __a) { |
| 7468 return (int16x4_t)__a; } |
| 7469 __ai int16x4_t vreinterpret_s16_f32(float32x2_t __a) { |
| 7470 return (int16x4_t)__a; } |
| 7471 __ai int16x4_t vreinterpret_s16_p8(poly8x8_t __a) { |
| 7472 return (int16x4_t)__a; } |
| 7473 __ai int16x4_t vreinterpret_s16_p16(poly16x4_t __a) { |
| 7474 return (int16x4_t)__a; } |
| 7475 __ai int32x2_t vreinterpret_s32_s8(int8x8_t __a) { |
| 7476 return (int32x2_t)__a; } |
| 7477 __ai int32x2_t vreinterpret_s32_s16(int16x4_t __a) { |
| 7478 return (int32x2_t)__a; } |
| 7479 __ai int32x2_t vreinterpret_s32_s64(int64x1_t __a) { |
| 7480 return (int32x2_t)__a; } |
| 7481 __ai int32x2_t vreinterpret_s32_u8(uint8x8_t __a) { |
| 7482 return (int32x2_t)__a; } |
| 7483 __ai int32x2_t vreinterpret_s32_u16(uint16x4_t __a) { |
| 7484 return (int32x2_t)__a; } |
| 7485 __ai int32x2_t vreinterpret_s32_u32(uint32x2_t __a) { |
| 7486 return (int32x2_t)__a; } |
| 7487 __ai int32x2_t vreinterpret_s32_u64(uint64x1_t __a) { |
| 7488 return (int32x2_t)__a; } |
| 7489 __ai int32x2_t vreinterpret_s32_f16(float16x4_t __a) { |
| 7490 return (int32x2_t)__a; } |
| 7491 __ai int32x2_t vreinterpret_s32_f32(float32x2_t __a) { |
| 7492 return (int32x2_t)__a; } |
| 7493 __ai int32x2_t vreinterpret_s32_p8(poly8x8_t __a) { |
| 7494 return (int32x2_t)__a; } |
| 7495 __ai int32x2_t vreinterpret_s32_p16(poly16x4_t __a) { |
| 7496 return (int32x2_t)__a; } |
| 7497 __ai int64x1_t vreinterpret_s64_s8(int8x8_t __a) { |
| 7498 return (int64x1_t)__a; } |
| 7499 __ai int64x1_t vreinterpret_s64_s16(int16x4_t __a) { |
| 7500 return (int64x1_t)__a; } |
| 7501 __ai int64x1_t vreinterpret_s64_s32(int32x2_t __a) { |
| 7502 return (int64x1_t)__a; } |
| 7503 __ai int64x1_t vreinterpret_s64_u8(uint8x8_t __a) { |
| 7504 return (int64x1_t)__a; } |
| 7505 __ai int64x1_t vreinterpret_s64_u16(uint16x4_t __a) { |
| 7506 return (int64x1_t)__a; } |
| 7507 __ai int64x1_t vreinterpret_s64_u32(uint32x2_t __a) { |
| 7508 return (int64x1_t)__a; } |
| 7509 __ai int64x1_t vreinterpret_s64_u64(uint64x1_t __a) { |
| 7510 return (int64x1_t)__a; } |
| 7511 __ai int64x1_t vreinterpret_s64_f16(float16x4_t __a) { |
| 7512 return (int64x1_t)__a; } |
| 7513 __ai int64x1_t vreinterpret_s64_f32(float32x2_t __a) { |
| 7514 return (int64x1_t)__a; } |
| 7515 __ai int64x1_t vreinterpret_s64_p8(poly8x8_t __a) { |
| 7516 return (int64x1_t)__a; } |
| 7517 __ai int64x1_t vreinterpret_s64_p16(poly16x4_t __a) { |
| 7518 return (int64x1_t)__a; } |
| 7519 __ai uint8x8_t vreinterpret_u8_s8(int8x8_t __a) { |
| 7520 return (uint8x8_t)__a; } |
| 7521 __ai uint8x8_t vreinterpret_u8_s16(int16x4_t __a) { |
| 7522 return (uint8x8_t)__a; } |
| 7523 __ai uint8x8_t vreinterpret_u8_s32(int32x2_t __a) { |
| 7524 return (uint8x8_t)__a; } |
| 7525 __ai uint8x8_t vreinterpret_u8_s64(int64x1_t __a) { |
| 7526 return (uint8x8_t)__a; } |
| 7527 __ai uint8x8_t vreinterpret_u8_u16(uint16x4_t __a) { |
| 7528 return (uint8x8_t)__a; } |
| 7529 __ai uint8x8_t vreinterpret_u8_u32(uint32x2_t __a) { |
| 7530 return (uint8x8_t)__a; } |
| 7531 __ai uint8x8_t vreinterpret_u8_u64(uint64x1_t __a) { |
| 7532 return (uint8x8_t)__a; } |
| 7533 __ai uint8x8_t vreinterpret_u8_f16(float16x4_t __a) { |
| 7534 return (uint8x8_t)__a; } |
| 7535 __ai uint8x8_t vreinterpret_u8_f32(float32x2_t __a) { |
| 7536 return (uint8x8_t)__a; } |
| 7537 __ai uint8x8_t vreinterpret_u8_p8(poly8x8_t __a) { |
| 7538 return (uint8x8_t)__a; } |
| 7539 __ai uint8x8_t vreinterpret_u8_p16(poly16x4_t __a) { |
| 7540 return (uint8x8_t)__a; } |
| 7541 __ai uint16x4_t vreinterpret_u16_s8(int8x8_t __a) { |
| 7542 return (uint16x4_t)__a; } |
| 7543 __ai uint16x4_t vreinterpret_u16_s16(int16x4_t __a) { |
| 7544 return (uint16x4_t)__a; } |
| 7545 __ai uint16x4_t vreinterpret_u16_s32(int32x2_t __a) { |
| 7546 return (uint16x4_t)__a; } |
| 7547 __ai uint16x4_t vreinterpret_u16_s64(int64x1_t __a) { |
| 7548 return (uint16x4_t)__a; } |
| 7549 __ai uint16x4_t vreinterpret_u16_u8(uint8x8_t __a) { |
| 7550 return (uint16x4_t)__a; } |
| 7551 __ai uint16x4_t vreinterpret_u16_u32(uint32x2_t __a) { |
| 7552 return (uint16x4_t)__a; } |
| 7553 __ai uint16x4_t vreinterpret_u16_u64(uint64x1_t __a) { |
| 7554 return (uint16x4_t)__a; } |
| 7555 __ai uint16x4_t vreinterpret_u16_f16(float16x4_t __a) { |
| 7556 return (uint16x4_t)__a; } |
| 7557 __ai uint16x4_t vreinterpret_u16_f32(float32x2_t __a) { |
| 7558 return (uint16x4_t)__a; } |
| 7559 __ai uint16x4_t vreinterpret_u16_p8(poly8x8_t __a) { |
| 7560 return (uint16x4_t)__a; } |
| 7561 __ai uint16x4_t vreinterpret_u16_p16(poly16x4_t __a) { |
| 7562 return (uint16x4_t)__a; } |
| 7563 __ai uint32x2_t vreinterpret_u32_s8(int8x8_t __a) { |
| 7564 return (uint32x2_t)__a; } |
| 7565 __ai uint32x2_t vreinterpret_u32_s16(int16x4_t __a) { |
| 7566 return (uint32x2_t)__a; } |
| 7567 __ai uint32x2_t vreinterpret_u32_s32(int32x2_t __a) { |
| 7568 return (uint32x2_t)__a; } |
| 7569 __ai uint32x2_t vreinterpret_u32_s64(int64x1_t __a) { |
| 7570 return (uint32x2_t)__a; } |
| 7571 __ai uint32x2_t vreinterpret_u32_u8(uint8x8_t __a) { |
| 7572 return (uint32x2_t)__a; } |
| 7573 __ai uint32x2_t vreinterpret_u32_u16(uint16x4_t __a) { |
| 7574 return (uint32x2_t)__a; } |
| 7575 __ai uint32x2_t vreinterpret_u32_u64(uint64x1_t __a) { |
| 7576 return (uint32x2_t)__a; } |
| 7577 __ai uint32x2_t vreinterpret_u32_f16(float16x4_t __a) { |
| 7578 return (uint32x2_t)__a; } |
| 7579 __ai uint32x2_t vreinterpret_u32_f32(float32x2_t __a) { |
| 7580 return (uint32x2_t)__a; } |
| 7581 __ai uint32x2_t vreinterpret_u32_p8(poly8x8_t __a) { |
| 7582 return (uint32x2_t)__a; } |
| 7583 __ai uint32x2_t vreinterpret_u32_p16(poly16x4_t __a) { |
| 7584 return (uint32x2_t)__a; } |
| 7585 __ai uint64x1_t vreinterpret_u64_s8(int8x8_t __a) { |
| 7586 return (uint64x1_t)__a; } |
| 7587 __ai uint64x1_t vreinterpret_u64_s16(int16x4_t __a) { |
| 7588 return (uint64x1_t)__a; } |
| 7589 __ai uint64x1_t vreinterpret_u64_s32(int32x2_t __a) { |
| 7590 return (uint64x1_t)__a; } |
| 7591 __ai uint64x1_t vreinterpret_u64_s64(int64x1_t __a) { |
| 7592 return (uint64x1_t)__a; } |
| 7593 __ai uint64x1_t vreinterpret_u64_u8(uint8x8_t __a) { |
| 7594 return (uint64x1_t)__a; } |
| 7595 __ai uint64x1_t vreinterpret_u64_u16(uint16x4_t __a) { |
| 7596 return (uint64x1_t)__a; } |
| 7597 __ai uint64x1_t vreinterpret_u64_u32(uint32x2_t __a) { |
| 7598 return (uint64x1_t)__a; } |
| 7599 __ai uint64x1_t vreinterpret_u64_f16(float16x4_t __a) { |
| 7600 return (uint64x1_t)__a; } |
| 7601 __ai uint64x1_t vreinterpret_u64_f32(float32x2_t __a) { |
| 7602 return (uint64x1_t)__a; } |
| 7603 __ai uint64x1_t vreinterpret_u64_p8(poly8x8_t __a) { |
| 7604 return (uint64x1_t)__a; } |
| 7605 __ai uint64x1_t vreinterpret_u64_p16(poly16x4_t __a) { |
| 7606 return (uint64x1_t)__a; } |
| 7607 __ai float16x4_t vreinterpret_f16_s8(int8x8_t __a) { |
| 7608 return (float16x4_t)__a; } |
| 7609 __ai float16x4_t vreinterpret_f16_s16(int16x4_t __a) { |
| 7610 return (float16x4_t)__a; } |
| 7611 __ai float16x4_t vreinterpret_f16_s32(int32x2_t __a) { |
| 7612 return (float16x4_t)__a; } |
| 7613 __ai float16x4_t vreinterpret_f16_s64(int64x1_t __a) { |
| 7614 return (float16x4_t)__a; } |
| 7615 __ai float16x4_t vreinterpret_f16_u8(uint8x8_t __a) { |
| 7616 return (float16x4_t)__a; } |
| 7617 __ai float16x4_t vreinterpret_f16_u16(uint16x4_t __a) { |
| 7618 return (float16x4_t)__a; } |
| 7619 __ai float16x4_t vreinterpret_f16_u32(uint32x2_t __a) { |
| 7620 return (float16x4_t)__a; } |
| 7621 __ai float16x4_t vreinterpret_f16_u64(uint64x1_t __a) { |
| 7622 return (float16x4_t)__a; } |
| 7623 __ai float16x4_t vreinterpret_f16_f32(float32x2_t __a) { |
| 7624 return (float16x4_t)__a; } |
| 7625 __ai float16x4_t vreinterpret_f16_p8(poly8x8_t __a) { |
| 7626 return (float16x4_t)__a; } |
| 7627 __ai float16x4_t vreinterpret_f16_p16(poly16x4_t __a) { |
| 7628 return (float16x4_t)__a; } |
| 7629 __ai float32x2_t vreinterpret_f32_s8(int8x8_t __a) { |
| 7630 return (float32x2_t)__a; } |
| 7631 __ai float32x2_t vreinterpret_f32_s16(int16x4_t __a) { |
| 7632 return (float32x2_t)__a; } |
| 7633 __ai float32x2_t vreinterpret_f32_s32(int32x2_t __a) { |
| 7634 return (float32x2_t)__a; } |
| 7635 __ai float32x2_t vreinterpret_f32_s64(int64x1_t __a) { |
| 7636 return (float32x2_t)__a; } |
| 7637 __ai float32x2_t vreinterpret_f32_u8(uint8x8_t __a) { |
| 7638 return (float32x2_t)__a; } |
| 7639 __ai float32x2_t vreinterpret_f32_u16(uint16x4_t __a) { |
| 7640 return (float32x2_t)__a; } |
| 7641 __ai float32x2_t vreinterpret_f32_u32(uint32x2_t __a) { |
| 7642 return (float32x2_t)__a; } |
| 7643 __ai float32x2_t vreinterpret_f32_u64(uint64x1_t __a) { |
| 7644 return (float32x2_t)__a; } |
| 7645 __ai float32x2_t vreinterpret_f32_f16(float16x4_t __a) { |
| 7646 return (float32x2_t)__a; } |
| 7647 __ai float32x2_t vreinterpret_f32_p8(poly8x8_t __a) { |
| 7648 return (float32x2_t)__a; } |
| 7649 __ai float32x2_t vreinterpret_f32_p16(poly16x4_t __a) { |
| 7650 return (float32x2_t)__a; } |
| 7651 __ai poly8x8_t vreinterpret_p8_s8(int8x8_t __a) { |
| 7652 return (poly8x8_t)__a; } |
| 7653 __ai poly8x8_t vreinterpret_p8_s16(int16x4_t __a) { |
| 7654 return (poly8x8_t)__a; } |
| 7655 __ai poly8x8_t vreinterpret_p8_s32(int32x2_t __a) { |
| 7656 return (poly8x8_t)__a; } |
| 7657 __ai poly8x8_t vreinterpret_p8_s64(int64x1_t __a) { |
| 7658 return (poly8x8_t)__a; } |
| 7659 __ai poly8x8_t vreinterpret_p8_u8(uint8x8_t __a) { |
| 7660 return (poly8x8_t)__a; } |
| 7661 __ai poly8x8_t vreinterpret_p8_u16(uint16x4_t __a) { |
| 7662 return (poly8x8_t)__a; } |
| 7663 __ai poly8x8_t vreinterpret_p8_u32(uint32x2_t __a) { |
| 7664 return (poly8x8_t)__a; } |
| 7665 __ai poly8x8_t vreinterpret_p8_u64(uint64x1_t __a) { |
| 7666 return (poly8x8_t)__a; } |
| 7667 __ai poly8x8_t vreinterpret_p8_f16(float16x4_t __a) { |
| 7668 return (poly8x8_t)__a; } |
| 7669 __ai poly8x8_t vreinterpret_p8_f32(float32x2_t __a) { |
| 7670 return (poly8x8_t)__a; } |
| 7671 __ai poly8x8_t vreinterpret_p8_p16(poly16x4_t __a) { |
| 7672 return (poly8x8_t)__a; } |
| 7673 __ai poly16x4_t vreinterpret_p16_s8(int8x8_t __a) { |
| 7674 return (poly16x4_t)__a; } |
| 7675 __ai poly16x4_t vreinterpret_p16_s16(int16x4_t __a) { |
| 7676 return (poly16x4_t)__a; } |
| 7677 __ai poly16x4_t vreinterpret_p16_s32(int32x2_t __a) { |
| 7678 return (poly16x4_t)__a; } |
| 7679 __ai poly16x4_t vreinterpret_p16_s64(int64x1_t __a) { |
| 7680 return (poly16x4_t)__a; } |
| 7681 __ai poly16x4_t vreinterpret_p16_u8(uint8x8_t __a) { |
| 7682 return (poly16x4_t)__a; } |
| 7683 __ai poly16x4_t vreinterpret_p16_u16(uint16x4_t __a) { |
| 7684 return (poly16x4_t)__a; } |
| 7685 __ai poly16x4_t vreinterpret_p16_u32(uint32x2_t __a) { |
| 7686 return (poly16x4_t)__a; } |
| 7687 __ai poly16x4_t vreinterpret_p16_u64(uint64x1_t __a) { |
| 7688 return (poly16x4_t)__a; } |
| 7689 __ai poly16x4_t vreinterpret_p16_f16(float16x4_t __a) { |
| 7690 return (poly16x4_t)__a; } |
| 7691 __ai poly16x4_t vreinterpret_p16_f32(float32x2_t __a) { |
| 7692 return (poly16x4_t)__a; } |
| 7693 __ai poly16x4_t vreinterpret_p16_p8(poly8x8_t __a) { |
| 7694 return (poly16x4_t)__a; } |
| 7695 __ai int8x16_t vreinterpretq_s8_s16(int16x8_t __a) { |
| 7696 return (int8x16_t)__a; } |
| 7697 __ai int8x16_t vreinterpretq_s8_s32(int32x4_t __a) { |
| 7698 return (int8x16_t)__a; } |
| 7699 __ai int8x16_t vreinterpretq_s8_s64(int64x2_t __a) { |
| 7700 return (int8x16_t)__a; } |
| 7701 __ai int8x16_t vreinterpretq_s8_u8(uint8x16_t __a) { |
| 7702 return (int8x16_t)__a; } |
| 7703 __ai int8x16_t vreinterpretq_s8_u16(uint16x8_t __a) { |
| 7704 return (int8x16_t)__a; } |
| 7705 __ai int8x16_t vreinterpretq_s8_u32(uint32x4_t __a) { |
| 7706 return (int8x16_t)__a; } |
| 7707 __ai int8x16_t vreinterpretq_s8_u64(uint64x2_t __a) { |
| 7708 return (int8x16_t)__a; } |
| 7709 __ai int8x16_t vreinterpretq_s8_f16(float16x8_t __a) { |
| 7710 return (int8x16_t)__a; } |
| 7711 __ai int8x16_t vreinterpretq_s8_f32(float32x4_t __a) { |
| 7712 return (int8x16_t)__a; } |
| 7713 __ai int8x16_t vreinterpretq_s8_p8(poly8x16_t __a) { |
| 7714 return (int8x16_t)__a; } |
| 7715 __ai int8x16_t vreinterpretq_s8_p16(poly16x8_t __a) { |
| 7716 return (int8x16_t)__a; } |
| 7717 __ai int16x8_t vreinterpretq_s16_s8(int8x16_t __a) { |
| 7718 return (int16x8_t)__a; } |
| 7719 __ai int16x8_t vreinterpretq_s16_s32(int32x4_t __a) { |
| 7720 return (int16x8_t)__a; } |
| 7721 __ai int16x8_t vreinterpretq_s16_s64(int64x2_t __a) { |
| 7722 return (int16x8_t)__a; } |
| 7723 __ai int16x8_t vreinterpretq_s16_u8(uint8x16_t __a) { |
| 7724 return (int16x8_t)__a; } |
| 7725 __ai int16x8_t vreinterpretq_s16_u16(uint16x8_t __a) { |
| 7726 return (int16x8_t)__a; } |
| 7727 __ai int16x8_t vreinterpretq_s16_u32(uint32x4_t __a) { |
| 7728 return (int16x8_t)__a; } |
| 7729 __ai int16x8_t vreinterpretq_s16_u64(uint64x2_t __a) { |
| 7730 return (int16x8_t)__a; } |
| 7731 __ai int16x8_t vreinterpretq_s16_f16(float16x8_t __a) { |
| 7732 return (int16x8_t)__a; } |
| 7733 __ai int16x8_t vreinterpretq_s16_f32(float32x4_t __a) { |
| 7734 return (int16x8_t)__a; } |
| 7735 __ai int16x8_t vreinterpretq_s16_p8(poly8x16_t __a) { |
| 7736 return (int16x8_t)__a; } |
| 7737 __ai int16x8_t vreinterpretq_s16_p16(poly16x8_t __a) { |
| 7738 return (int16x8_t)__a; } |
| 7739 __ai int32x4_t vreinterpretq_s32_s8(int8x16_t __a) { |
| 7740 return (int32x4_t)__a; } |
| 7741 __ai int32x4_t vreinterpretq_s32_s16(int16x8_t __a) { |
| 7742 return (int32x4_t)__a; } |
| 7743 __ai int32x4_t vreinterpretq_s32_s64(int64x2_t __a) { |
| 7744 return (int32x4_t)__a; } |
| 7745 __ai int32x4_t vreinterpretq_s32_u8(uint8x16_t __a) { |
| 7746 return (int32x4_t)__a; } |
| 7747 __ai int32x4_t vreinterpretq_s32_u16(uint16x8_t __a) { |
| 7748 return (int32x4_t)__a; } |
| 7749 __ai int32x4_t vreinterpretq_s32_u32(uint32x4_t __a) { |
| 7750 return (int32x4_t)__a; } |
| 7751 __ai int32x4_t vreinterpretq_s32_u64(uint64x2_t __a) { |
| 7752 return (int32x4_t)__a; } |
| 7753 __ai int32x4_t vreinterpretq_s32_f16(float16x8_t __a) { |
| 7754 return (int32x4_t)__a; } |
| 7755 __ai int32x4_t vreinterpretq_s32_f32(float32x4_t __a) { |
| 7756 return (int32x4_t)__a; } |
| 7757 __ai int32x4_t vreinterpretq_s32_p8(poly8x16_t __a) { |
| 7758 return (int32x4_t)__a; } |
| 7759 __ai int32x4_t vreinterpretq_s32_p16(poly16x8_t __a) { |
| 7760 return (int32x4_t)__a; } |
| 7761 __ai int64x2_t vreinterpretq_s64_s8(int8x16_t __a) { |
| 7762 return (int64x2_t)__a; } |
| 7763 __ai int64x2_t vreinterpretq_s64_s16(int16x8_t __a) { |
| 7764 return (int64x2_t)__a; } |
| 7765 __ai int64x2_t vreinterpretq_s64_s32(int32x4_t __a) { |
| 7766 return (int64x2_t)__a; } |
| 7767 __ai int64x2_t vreinterpretq_s64_u8(uint8x16_t __a) { |
| 7768 return (int64x2_t)__a; } |
| 7769 __ai int64x2_t vreinterpretq_s64_u16(uint16x8_t __a) { |
| 7770 return (int64x2_t)__a; } |
| 7771 __ai int64x2_t vreinterpretq_s64_u32(uint32x4_t __a) { |
| 7772 return (int64x2_t)__a; } |
| 7773 __ai int64x2_t vreinterpretq_s64_u64(uint64x2_t __a) { |
| 7774 return (int64x2_t)__a; } |
| 7775 __ai int64x2_t vreinterpretq_s64_f16(float16x8_t __a) { |
| 7776 return (int64x2_t)__a; } |
| 7777 __ai int64x2_t vreinterpretq_s64_f32(float32x4_t __a) { |
| 7778 return (int64x2_t)__a; } |
| 7779 __ai int64x2_t vreinterpretq_s64_p8(poly8x16_t __a) { |
| 7780 return (int64x2_t)__a; } |
| 7781 __ai int64x2_t vreinterpretq_s64_p16(poly16x8_t __a) { |
| 7782 return (int64x2_t)__a; } |
| 7783 __ai uint8x16_t vreinterpretq_u8_s8(int8x16_t __a) { |
| 7784 return (uint8x16_t)__a; } |
| 7785 __ai uint8x16_t vreinterpretq_u8_s16(int16x8_t __a) { |
| 7786 return (uint8x16_t)__a; } |
| 7787 __ai uint8x16_t vreinterpretq_u8_s32(int32x4_t __a) { |
| 7788 return (uint8x16_t)__a; } |
| 7789 __ai uint8x16_t vreinterpretq_u8_s64(int64x2_t __a) { |
| 7790 return (uint8x16_t)__a; } |
| 7791 __ai uint8x16_t vreinterpretq_u8_u16(uint16x8_t __a) { |
| 7792 return (uint8x16_t)__a; } |
| 7793 __ai uint8x16_t vreinterpretq_u8_u32(uint32x4_t __a) { |
| 7794 return (uint8x16_t)__a; } |
| 7795 __ai uint8x16_t vreinterpretq_u8_u64(uint64x2_t __a) { |
| 7796 return (uint8x16_t)__a; } |
| 7797 __ai uint8x16_t vreinterpretq_u8_f16(float16x8_t __a) { |
| 7798 return (uint8x16_t)__a; } |
| 7799 __ai uint8x16_t vreinterpretq_u8_f32(float32x4_t __a) { |
| 7800 return (uint8x16_t)__a; } |
| 7801 __ai uint8x16_t vreinterpretq_u8_p8(poly8x16_t __a) { |
| 7802 return (uint8x16_t)__a; } |
| 7803 __ai uint8x16_t vreinterpretq_u8_p16(poly16x8_t __a) { |
| 7804 return (uint8x16_t)__a; } |
| 7805 __ai uint16x8_t vreinterpretq_u16_s8(int8x16_t __a) { |
| 7806 return (uint16x8_t)__a; } |
| 7807 __ai uint16x8_t vreinterpretq_u16_s16(int16x8_t __a) { |
| 7808 return (uint16x8_t)__a; } |
| 7809 __ai uint16x8_t vreinterpretq_u16_s32(int32x4_t __a) { |
| 7810 return (uint16x8_t)__a; } |
| 7811 __ai uint16x8_t vreinterpretq_u16_s64(int64x2_t __a) { |
| 7812 return (uint16x8_t)__a; } |
| 7813 __ai uint16x8_t vreinterpretq_u16_u8(uint8x16_t __a) { |
| 7814 return (uint16x8_t)__a; } |
| 7815 __ai uint16x8_t vreinterpretq_u16_u32(uint32x4_t __a) { |
| 7816 return (uint16x8_t)__a; } |
| 7817 __ai uint16x8_t vreinterpretq_u16_u64(uint64x2_t __a) { |
| 7818 return (uint16x8_t)__a; } |
| 7819 __ai uint16x8_t vreinterpretq_u16_f16(float16x8_t __a) { |
| 7820 return (uint16x8_t)__a; } |
| 7821 __ai uint16x8_t vreinterpretq_u16_f32(float32x4_t __a) { |
| 7822 return (uint16x8_t)__a; } |
| 7823 __ai uint16x8_t vreinterpretq_u16_p8(poly8x16_t __a) { |
| 7824 return (uint16x8_t)__a; } |
| 7825 __ai uint16x8_t vreinterpretq_u16_p16(poly16x8_t __a) { |
| 7826 return (uint16x8_t)__a; } |
| 7827 __ai uint32x4_t vreinterpretq_u32_s8(int8x16_t __a) { |
| 7828 return (uint32x4_t)__a; } |
| 7829 __ai uint32x4_t vreinterpretq_u32_s16(int16x8_t __a) { |
| 7830 return (uint32x4_t)__a; } |
| 7831 __ai uint32x4_t vreinterpretq_u32_s32(int32x4_t __a) { |
| 7832 return (uint32x4_t)__a; } |
| 7833 __ai uint32x4_t vreinterpretq_u32_s64(int64x2_t __a) { |
| 7834 return (uint32x4_t)__a; } |
| 7835 __ai uint32x4_t vreinterpretq_u32_u8(uint8x16_t __a) { |
| 7836 return (uint32x4_t)__a; } |
| 7837 __ai uint32x4_t vreinterpretq_u32_u16(uint16x8_t __a) { |
| 7838 return (uint32x4_t)__a; } |
| 7839 __ai uint32x4_t vreinterpretq_u32_u64(uint64x2_t __a) { |
| 7840 return (uint32x4_t)__a; } |
| 7841 __ai uint32x4_t vreinterpretq_u32_f16(float16x8_t __a) { |
| 7842 return (uint32x4_t)__a; } |
| 7843 __ai uint32x4_t vreinterpretq_u32_f32(float32x4_t __a) { |
| 7844 return (uint32x4_t)__a; } |
| 7845 __ai uint32x4_t vreinterpretq_u32_p8(poly8x16_t __a) { |
| 7846 return (uint32x4_t)__a; } |
| 7847 __ai uint32x4_t vreinterpretq_u32_p16(poly16x8_t __a) { |
| 7848 return (uint32x4_t)__a; } |
| 7849 __ai uint64x2_t vreinterpretq_u64_s8(int8x16_t __a) { |
| 7850 return (uint64x2_t)__a; } |
| 7851 __ai uint64x2_t vreinterpretq_u64_s16(int16x8_t __a) { |
| 7852 return (uint64x2_t)__a; } |
| 7853 __ai uint64x2_t vreinterpretq_u64_s32(int32x4_t __a) { |
| 7854 return (uint64x2_t)__a; } |
| 7855 __ai uint64x2_t vreinterpretq_u64_s64(int64x2_t __a) { |
| 7856 return (uint64x2_t)__a; } |
| 7857 __ai uint64x2_t vreinterpretq_u64_u8(uint8x16_t __a) { |
| 7858 return (uint64x2_t)__a; } |
| 7859 __ai uint64x2_t vreinterpretq_u64_u16(uint16x8_t __a) { |
| 7860 return (uint64x2_t)__a; } |
| 7861 __ai uint64x2_t vreinterpretq_u64_u32(uint32x4_t __a) { |
| 7862 return (uint64x2_t)__a; } |
| 7863 __ai uint64x2_t vreinterpretq_u64_f16(float16x8_t __a) { |
| 7864 return (uint64x2_t)__a; } |
| 7865 __ai uint64x2_t vreinterpretq_u64_f32(float32x4_t __a) { |
| 7866 return (uint64x2_t)__a; } |
| 7867 __ai uint64x2_t vreinterpretq_u64_p8(poly8x16_t __a) { |
| 7868 return (uint64x2_t)__a; } |
| 7869 __ai uint64x2_t vreinterpretq_u64_p16(poly16x8_t __a) { |
| 7870 return (uint64x2_t)__a; } |
| 7871 __ai float16x8_t vreinterpretq_f16_s8(int8x16_t __a) { |
| 7872 return (float16x8_t)__a; } |
| 7873 __ai float16x8_t vreinterpretq_f16_s16(int16x8_t __a) { |
| 7874 return (float16x8_t)__a; } |
| 7875 __ai float16x8_t vreinterpretq_f16_s32(int32x4_t __a) { |
| 7876 return (float16x8_t)__a; } |
| 7877 __ai float16x8_t vreinterpretq_f16_s64(int64x2_t __a) { |
| 7878 return (float16x8_t)__a; } |
| 7879 __ai float16x8_t vreinterpretq_f16_u8(uint8x16_t __a) { |
| 7880 return (float16x8_t)__a; } |
| 7881 __ai float16x8_t vreinterpretq_f16_u16(uint16x8_t __a) { |
| 7882 return (float16x8_t)__a; } |
| 7883 __ai float16x8_t vreinterpretq_f16_u32(uint32x4_t __a) { |
| 7884 return (float16x8_t)__a; } |
| 7885 __ai float16x8_t vreinterpretq_f16_u64(uint64x2_t __a) { |
| 7886 return (float16x8_t)__a; } |
| 7887 __ai float16x8_t vreinterpretq_f16_f32(float32x4_t __a) { |
| 7888 return (float16x8_t)__a; } |
| 7889 __ai float16x8_t vreinterpretq_f16_p8(poly8x16_t __a) { |
| 7890 return (float16x8_t)__a; } |
| 7891 __ai float16x8_t vreinterpretq_f16_p16(poly16x8_t __a) { |
| 7892 return (float16x8_t)__a; } |
| 7893 __ai float32x4_t vreinterpretq_f32_s8(int8x16_t __a) { |
| 7894 return (float32x4_t)__a; } |
| 7895 __ai float32x4_t vreinterpretq_f32_s16(int16x8_t __a) { |
| 7896 return (float32x4_t)__a; } |
| 7897 __ai float32x4_t vreinterpretq_f32_s32(int32x4_t __a) { |
| 7898 return (float32x4_t)__a; } |
| 7899 __ai float32x4_t vreinterpretq_f32_s64(int64x2_t __a) { |
| 7900 return (float32x4_t)__a; } |
| 7901 __ai float32x4_t vreinterpretq_f32_u8(uint8x16_t __a) { |
| 7902 return (float32x4_t)__a; } |
| 7903 __ai float32x4_t vreinterpretq_f32_u16(uint16x8_t __a) { |
| 7904 return (float32x4_t)__a; } |
| 7905 __ai float32x4_t vreinterpretq_f32_u32(uint32x4_t __a) { |
| 7906 return (float32x4_t)__a; } |
| 7907 __ai float32x4_t vreinterpretq_f32_u64(uint64x2_t __a) { |
| 7908 return (float32x4_t)__a; } |
| 7909 __ai float32x4_t vreinterpretq_f32_f16(float16x8_t __a) { |
| 7910 return (float32x4_t)__a; } |
| 7911 __ai float32x4_t vreinterpretq_f32_p8(poly8x16_t __a) { |
| 7912 return (float32x4_t)__a; } |
| 7913 __ai float32x4_t vreinterpretq_f32_p16(poly16x8_t __a) { |
| 7914 return (float32x4_t)__a; } |
| 7915 __ai poly8x16_t vreinterpretq_p8_s8(int8x16_t __a) { |
| 7916 return (poly8x16_t)__a; } |
| 7917 __ai poly8x16_t vreinterpretq_p8_s16(int16x8_t __a) { |
| 7918 return (poly8x16_t)__a; } |
| 7919 __ai poly8x16_t vreinterpretq_p8_s32(int32x4_t __a) { |
| 7920 return (poly8x16_t)__a; } |
| 7921 __ai poly8x16_t vreinterpretq_p8_s64(int64x2_t __a) { |
| 7922 return (poly8x16_t)__a; } |
| 7923 __ai poly8x16_t vreinterpretq_p8_u8(uint8x16_t __a) { |
| 7924 return (poly8x16_t)__a; } |
| 7925 __ai poly8x16_t vreinterpretq_p8_u16(uint16x8_t __a) { |
| 7926 return (poly8x16_t)__a; } |
| 7927 __ai poly8x16_t vreinterpretq_p8_u32(uint32x4_t __a) { |
| 7928 return (poly8x16_t)__a; } |
| 7929 __ai poly8x16_t vreinterpretq_p8_u64(uint64x2_t __a) { |
| 7930 return (poly8x16_t)__a; } |
| 7931 __ai poly8x16_t vreinterpretq_p8_f16(float16x8_t __a) { |
| 7932 return (poly8x16_t)__a; } |
| 7933 __ai poly8x16_t vreinterpretq_p8_f32(float32x4_t __a) { |
| 7934 return (poly8x16_t)__a; } |
| 7935 __ai poly8x16_t vreinterpretq_p8_p16(poly16x8_t __a) { |
| 7936 return (poly8x16_t)__a; } |
| 7937 __ai poly16x8_t vreinterpretq_p16_s8(int8x16_t __a) { |
| 7938 return (poly16x8_t)__a; } |
| 7939 __ai poly16x8_t vreinterpretq_p16_s16(int16x8_t __a) { |
| 7940 return (poly16x8_t)__a; } |
| 7941 __ai poly16x8_t vreinterpretq_p16_s32(int32x4_t __a) { |
| 7942 return (poly16x8_t)__a; } |
| 7943 __ai poly16x8_t vreinterpretq_p16_s64(int64x2_t __a) { |
| 7944 return (poly16x8_t)__a; } |
| 7945 __ai poly16x8_t vreinterpretq_p16_u8(uint8x16_t __a) { |
| 7946 return (poly16x8_t)__a; } |
| 7947 __ai poly16x8_t vreinterpretq_p16_u16(uint16x8_t __a) { |
| 7948 return (poly16x8_t)__a; } |
| 7949 __ai poly16x8_t vreinterpretq_p16_u32(uint32x4_t __a) { |
| 7950 return (poly16x8_t)__a; } |
| 7951 __ai poly16x8_t vreinterpretq_p16_u64(uint64x2_t __a) { |
| 7952 return (poly16x8_t)__a; } |
| 7953 __ai poly16x8_t vreinterpretq_p16_f16(float16x8_t __a) { |
| 7954 return (poly16x8_t)__a; } |
| 7955 __ai poly16x8_t vreinterpretq_p16_f32(float32x4_t __a) { |
| 7956 return (poly16x8_t)__a; } |
| 7957 __ai poly16x8_t vreinterpretq_p16_p8(poly8x16_t __a) { |
| 7958 return (poly16x8_t)__a; } |
| 7959 |
| 7960 __ai int8x8_t vrev16_s8(int8x8_t __a) { |
| 7961 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); } |
| 7962 __ai uint8x8_t vrev16_u8(uint8x8_t __a) { |
| 7963 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); } |
| 7964 __ai poly8x8_t vrev16_p8(poly8x8_t __a) { |
| 7965 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); } |
| 7966 __ai int8x16_t vrev16q_s8(int8x16_t __a) { |
| 7967 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10,
13, 12, 15, 14); } |
| 7968 __ai uint8x16_t vrev16q_u8(uint8x16_t __a) { |
| 7969 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10,
13, 12, 15, 14); } |
| 7970 __ai poly8x16_t vrev16q_p8(poly8x16_t __a) { |
| 7971 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6, 9, 8, 11, 10,
13, 12, 15, 14); } |
| 7972 |
| 7973 __ai int8x8_t vrev32_s8(int8x8_t __a) { |
| 7974 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); } |
| 7975 __ai int16x4_t vrev32_s16(int16x4_t __a) { |
| 7976 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); } |
| 7977 __ai uint8x8_t vrev32_u8(uint8x8_t __a) { |
| 7978 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); } |
| 7979 __ai uint16x4_t vrev32_u16(uint16x4_t __a) { |
| 7980 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); } |
| 7981 __ai poly8x8_t vrev32_p8(poly8x8_t __a) { |
| 7982 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); } |
| 7983 __ai poly16x4_t vrev32_p16(poly16x4_t __a) { |
| 7984 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); } |
| 7985 __ai int8x16_t vrev32q_s8(int8x16_t __a) { |
| 7986 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8,
15, 14, 13, 12); } |
| 7987 __ai int16x8_t vrev32q_s16(int16x8_t __a) { |
| 7988 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); } |
| 7989 __ai uint8x16_t vrev32q_u8(uint8x16_t __a) { |
| 7990 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8,
15, 14, 13, 12); } |
| 7991 __ai uint16x8_t vrev32q_u16(uint16x8_t __a) { |
| 7992 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); } |
| 7993 __ai poly8x16_t vrev32q_p8(poly8x16_t __a) { |
| 7994 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4, 11, 10, 9, 8,
15, 14, 13, 12); } |
| 7995 __ai poly16x8_t vrev32q_p16(poly16x8_t __a) { |
| 7996 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2, 5, 4, 7, 6); } |
| 7997 |
| 7998 __ai int8x8_t vrev64_s8(int8x8_t __a) { |
| 7999 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0); } |
| 8000 __ai int16x4_t vrev64_s16(int16x4_t __a) { |
| 8001 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0); } |
| 8002 __ai int32x2_t vrev64_s32(int32x2_t __a) { |
| 8003 return __builtin_shufflevector(__a, __a, 1, 0); } |
| 8004 __ai uint8x8_t vrev64_u8(uint8x8_t __a) { |
| 8005 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0); } |
| 8006 __ai uint16x4_t vrev64_u16(uint16x4_t __a) { |
| 8007 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0); } |
| 8008 __ai uint32x2_t vrev64_u32(uint32x2_t __a) { |
| 8009 return __builtin_shufflevector(__a, __a, 1, 0); } |
| 8010 __ai poly8x8_t vrev64_p8(poly8x8_t __a) { |
| 8011 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0); } |
| 8012 __ai poly16x4_t vrev64_p16(poly16x4_t __a) { |
| 8013 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0); } |
| 8014 __ai float32x2_t vrev64_f32(float32x2_t __a) { |
| 8015 return __builtin_shufflevector(__a, __a, 1, 0); } |
| 8016 __ai int8x16_t vrev64q_s8(int8x16_t __a) { |
| 8017 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 1
2, 11, 10, 9, 8); } |
| 8018 __ai int16x8_t vrev64q_s16(int16x8_t __a) { |
| 8019 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); } |
| 8020 __ai int32x4_t vrev64q_s32(int32x4_t __a) { |
| 8021 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); } |
| 8022 __ai uint8x16_t vrev64q_u8(uint8x16_t __a) { |
| 8023 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 1
2, 11, 10, 9, 8); } |
| 8024 __ai uint16x8_t vrev64q_u16(uint16x8_t __a) { |
| 8025 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); } |
| 8026 __ai uint32x4_t vrev64q_u32(uint32x4_t __a) { |
| 8027 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); } |
| 8028 __ai poly8x16_t vrev64q_p8(poly8x16_t __a) { |
| 8029 return __builtin_shufflevector(__a, __a, 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 1
2, 11, 10, 9, 8); } |
| 8030 __ai poly16x8_t vrev64q_p16(poly16x8_t __a) { |
| 8031 return __builtin_shufflevector(__a, __a, 3, 2, 1, 0, 7, 6, 5, 4); } |
| 8032 __ai float32x4_t vrev64q_f32(float32x4_t __a) { |
| 8033 return __builtin_shufflevector(__a, __a, 1, 0, 3, 2); } |
| 8034 |
| 8035 __ai int8x8_t vrhadd_s8(int8x8_t __a, int8x8_t __b) { |
| 8036 return (int8x8_t)__builtin_neon_vrhadd_v(__a, __b, 0); } |
| 8037 __ai int16x4_t vrhadd_s16(int16x4_t __a, int16x4_t __b) { |
| 8038 return (int16x4_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 8039 __ai int32x2_t vrhadd_s32(int32x2_t __a, int32x2_t __b) { |
| 8040 return (int32x2_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 8041 __ai uint8x8_t vrhadd_u8(uint8x8_t __a, uint8x8_t __b) { |
| 8042 return (uint8x8_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 8043 __ai uint16x4_t vrhadd_u16(uint16x4_t __a, uint16x4_t __b) { |
| 8044 return (uint16x4_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 17);
} |
| 8045 __ai uint32x2_t vrhadd_u32(uint32x2_t __a, uint32x2_t __b) { |
| 8046 return (uint32x2_t)__builtin_neon_vrhadd_v((int8x8_t)__a, (int8x8_t)__b, 18);
} |
| 8047 __ai int8x16_t vrhaddq_s8(int8x16_t __a, int8x16_t __b) { |
| 8048 return (int8x16_t)__builtin_neon_vrhaddq_v(__a, __b, 32); } |
| 8049 __ai int16x8_t vrhaddq_s16(int16x8_t __a, int16x8_t __b) { |
| 8050 return (int16x8_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 33)
; } |
| 8051 __ai int32x4_t vrhaddq_s32(int32x4_t __a, int32x4_t __b) { |
| 8052 return (int32x4_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 34)
; } |
| 8053 __ai uint8x16_t vrhaddq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 8054 return (uint8x16_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 48
); } |
| 8055 __ai uint16x8_t vrhaddq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 8056 return (uint16x8_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 49
); } |
| 8057 __ai uint32x4_t vrhaddq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 8058 return (uint32x4_t)__builtin_neon_vrhaddq_v((int8x16_t)__a, (int8x16_t)__b, 50
); } |
| 8059 |
| 8060 __ai int8x8_t vrshl_s8(int8x8_t __a, int8x8_t __b) { |
| 8061 return (int8x8_t)__builtin_neon_vrshl_v(__a, __b, 0); } |
| 8062 __ai int16x4_t vrshl_s16(int16x4_t __a, int16x4_t __b) { |
| 8063 return (int16x4_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 8064 __ai int32x2_t vrshl_s32(int32x2_t __a, int32x2_t __b) { |
| 8065 return (int32x2_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 8066 __ai int64x1_t vrshl_s64(int64x1_t __a, int64x1_t __b) { |
| 8067 return (int64x1_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 3); } |
| 8068 __ai uint8x8_t vrshl_u8(uint8x8_t __a, int8x8_t __b) { |
| 8069 return (uint8x8_t)__builtin_neon_vrshl_v((int8x8_t)__a, __b, 16); } |
| 8070 __ai uint16x4_t vrshl_u16(uint16x4_t __a, int16x4_t __b) { |
| 8071 return (uint16x4_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 8072 __ai uint32x2_t vrshl_u32(uint32x2_t __a, int32x2_t __b) { |
| 8073 return (uint32x2_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 8074 __ai uint64x1_t vrshl_u64(uint64x1_t __a, int64x1_t __b) { |
| 8075 return (uint64x1_t)__builtin_neon_vrshl_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 8076 __ai int8x16_t vrshlq_s8(int8x16_t __a, int8x16_t __b) { |
| 8077 return (int8x16_t)__builtin_neon_vrshlq_v(__a, __b, 32); } |
| 8078 __ai int16x8_t vrshlq_s16(int16x8_t __a, int16x8_t __b) { |
| 8079 return (int16x8_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 8080 __ai int32x4_t vrshlq_s32(int32x4_t __a, int32x4_t __b) { |
| 8081 return (int32x4_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 8082 __ai int64x2_t vrshlq_s64(int64x2_t __a, int64x2_t __b) { |
| 8083 return (int64x2_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 35);
} |
| 8084 __ai uint8x16_t vrshlq_u8(uint8x16_t __a, int8x16_t __b) { |
| 8085 return (uint8x16_t)__builtin_neon_vrshlq_v((int8x16_t)__a, __b, 48); } |
| 8086 __ai uint16x8_t vrshlq_u16(uint16x8_t __a, int16x8_t __b) { |
| 8087 return (uint16x8_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 49)
; } |
| 8088 __ai uint32x4_t vrshlq_u32(uint32x4_t __a, int32x4_t __b) { |
| 8089 return (uint32x4_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 50)
; } |
| 8090 __ai uint64x2_t vrshlq_u64(uint64x2_t __a, int64x2_t __b) { |
| 8091 return (uint64x2_t)__builtin_neon_vrshlq_v((int8x16_t)__a, (int8x16_t)__b, 51)
; } |
| 8092 |
| 8093 #define vrshrn_n_s16(a, __b) __extension__ ({ \ |
| 8094 int16x8_t __a = (a); \ |
| 8095 (int8x8_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 0); }) |
| 8096 #define vrshrn_n_s32(a, __b) __extension__ ({ \ |
| 8097 int32x4_t __a = (a); \ |
| 8098 (int16x4_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 1); }) |
| 8099 #define vrshrn_n_s64(a, __b) __extension__ ({ \ |
| 8100 int64x2_t __a = (a); \ |
| 8101 (int32x2_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 2); }) |
| 8102 #define vrshrn_n_u16(a, __b) __extension__ ({ \ |
| 8103 uint16x8_t __a = (a); \ |
| 8104 (uint8x8_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 16); }) |
| 8105 #define vrshrn_n_u32(a, __b) __extension__ ({ \ |
| 8106 uint32x4_t __a = (a); \ |
| 8107 (uint16x4_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 17); }) |
| 8108 #define vrshrn_n_u64(a, __b) __extension__ ({ \ |
| 8109 uint64x2_t __a = (a); \ |
| 8110 (uint32x2_t)__builtin_neon_vrshrn_n_v((int8x16_t)__a, __b, 18); }) |
| 8111 |
| 8112 #define vrshr_n_s8(a, __b) __extension__ ({ \ |
| 8113 int8x8_t __a = (a); \ |
| 8114 (int8x8_t)__builtin_neon_vrshr_n_v(__a, __b, 0); }) |
| 8115 #define vrshr_n_s16(a, __b) __extension__ ({ \ |
| 8116 int16x4_t __a = (a); \ |
| 8117 (int16x4_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 1); }) |
| 8118 #define vrshr_n_s32(a, __b) __extension__ ({ \ |
| 8119 int32x2_t __a = (a); \ |
| 8120 (int32x2_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 2); }) |
| 8121 #define vrshr_n_s64(a, __b) __extension__ ({ \ |
| 8122 int64x1_t __a = (a); \ |
| 8123 (int64x1_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 3); }) |
| 8124 #define vrshr_n_u8(a, __b) __extension__ ({ \ |
| 8125 uint8x8_t __a = (a); \ |
| 8126 (uint8x8_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 16); }) |
| 8127 #define vrshr_n_u16(a, __b) __extension__ ({ \ |
| 8128 uint16x4_t __a = (a); \ |
| 8129 (uint16x4_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 17); }) |
| 8130 #define vrshr_n_u32(a, __b) __extension__ ({ \ |
| 8131 uint32x2_t __a = (a); \ |
| 8132 (uint32x2_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 18); }) |
| 8133 #define vrshr_n_u64(a, __b) __extension__ ({ \ |
| 8134 uint64x1_t __a = (a); \ |
| 8135 (uint64x1_t)__builtin_neon_vrshr_n_v((int8x8_t)__a, __b, 19); }) |
| 8136 #define vrshrq_n_s8(a, __b) __extension__ ({ \ |
| 8137 int8x16_t __a = (a); \ |
| 8138 (int8x16_t)__builtin_neon_vrshrq_n_v(__a, __b, 32); }) |
| 8139 #define vrshrq_n_s16(a, __b) __extension__ ({ \ |
| 8140 int16x8_t __a = (a); \ |
| 8141 (int16x8_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 33); }) |
| 8142 #define vrshrq_n_s32(a, __b) __extension__ ({ \ |
| 8143 int32x4_t __a = (a); \ |
| 8144 (int32x4_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 34); }) |
| 8145 #define vrshrq_n_s64(a, __b) __extension__ ({ \ |
| 8146 int64x2_t __a = (a); \ |
| 8147 (int64x2_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 35); }) |
| 8148 #define vrshrq_n_u8(a, __b) __extension__ ({ \ |
| 8149 uint8x16_t __a = (a); \ |
| 8150 (uint8x16_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 48); }) |
| 8151 #define vrshrq_n_u16(a, __b) __extension__ ({ \ |
| 8152 uint16x8_t __a = (a); \ |
| 8153 (uint16x8_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 49); }) |
| 8154 #define vrshrq_n_u32(a, __b) __extension__ ({ \ |
| 8155 uint32x4_t __a = (a); \ |
| 8156 (uint32x4_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 50); }) |
| 8157 #define vrshrq_n_u64(a, __b) __extension__ ({ \ |
| 8158 uint64x2_t __a = (a); \ |
| 8159 (uint64x2_t)__builtin_neon_vrshrq_n_v((int8x16_t)__a, __b, 51); }) |
| 8160 |
| 8161 __ai float32x2_t vrsqrte_f32(float32x2_t __a) { |
| 8162 return (float32x2_t)__builtin_neon_vrsqrte_v((int8x8_t)__a, 9); } |
| 8163 __ai uint32x2_t vrsqrte_u32(uint32x2_t __a) { |
| 8164 return (uint32x2_t)__builtin_neon_vrsqrte_v((int8x8_t)__a, 18); } |
| 8165 __ai float32x4_t vrsqrteq_f32(float32x4_t __a) { |
| 8166 return (float32x4_t)__builtin_neon_vrsqrteq_v((int8x16_t)__a, 41); } |
| 8167 __ai uint32x4_t vrsqrteq_u32(uint32x4_t __a) { |
| 8168 return (uint32x4_t)__builtin_neon_vrsqrteq_v((int8x16_t)__a, 50); } |
| 8169 |
| 8170 __ai float32x2_t vrsqrts_f32(float32x2_t __a, float32x2_t __b) { |
| 8171 return (float32x2_t)__builtin_neon_vrsqrts_v((int8x8_t)__a, (int8x8_t)__b, 9);
} |
| 8172 __ai float32x4_t vrsqrtsq_f32(float32x4_t __a, float32x4_t __b) { |
| 8173 return (float32x4_t)__builtin_neon_vrsqrtsq_v((int8x16_t)__a, (int8x16_t)__b,
41); } |
| 8174 |
| 8175 #define vrsra_n_s8(a, b, __c) __extension__ ({ \ |
| 8176 int8x8_t __a = (a); int8x8_t __b = (b); \ |
| 8177 (int8x8_t)__builtin_neon_vrsra_n_v(__a, __b, __c, 0); }) |
| 8178 #define vrsra_n_s16(a, b, __c) __extension__ ({ \ |
| 8179 int16x4_t __a = (a); int16x4_t __b = (b); \ |
| 8180 (int16x4_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); }) |
| 8181 #define vrsra_n_s32(a, b, __c) __extension__ ({ \ |
| 8182 int32x2_t __a = (a); int32x2_t __b = (b); \ |
| 8183 (int32x2_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); }) |
| 8184 #define vrsra_n_s64(a, b, __c) __extension__ ({ \ |
| 8185 int64x1_t __a = (a); int64x1_t __b = (b); \ |
| 8186 (int64x1_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); }) |
| 8187 #define vrsra_n_u8(a, b, __c) __extension__ ({ \ |
| 8188 uint8x8_t __a = (a); uint8x8_t __b = (b); \ |
| 8189 (uint8x8_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); }) |
| 8190 #define vrsra_n_u16(a, b, __c) __extension__ ({ \ |
| 8191 uint16x4_t __a = (a); uint16x4_t __b = (b); \ |
| 8192 (uint16x4_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); }
) |
| 8193 #define vrsra_n_u32(a, b, __c) __extension__ ({ \ |
| 8194 uint32x2_t __a = (a); uint32x2_t __b = (b); \ |
| 8195 (uint32x2_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); }
) |
| 8196 #define vrsra_n_u64(a, b, __c) __extension__ ({ \ |
| 8197 uint64x1_t __a = (a); uint64x1_t __b = (b); \ |
| 8198 (uint64x1_t)__builtin_neon_vrsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); }
) |
| 8199 #define vrsraq_n_s8(a, b, __c) __extension__ ({ \ |
| 8200 int8x16_t __a = (a); int8x16_t __b = (b); \ |
| 8201 (int8x16_t)__builtin_neon_vrsraq_n_v(__a, __b, __c, 32); }) |
| 8202 #define vrsraq_n_s16(a, b, __c) __extension__ ({ \ |
| 8203 int16x8_t __a = (a); int16x8_t __b = (b); \ |
| 8204 (int16x8_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 33);
}) |
| 8205 #define vrsraq_n_s32(a, b, __c) __extension__ ({ \ |
| 8206 int32x4_t __a = (a); int32x4_t __b = (b); \ |
| 8207 (int32x4_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 34);
}) |
| 8208 #define vrsraq_n_s64(a, b, __c) __extension__ ({ \ |
| 8209 int64x2_t __a = (a); int64x2_t __b = (b); \ |
| 8210 (int64x2_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 35);
}) |
| 8211 #define vrsraq_n_u8(a, b, __c) __extension__ ({ \ |
| 8212 uint8x16_t __a = (a); uint8x16_t __b = (b); \ |
| 8213 (uint8x16_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 48)
; }) |
| 8214 #define vrsraq_n_u16(a, b, __c) __extension__ ({ \ |
| 8215 uint16x8_t __a = (a); uint16x8_t __b = (b); \ |
| 8216 (uint16x8_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 49)
; }) |
| 8217 #define vrsraq_n_u32(a, b, __c) __extension__ ({ \ |
| 8218 uint32x4_t __a = (a); uint32x4_t __b = (b); \ |
| 8219 (uint32x4_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 50)
; }) |
| 8220 #define vrsraq_n_u64(a, b, __c) __extension__ ({ \ |
| 8221 uint64x2_t __a = (a); uint64x2_t __b = (b); \ |
| 8222 (uint64x2_t)__builtin_neon_vrsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 51)
; }) |
| 8223 |
| 8224 __ai int8x8_t vrsubhn_s16(int16x8_t __a, int16x8_t __b) { |
| 8225 return (int8x8_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 0);
} |
| 8226 __ai int16x4_t vrsubhn_s32(int32x4_t __a, int32x4_t __b) { |
| 8227 return (int16x4_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 1);
} |
| 8228 __ai int32x2_t vrsubhn_s64(int64x2_t __a, int64x2_t __b) { |
| 8229 return (int32x2_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 2);
} |
| 8230 __ai uint8x8_t vrsubhn_u16(uint16x8_t __a, uint16x8_t __b) { |
| 8231 return (uint8x8_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 16)
; } |
| 8232 __ai uint16x4_t vrsubhn_u32(uint32x4_t __a, uint32x4_t __b) { |
| 8233 return (uint16x4_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 17
); } |
| 8234 __ai uint32x2_t vrsubhn_u64(uint64x2_t __a, uint64x2_t __b) { |
| 8235 return (uint32x2_t)__builtin_neon_vrsubhn_v((int8x16_t)__a, (int8x16_t)__b, 18
); } |
| 8236 |
| 8237 #if defined(__aarch64__) |
| 8238 __ai int8x16_t vrsubhn_high_s16(int8x8_t __a, int16x8_t __b, int16x8_t __c) { |
| 8239 return vcombine_s8(__a, vrsubhn_s16(__b, __c)); } |
| 8240 __ai int16x8_t vrsubhn_high_s32(int16x4_t __a, int32x4_t __b, int32x4_t __c) { |
| 8241 return vcombine_s16(__a, vrsubhn_s32(__b, __c)); } |
| 8242 __ai int32x4_t vrsubhn_high_s64(int32x2_t __a, int64x2_t __b, int64x2_t __c) { |
| 8243 return vcombine_s32(__a, vrsubhn_s64(__b, __c)); } |
| 8244 __ai uint8x16_t vrsubhn_high_u16(uint8x8_t __a, uint16x8_t __b, uint16x8_t __c)
{ |
| 8245 return vcombine_u8(__a, vrsubhn_u16(__b, __c)); } |
| 8246 __ai uint16x8_t vrsubhn_high_u32(uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
{ |
| 8247 return vcombine_u16(__a, vrsubhn_u32(__b, __c)); } |
| 8248 __ai uint32x4_t vrsubhn_high_u64(uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
{ |
| 8249 return vcombine_u32(__a, vrsubhn_u64(__b, __c)); } |
| 8250 |
| 8251 #endif |
| 8252 |
| 8253 #define vset_lane_u8(a, b, __c) __extension__ ({ \ |
| 8254 uint8_t __a = (a); uint8x8_t __b = (b); \ |
| 8255 (uint8x8_t)__builtin_neon_vset_lane_i8(__a, (int8x8_t)__b, __c); }) |
| 8256 #define vset_lane_u16(a, b, __c) __extension__ ({ \ |
| 8257 uint16_t __a = (a); uint16x4_t __b = (b); \ |
| 8258 (uint16x4_t)__builtin_neon_vset_lane_i16(__a, (int16x4_t)__b, __c); }) |
| 8259 #define vset_lane_u32(a, b, __c) __extension__ ({ \ |
| 8260 uint32_t __a = (a); uint32x2_t __b = (b); \ |
| 8261 (uint32x2_t)__builtin_neon_vset_lane_i32(__a, (int32x2_t)__b, __c); }) |
| 8262 #define vset_lane_s8(a, b, __c) __extension__ ({ \ |
| 8263 int8_t __a = (a); int8x8_t __b = (b); \ |
| 8264 (int8x8_t)__builtin_neon_vset_lane_i8(__a, __b, __c); }) |
| 8265 #define vset_lane_s16(a, b, __c) __extension__ ({ \ |
| 8266 int16_t __a = (a); int16x4_t __b = (b); \ |
| 8267 (int16x4_t)__builtin_neon_vset_lane_i16(__a, __b, __c); }) |
| 8268 #define vset_lane_s32(a, b, __c) __extension__ ({ \ |
| 8269 int32_t __a = (a); int32x2_t __b = (b); \ |
| 8270 (int32x2_t)__builtin_neon_vset_lane_i32(__a, __b, __c); }) |
| 8271 #define vset_lane_p8(a, b, __c) __extension__ ({ \ |
| 8272 poly8_t __a = (a); poly8x8_t __b = (b); \ |
| 8273 (poly8x8_t)__builtin_neon_vset_lane_i8(__a, (int8x8_t)__b, __c); }) |
| 8274 #define vset_lane_p16(a, b, __c) __extension__ ({ \ |
| 8275 poly16_t __a = (a); poly16x4_t __b = (b); \ |
| 8276 (poly16x4_t)__builtin_neon_vset_lane_i16(__a, (int16x4_t)__b, __c); }) |
| 8277 #define vset_lane_f32(a, b, __c) __extension__ ({ \ |
| 8278 float32_t __a = (a); float32x2_t __b = (b); \ |
| 8279 (float32x2_t)__builtin_neon_vset_lane_f32(__a, __b, __c); }) |
| 8280 #define vsetq_lane_u8(a, b, __c) __extension__ ({ \ |
| 8281 uint8_t __a = (a); uint8x16_t __b = (b); \ |
| 8282 (uint8x16_t)__builtin_neon_vsetq_lane_i8(__a, (int8x16_t)__b, __c); }) |
| 8283 #define vsetq_lane_u16(a, b, __c) __extension__ ({ \ |
| 8284 uint16_t __a = (a); uint16x8_t __b = (b); \ |
| 8285 (uint16x8_t)__builtin_neon_vsetq_lane_i16(__a, (int16x8_t)__b, __c); }) |
| 8286 #define vsetq_lane_u32(a, b, __c) __extension__ ({ \ |
| 8287 uint32_t __a = (a); uint32x4_t __b = (b); \ |
| 8288 (uint32x4_t)__builtin_neon_vsetq_lane_i32(__a, (int32x4_t)__b, __c); }) |
| 8289 #define vsetq_lane_s8(a, b, __c) __extension__ ({ \ |
| 8290 int8_t __a = (a); int8x16_t __b = (b); \ |
| 8291 (int8x16_t)__builtin_neon_vsetq_lane_i8(__a, __b, __c); }) |
| 8292 #define vsetq_lane_s16(a, b, __c) __extension__ ({ \ |
| 8293 int16_t __a = (a); int16x8_t __b = (b); \ |
| 8294 (int16x8_t)__builtin_neon_vsetq_lane_i16(__a, __b, __c); }) |
| 8295 #define vsetq_lane_s32(a, b, __c) __extension__ ({ \ |
| 8296 int32_t __a = (a); int32x4_t __b = (b); \ |
| 8297 (int32x4_t)__builtin_neon_vsetq_lane_i32(__a, __b, __c); }) |
| 8298 #define vsetq_lane_p8(a, b, __c) __extension__ ({ \ |
| 8299 poly8_t __a = (a); poly8x16_t __b = (b); \ |
| 8300 (poly8x16_t)__builtin_neon_vsetq_lane_i8(__a, (int8x16_t)__b, __c); }) |
| 8301 #define vsetq_lane_p16(a, b, __c) __extension__ ({ \ |
| 8302 poly16_t __a = (a); poly16x8_t __b = (b); \ |
| 8303 (poly16x8_t)__builtin_neon_vsetq_lane_i16(__a, (int16x8_t)__b, __c); }) |
| 8304 #define vsetq_lane_f32(a, b, __c) __extension__ ({ \ |
| 8305 float32_t __a = (a); float32x4_t __b = (b); \ |
| 8306 (float32x4_t)__builtin_neon_vsetq_lane_f32(__a, __b, __c); }) |
| 8307 #define vset_lane_s64(a, b, __c) __extension__ ({ \ |
| 8308 int64_t __a = (a); int64x1_t __b = (b); \ |
| 8309 (int64x1_t)__builtin_neon_vset_lane_i64(__a, __b, __c); }) |
| 8310 #define vset_lane_u64(a, b, __c) __extension__ ({ \ |
| 8311 uint64_t __a = (a); uint64x1_t __b = (b); \ |
| 8312 (uint64x1_t)__builtin_neon_vset_lane_i64(__a, (int64x1_t)__b, __c); }) |
| 8313 #define vsetq_lane_s64(a, b, __c) __extension__ ({ \ |
| 8314 int64_t __a = (a); int64x2_t __b = (b); \ |
| 8315 (int64x2_t)__builtin_neon_vsetq_lane_i64(__a, __b, __c); }) |
| 8316 #define vsetq_lane_u64(a, b, __c) __extension__ ({ \ |
| 8317 uint64_t __a = (a); uint64x2_t __b = (b); \ |
| 8318 (uint64x2_t)__builtin_neon_vsetq_lane_i64(__a, (int64x2_t)__b, __c); }) |
| 8319 |
| 8320 __ai int8x8_t vshl_s8(int8x8_t __a, int8x8_t __b) { |
| 8321 return (int8x8_t)__builtin_neon_vshl_v(__a, __b, 0); } |
| 8322 __ai int16x4_t vshl_s16(int16x4_t __a, int16x4_t __b) { |
| 8323 return (int16x4_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 1); } |
| 8324 __ai int32x2_t vshl_s32(int32x2_t __a, int32x2_t __b) { |
| 8325 return (int32x2_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 2); } |
| 8326 __ai int64x1_t vshl_s64(int64x1_t __a, int64x1_t __b) { |
| 8327 return (int64x1_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 3); } |
| 8328 __ai uint8x8_t vshl_u8(uint8x8_t __a, int8x8_t __b) { |
| 8329 return (uint8x8_t)__builtin_neon_vshl_v((int8x8_t)__a, __b, 16); } |
| 8330 __ai uint16x4_t vshl_u16(uint16x4_t __a, int16x4_t __b) { |
| 8331 return (uint16x4_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 8332 __ai uint32x2_t vshl_u32(uint32x2_t __a, int32x2_t __b) { |
| 8333 return (uint32x2_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 8334 __ai uint64x1_t vshl_u64(uint64x1_t __a, int64x1_t __b) { |
| 8335 return (uint64x1_t)__builtin_neon_vshl_v((int8x8_t)__a, (int8x8_t)__b, 19); } |
| 8336 __ai int8x16_t vshlq_s8(int8x16_t __a, int8x16_t __b) { |
| 8337 return (int8x16_t)__builtin_neon_vshlq_v(__a, __b, 32); } |
| 8338 __ai int16x8_t vshlq_s16(int16x8_t __a, int16x8_t __b) { |
| 8339 return (int16x8_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 33);
} |
| 8340 __ai int32x4_t vshlq_s32(int32x4_t __a, int32x4_t __b) { |
| 8341 return (int32x4_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 34);
} |
| 8342 __ai int64x2_t vshlq_s64(int64x2_t __a, int64x2_t __b) { |
| 8343 return (int64x2_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 35);
} |
| 8344 __ai uint8x16_t vshlq_u8(uint8x16_t __a, int8x16_t __b) { |
| 8345 return (uint8x16_t)__builtin_neon_vshlq_v((int8x16_t)__a, __b, 48); } |
| 8346 __ai uint16x8_t vshlq_u16(uint16x8_t __a, int16x8_t __b) { |
| 8347 return (uint16x8_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 49);
} |
| 8348 __ai uint32x4_t vshlq_u32(uint32x4_t __a, int32x4_t __b) { |
| 8349 return (uint32x4_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 50);
} |
| 8350 __ai uint64x2_t vshlq_u64(uint64x2_t __a, int64x2_t __b) { |
| 8351 return (uint64x2_t)__builtin_neon_vshlq_v((int8x16_t)__a, (int8x16_t)__b, 51);
} |
| 8352 |
| 8353 #define vshl_n_s8(a, __b) __extension__ ({ \ |
| 8354 int8x8_t __a = (a); \ |
| 8355 (int8x8_t)__builtin_neon_vshl_n_v(__a, __b, 0); }) |
| 8356 #define vshl_n_s16(a, __b) __extension__ ({ \ |
| 8357 int16x4_t __a = (a); \ |
| 8358 (int16x4_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 1); }) |
| 8359 #define vshl_n_s32(a, __b) __extension__ ({ \ |
| 8360 int32x2_t __a = (a); \ |
| 8361 (int32x2_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 2); }) |
| 8362 #define vshl_n_s64(a, __b) __extension__ ({ \ |
| 8363 int64x1_t __a = (a); \ |
| 8364 (int64x1_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 3); }) |
| 8365 #define vshl_n_u8(a, __b) __extension__ ({ \ |
| 8366 uint8x8_t __a = (a); \ |
| 8367 (uint8x8_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 16); }) |
| 8368 #define vshl_n_u16(a, __b) __extension__ ({ \ |
| 8369 uint16x4_t __a = (a); \ |
| 8370 (uint16x4_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 17); }) |
| 8371 #define vshl_n_u32(a, __b) __extension__ ({ \ |
| 8372 uint32x2_t __a = (a); \ |
| 8373 (uint32x2_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 18); }) |
| 8374 #define vshl_n_u64(a, __b) __extension__ ({ \ |
| 8375 uint64x1_t __a = (a); \ |
| 8376 (uint64x1_t)__builtin_neon_vshl_n_v((int8x8_t)__a, __b, 19); }) |
| 8377 #define vshlq_n_s8(a, __b) __extension__ ({ \ |
| 8378 int8x16_t __a = (a); \ |
| 8379 (int8x16_t)__builtin_neon_vshlq_n_v(__a, __b, 32); }) |
| 8380 #define vshlq_n_s16(a, __b) __extension__ ({ \ |
| 8381 int16x8_t __a = (a); \ |
| 8382 (int16x8_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 33); }) |
| 8383 #define vshlq_n_s32(a, __b) __extension__ ({ \ |
| 8384 int32x4_t __a = (a); \ |
| 8385 (int32x4_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 34); }) |
| 8386 #define vshlq_n_s64(a, __b) __extension__ ({ \ |
| 8387 int64x2_t __a = (a); \ |
| 8388 (int64x2_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 35); }) |
| 8389 #define vshlq_n_u8(a, __b) __extension__ ({ \ |
| 8390 uint8x16_t __a = (a); \ |
| 8391 (uint8x16_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 48); }) |
| 8392 #define vshlq_n_u16(a, __b) __extension__ ({ \ |
| 8393 uint16x8_t __a = (a); \ |
| 8394 (uint16x8_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 49); }) |
| 8395 #define vshlq_n_u32(a, __b) __extension__ ({ \ |
| 8396 uint32x4_t __a = (a); \ |
| 8397 (uint32x4_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 50); }) |
| 8398 #define vshlq_n_u64(a, __b) __extension__ ({ \ |
| 8399 uint64x2_t __a = (a); \ |
| 8400 (uint64x2_t)__builtin_neon_vshlq_n_v((int8x16_t)__a, __b, 51); }) |
| 8401 |
| 8402 #define vshrn_n_s16(a, __b) __extension__ ({ \ |
| 8403 int16x8_t __a = (a); \ |
| 8404 (int8x8_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 0); }) |
| 8405 #define vshrn_n_s32(a, __b) __extension__ ({ \ |
| 8406 int32x4_t __a = (a); \ |
| 8407 (int16x4_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 1); }) |
| 8408 #define vshrn_n_s64(a, __b) __extension__ ({ \ |
| 8409 int64x2_t __a = (a); \ |
| 8410 (int32x2_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 2); }) |
| 8411 #define vshrn_n_u16(a, __b) __extension__ ({ \ |
| 8412 uint16x8_t __a = (a); \ |
| 8413 (uint8x8_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 16); }) |
| 8414 #define vshrn_n_u32(a, __b) __extension__ ({ \ |
| 8415 uint32x4_t __a = (a); \ |
| 8416 (uint16x4_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 17); }) |
| 8417 #define vshrn_n_u64(a, __b) __extension__ ({ \ |
| 8418 uint64x2_t __a = (a); \ |
| 8419 (uint32x2_t)__builtin_neon_vshrn_n_v((int8x16_t)__a, __b, 18); }) |
| 8420 |
| 8421 #define vshr_n_s8(a, __b) __extension__ ({ \ |
| 8422 int8x8_t __a = (a); \ |
| 8423 (int8x8_t)__builtin_neon_vshr_n_v(__a, __b, 0); }) |
| 8424 #define vshr_n_s16(a, __b) __extension__ ({ \ |
| 8425 int16x4_t __a = (a); \ |
| 8426 (int16x4_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 1); }) |
| 8427 #define vshr_n_s32(a, __b) __extension__ ({ \ |
| 8428 int32x2_t __a = (a); \ |
| 8429 (int32x2_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 2); }) |
| 8430 #define vshr_n_s64(a, __b) __extension__ ({ \ |
| 8431 int64x1_t __a = (a); \ |
| 8432 (int64x1_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 3); }) |
| 8433 #define vshr_n_u8(a, __b) __extension__ ({ \ |
| 8434 uint8x8_t __a = (a); \ |
| 8435 (uint8x8_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 16); }) |
| 8436 #define vshr_n_u16(a, __b) __extension__ ({ \ |
| 8437 uint16x4_t __a = (a); \ |
| 8438 (uint16x4_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 17); }) |
| 8439 #define vshr_n_u32(a, __b) __extension__ ({ \ |
| 8440 uint32x2_t __a = (a); \ |
| 8441 (uint32x2_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 18); }) |
| 8442 #define vshr_n_u64(a, __b) __extension__ ({ \ |
| 8443 uint64x1_t __a = (a); \ |
| 8444 (uint64x1_t)__builtin_neon_vshr_n_v((int8x8_t)__a, __b, 19); }) |
| 8445 #define vshrq_n_s8(a, __b) __extension__ ({ \ |
| 8446 int8x16_t __a = (a); \ |
| 8447 (int8x16_t)__builtin_neon_vshrq_n_v(__a, __b, 32); }) |
| 8448 #define vshrq_n_s16(a, __b) __extension__ ({ \ |
| 8449 int16x8_t __a = (a); \ |
| 8450 (int16x8_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 33); }) |
| 8451 #define vshrq_n_s32(a, __b) __extension__ ({ \ |
| 8452 int32x4_t __a = (a); \ |
| 8453 (int32x4_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 34); }) |
| 8454 #define vshrq_n_s64(a, __b) __extension__ ({ \ |
| 8455 int64x2_t __a = (a); \ |
| 8456 (int64x2_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 35); }) |
| 8457 #define vshrq_n_u8(a, __b) __extension__ ({ \ |
| 8458 uint8x16_t __a = (a); \ |
| 8459 (uint8x16_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 48); }) |
| 8460 #define vshrq_n_u16(a, __b) __extension__ ({ \ |
| 8461 uint16x8_t __a = (a); \ |
| 8462 (uint16x8_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 49); }) |
| 8463 #define vshrq_n_u32(a, __b) __extension__ ({ \ |
| 8464 uint32x4_t __a = (a); \ |
| 8465 (uint32x4_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 50); }) |
| 8466 #define vshrq_n_u64(a, __b) __extension__ ({ \ |
| 8467 uint64x2_t __a = (a); \ |
| 8468 (uint64x2_t)__builtin_neon_vshrq_n_v((int8x16_t)__a, __b, 51); }) |
| 8469 |
| 8470 #define vsli_n_s8(a, b, __c) __extension__ ({ \ |
| 8471 int8x8_t __a = (a); int8x8_t __b = (b); \ |
| 8472 (int8x8_t)__builtin_neon_vsli_n_v(__a, __b, __c, 0); }) |
| 8473 #define vsli_n_s16(a, b, __c) __extension__ ({ \ |
| 8474 int16x4_t __a = (a); int16x4_t __b = (b); \ |
| 8475 (int16x4_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); }) |
| 8476 #define vsli_n_s32(a, b, __c) __extension__ ({ \ |
| 8477 int32x2_t __a = (a); int32x2_t __b = (b); \ |
| 8478 (int32x2_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); }) |
| 8479 #define vsli_n_s64(a, b, __c) __extension__ ({ \ |
| 8480 int64x1_t __a = (a); int64x1_t __b = (b); \ |
| 8481 (int64x1_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); }) |
| 8482 #define vsli_n_u8(a, b, __c) __extension__ ({ \ |
| 8483 uint8x8_t __a = (a); uint8x8_t __b = (b); \ |
| 8484 (uint8x8_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); }) |
| 8485 #define vsli_n_u16(a, b, __c) __extension__ ({ \ |
| 8486 uint16x4_t __a = (a); uint16x4_t __b = (b); \ |
| 8487 (uint16x4_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); }) |
| 8488 #define vsli_n_u32(a, b, __c) __extension__ ({ \ |
| 8489 uint32x2_t __a = (a); uint32x2_t __b = (b); \ |
| 8490 (uint32x2_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); }) |
| 8491 #define vsli_n_u64(a, b, __c) __extension__ ({ \ |
| 8492 uint64x1_t __a = (a); uint64x1_t __b = (b); \ |
| 8493 (uint64x1_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); }) |
| 8494 #define vsli_n_p8(a, b, __c) __extension__ ({ \ |
| 8495 poly8x8_t __a = (a); poly8x8_t __b = (b); \ |
| 8496 (poly8x8_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 4); }) |
| 8497 #define vsli_n_p16(a, b, __c) __extension__ ({ \ |
| 8498 poly16x4_t __a = (a); poly16x4_t __b = (b); \ |
| 8499 (poly16x4_t)__builtin_neon_vsli_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 5); }) |
| 8500 #define vsliq_n_s8(a, b, __c) __extension__ ({ \ |
| 8501 int8x16_t __a = (a); int8x16_t __b = (b); \ |
| 8502 (int8x16_t)__builtin_neon_vsliq_n_v(__a, __b, __c, 32); }) |
| 8503 #define vsliq_n_s16(a, b, __c) __extension__ ({ \ |
| 8504 int16x8_t __a = (a); int16x8_t __b = (b); \ |
| 8505 (int16x8_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 33);
}) |
| 8506 #define vsliq_n_s32(a, b, __c) __extension__ ({ \ |
| 8507 int32x4_t __a = (a); int32x4_t __b = (b); \ |
| 8508 (int32x4_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 34);
}) |
| 8509 #define vsliq_n_s64(a, b, __c) __extension__ ({ \ |
| 8510 int64x2_t __a = (a); int64x2_t __b = (b); \ |
| 8511 (int64x2_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 35);
}) |
| 8512 #define vsliq_n_u8(a, b, __c) __extension__ ({ \ |
| 8513 uint8x16_t __a = (a); uint8x16_t __b = (b); \ |
| 8514 (uint8x16_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 48);
}) |
| 8515 #define vsliq_n_u16(a, b, __c) __extension__ ({ \ |
| 8516 uint16x8_t __a = (a); uint16x8_t __b = (b); \ |
| 8517 (uint16x8_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 49);
}) |
| 8518 #define vsliq_n_u32(a, b, __c) __extension__ ({ \ |
| 8519 uint32x4_t __a = (a); uint32x4_t __b = (b); \ |
| 8520 (uint32x4_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 50);
}) |
| 8521 #define vsliq_n_u64(a, b, __c) __extension__ ({ \ |
| 8522 uint64x2_t __a = (a); uint64x2_t __b = (b); \ |
| 8523 (uint64x2_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 51);
}) |
| 8524 #define vsliq_n_p8(a, b, __c) __extension__ ({ \ |
| 8525 poly8x16_t __a = (a); poly8x16_t __b = (b); \ |
| 8526 (poly8x16_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 36);
}) |
| 8527 #define vsliq_n_p16(a, b, __c) __extension__ ({ \ |
| 8528 poly16x8_t __a = (a); poly16x8_t __b = (b); \ |
| 8529 (poly16x8_t)__builtin_neon_vsliq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 37);
}) |
| 8530 |
| 8531 #define vsra_n_s8(a, b, __c) __extension__ ({ \ |
| 8532 int8x8_t __a = (a); int8x8_t __b = (b); \ |
| 8533 (int8x8_t)__builtin_neon_vsra_n_v(__a, __b, __c, 0); }) |
| 8534 #define vsra_n_s16(a, b, __c) __extension__ ({ \ |
| 8535 int16x4_t __a = (a); int16x4_t __b = (b); \ |
| 8536 (int16x4_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); }) |
| 8537 #define vsra_n_s32(a, b, __c) __extension__ ({ \ |
| 8538 int32x2_t __a = (a); int32x2_t __b = (b); \ |
| 8539 (int32x2_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); }) |
| 8540 #define vsra_n_s64(a, b, __c) __extension__ ({ \ |
| 8541 int64x1_t __a = (a); int64x1_t __b = (b); \ |
| 8542 (int64x1_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); }) |
| 8543 #define vsra_n_u8(a, b, __c) __extension__ ({ \ |
| 8544 uint8x8_t __a = (a); uint8x8_t __b = (b); \ |
| 8545 (uint8x8_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); }) |
| 8546 #define vsra_n_u16(a, b, __c) __extension__ ({ \ |
| 8547 uint16x4_t __a = (a); uint16x4_t __b = (b); \ |
| 8548 (uint16x4_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); }) |
| 8549 #define vsra_n_u32(a, b, __c) __extension__ ({ \ |
| 8550 uint32x2_t __a = (a); uint32x2_t __b = (b); \ |
| 8551 (uint32x2_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); }) |
| 8552 #define vsra_n_u64(a, b, __c) __extension__ ({ \ |
| 8553 uint64x1_t __a = (a); uint64x1_t __b = (b); \ |
| 8554 (uint64x1_t)__builtin_neon_vsra_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); }) |
| 8555 #define vsraq_n_s8(a, b, __c) __extension__ ({ \ |
| 8556 int8x16_t __a = (a); int8x16_t __b = (b); \ |
| 8557 (int8x16_t)__builtin_neon_vsraq_n_v(__a, __b, __c, 32); }) |
| 8558 #define vsraq_n_s16(a, b, __c) __extension__ ({ \ |
| 8559 int16x8_t __a = (a); int16x8_t __b = (b); \ |
| 8560 (int16x8_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 33);
}) |
| 8561 #define vsraq_n_s32(a, b, __c) __extension__ ({ \ |
| 8562 int32x4_t __a = (a); int32x4_t __b = (b); \ |
| 8563 (int32x4_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 34);
}) |
| 8564 #define vsraq_n_s64(a, b, __c) __extension__ ({ \ |
| 8565 int64x2_t __a = (a); int64x2_t __b = (b); \ |
| 8566 (int64x2_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 35);
}) |
| 8567 #define vsraq_n_u8(a, b, __c) __extension__ ({ \ |
| 8568 uint8x16_t __a = (a); uint8x16_t __b = (b); \ |
| 8569 (uint8x16_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 48);
}) |
| 8570 #define vsraq_n_u16(a, b, __c) __extension__ ({ \ |
| 8571 uint16x8_t __a = (a); uint16x8_t __b = (b); \ |
| 8572 (uint16x8_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 49);
}) |
| 8573 #define vsraq_n_u32(a, b, __c) __extension__ ({ \ |
| 8574 uint32x4_t __a = (a); uint32x4_t __b = (b); \ |
| 8575 (uint32x4_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 50);
}) |
| 8576 #define vsraq_n_u64(a, b, __c) __extension__ ({ \ |
| 8577 uint64x2_t __a = (a); uint64x2_t __b = (b); \ |
| 8578 (uint64x2_t)__builtin_neon_vsraq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 51);
}) |
| 8579 |
| 8580 #define vsri_n_s8(a, b, __c) __extension__ ({ \ |
| 8581 int8x8_t __a = (a); int8x8_t __b = (b); \ |
| 8582 (int8x8_t)__builtin_neon_vsri_n_v(__a, __b, __c, 0); }) |
| 8583 #define vsri_n_s16(a, b, __c) __extension__ ({ \ |
| 8584 int16x4_t __a = (a); int16x4_t __b = (b); \ |
| 8585 (int16x4_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 1); }) |
| 8586 #define vsri_n_s32(a, b, __c) __extension__ ({ \ |
| 8587 int32x2_t __a = (a); int32x2_t __b = (b); \ |
| 8588 (int32x2_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 2); }) |
| 8589 #define vsri_n_s64(a, b, __c) __extension__ ({ \ |
| 8590 int64x1_t __a = (a); int64x1_t __b = (b); \ |
| 8591 (int64x1_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 3); }) |
| 8592 #define vsri_n_u8(a, b, __c) __extension__ ({ \ |
| 8593 uint8x8_t __a = (a); uint8x8_t __b = (b); \ |
| 8594 (uint8x8_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 16); }) |
| 8595 #define vsri_n_u16(a, b, __c) __extension__ ({ \ |
| 8596 uint16x4_t __a = (a); uint16x4_t __b = (b); \ |
| 8597 (uint16x4_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 17); }) |
| 8598 #define vsri_n_u32(a, b, __c) __extension__ ({ \ |
| 8599 uint32x2_t __a = (a); uint32x2_t __b = (b); \ |
| 8600 (uint32x2_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 18); }) |
| 8601 #define vsri_n_u64(a, b, __c) __extension__ ({ \ |
| 8602 uint64x1_t __a = (a); uint64x1_t __b = (b); \ |
| 8603 (uint64x1_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 19); }) |
| 8604 #define vsri_n_p8(a, b, __c) __extension__ ({ \ |
| 8605 poly8x8_t __a = (a); poly8x8_t __b = (b); \ |
| 8606 (poly8x8_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 4); }) |
| 8607 #define vsri_n_p16(a, b, __c) __extension__ ({ \ |
| 8608 poly16x4_t __a = (a); poly16x4_t __b = (b); \ |
| 8609 (poly16x4_t)__builtin_neon_vsri_n_v((int8x8_t)__a, (int8x8_t)__b, __c, 5); }) |
| 8610 #define vsriq_n_s8(a, b, __c) __extension__ ({ \ |
| 8611 int8x16_t __a = (a); int8x16_t __b = (b); \ |
| 8612 (int8x16_t)__builtin_neon_vsriq_n_v(__a, __b, __c, 32); }) |
| 8613 #define vsriq_n_s16(a, b, __c) __extension__ ({ \ |
| 8614 int16x8_t __a = (a); int16x8_t __b = (b); \ |
| 8615 (int16x8_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 33);
}) |
| 8616 #define vsriq_n_s32(a, b, __c) __extension__ ({ \ |
| 8617 int32x4_t __a = (a); int32x4_t __b = (b); \ |
| 8618 (int32x4_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 34);
}) |
| 8619 #define vsriq_n_s64(a, b, __c) __extension__ ({ \ |
| 8620 int64x2_t __a = (a); int64x2_t __b = (b); \ |
| 8621 (int64x2_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 35);
}) |
| 8622 #define vsriq_n_u8(a, b, __c) __extension__ ({ \ |
| 8623 uint8x16_t __a = (a); uint8x16_t __b = (b); \ |
| 8624 (uint8x16_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 48);
}) |
| 8625 #define vsriq_n_u16(a, b, __c) __extension__ ({ \ |
| 8626 uint16x8_t __a = (a); uint16x8_t __b = (b); \ |
| 8627 (uint16x8_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 49);
}) |
| 8628 #define vsriq_n_u32(a, b, __c) __extension__ ({ \ |
| 8629 uint32x4_t __a = (a); uint32x4_t __b = (b); \ |
| 8630 (uint32x4_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 50);
}) |
| 8631 #define vsriq_n_u64(a, b, __c) __extension__ ({ \ |
| 8632 uint64x2_t __a = (a); uint64x2_t __b = (b); \ |
| 8633 (uint64x2_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 51);
}) |
| 8634 #define vsriq_n_p8(a, b, __c) __extension__ ({ \ |
| 8635 poly8x16_t __a = (a); poly8x16_t __b = (b); \ |
| 8636 (poly8x16_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 36);
}) |
| 8637 #define vsriq_n_p16(a, b, __c) __extension__ ({ \ |
| 8638 poly16x8_t __a = (a); poly16x8_t __b = (b); \ |
| 8639 (poly16x8_t)__builtin_neon_vsriq_n_v((int8x16_t)__a, (int8x16_t)__b, __c, 37);
}) |
| 8640 |
| 8641 #define vst1q_u8(__a, b) __extension__ ({ \ |
| 8642 uint8x16_t __b = (b); \ |
| 8643 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 48); }) |
| 8644 #define vst1q_u16(__a, b) __extension__ ({ \ |
| 8645 uint16x8_t __b = (b); \ |
| 8646 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 49); }) |
| 8647 #define vst1q_u32(__a, b) __extension__ ({ \ |
| 8648 uint32x4_t __b = (b); \ |
| 8649 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 50); }) |
| 8650 #define vst1q_u64(__a, b) __extension__ ({ \ |
| 8651 uint64x2_t __b = (b); \ |
| 8652 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 51); }) |
| 8653 #define vst1q_s8(__a, b) __extension__ ({ \ |
| 8654 int8x16_t __b = (b); \ |
| 8655 __builtin_neon_vst1q_v(__a, __b, 32); }) |
| 8656 #define vst1q_s16(__a, b) __extension__ ({ \ |
| 8657 int16x8_t __b = (b); \ |
| 8658 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 33); }) |
| 8659 #define vst1q_s32(__a, b) __extension__ ({ \ |
| 8660 int32x4_t __b = (b); \ |
| 8661 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 34); }) |
| 8662 #define vst1q_s64(__a, b) __extension__ ({ \ |
| 8663 int64x2_t __b = (b); \ |
| 8664 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 35); }) |
| 8665 #define vst1q_f16(__a, b) __extension__ ({ \ |
| 8666 float16x8_t __b = (b); \ |
| 8667 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 40); }) |
| 8668 #define vst1q_f32(__a, b) __extension__ ({ \ |
| 8669 float32x4_t __b = (b); \ |
| 8670 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 41); }) |
| 8671 #define vst1q_p8(__a, b) __extension__ ({ \ |
| 8672 poly8x16_t __b = (b); \ |
| 8673 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 36); }) |
| 8674 #define vst1q_p16(__a, b) __extension__ ({ \ |
| 8675 poly16x8_t __b = (b); \ |
| 8676 __builtin_neon_vst1q_v(__a, (int8x16_t)__b, 37); }) |
| 8677 #define vst1_u8(__a, b) __extension__ ({ \ |
| 8678 uint8x8_t __b = (b); \ |
| 8679 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 16); }) |
| 8680 #define vst1_u16(__a, b) __extension__ ({ \ |
| 8681 uint16x4_t __b = (b); \ |
| 8682 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 17); }) |
| 8683 #define vst1_u32(__a, b) __extension__ ({ \ |
| 8684 uint32x2_t __b = (b); \ |
| 8685 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 18); }) |
| 8686 #define vst1_u64(__a, b) __extension__ ({ \ |
| 8687 uint64x1_t __b = (b); \ |
| 8688 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 19); }) |
| 8689 #define vst1_s8(__a, b) __extension__ ({ \ |
| 8690 int8x8_t __b = (b); \ |
| 8691 __builtin_neon_vst1_v(__a, __b, 0); }) |
| 8692 #define vst1_s16(__a, b) __extension__ ({ \ |
| 8693 int16x4_t __b = (b); \ |
| 8694 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 1); }) |
| 8695 #define vst1_s32(__a, b) __extension__ ({ \ |
| 8696 int32x2_t __b = (b); \ |
| 8697 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 2); }) |
| 8698 #define vst1_s64(__a, b) __extension__ ({ \ |
| 8699 int64x1_t __b = (b); \ |
| 8700 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 3); }) |
| 8701 #define vst1_f16(__a, b) __extension__ ({ \ |
| 8702 float16x4_t __b = (b); \ |
| 8703 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 8); }) |
| 8704 #define vst1_f32(__a, b) __extension__ ({ \ |
| 8705 float32x2_t __b = (b); \ |
| 8706 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 9); }) |
| 8707 #define vst1_p8(__a, b) __extension__ ({ \ |
| 8708 poly8x8_t __b = (b); \ |
| 8709 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 4); }) |
| 8710 #define vst1_p16(__a, b) __extension__ ({ \ |
| 8711 poly16x4_t __b = (b); \ |
| 8712 __builtin_neon_vst1_v(__a, (int8x8_t)__b, 5); }) |
| 8713 |
| 8714 #define vst1q_lane_u8(__a, b, __c) __extension__ ({ \ |
| 8715 uint8x16_t __b = (b); \ |
| 8716 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 48); }) |
| 8717 #define vst1q_lane_u16(__a, b, __c) __extension__ ({ \ |
| 8718 uint16x8_t __b = (b); \ |
| 8719 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 49); }) |
| 8720 #define vst1q_lane_u32(__a, b, __c) __extension__ ({ \ |
| 8721 uint32x4_t __b = (b); \ |
| 8722 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 50); }) |
| 8723 #define vst1q_lane_u64(__a, b, __c) __extension__ ({ \ |
| 8724 uint64x2_t __b = (b); \ |
| 8725 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 51); }) |
| 8726 #define vst1q_lane_s8(__a, b, __c) __extension__ ({ \ |
| 8727 int8x16_t __b = (b); \ |
| 8728 __builtin_neon_vst1q_lane_v(__a, __b, __c, 32); }) |
| 8729 #define vst1q_lane_s16(__a, b, __c) __extension__ ({ \ |
| 8730 int16x8_t __b = (b); \ |
| 8731 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 33); }) |
| 8732 #define vst1q_lane_s32(__a, b, __c) __extension__ ({ \ |
| 8733 int32x4_t __b = (b); \ |
| 8734 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 34); }) |
| 8735 #define vst1q_lane_s64(__a, b, __c) __extension__ ({ \ |
| 8736 int64x2_t __b = (b); \ |
| 8737 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 35); }) |
| 8738 #define vst1q_lane_f16(__a, b, __c) __extension__ ({ \ |
| 8739 float16x8_t __b = (b); \ |
| 8740 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 40); }) |
| 8741 #define vst1q_lane_f32(__a, b, __c) __extension__ ({ \ |
| 8742 float32x4_t __b = (b); \ |
| 8743 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 41); }) |
| 8744 #define vst1q_lane_p8(__a, b, __c) __extension__ ({ \ |
| 8745 poly8x16_t __b = (b); \ |
| 8746 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 36); }) |
| 8747 #define vst1q_lane_p16(__a, b, __c) __extension__ ({ \ |
| 8748 poly16x8_t __b = (b); \ |
| 8749 __builtin_neon_vst1q_lane_v(__a, (int8x16_t)__b, __c, 37); }) |
| 8750 #define vst1_lane_u8(__a, b, __c) __extension__ ({ \ |
| 8751 uint8x8_t __b = (b); \ |
| 8752 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 16); }) |
| 8753 #define vst1_lane_u16(__a, b, __c) __extension__ ({ \ |
| 8754 uint16x4_t __b = (b); \ |
| 8755 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 17); }) |
| 8756 #define vst1_lane_u32(__a, b, __c) __extension__ ({ \ |
| 8757 uint32x2_t __b = (b); \ |
| 8758 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 18); }) |
| 8759 #define vst1_lane_u64(__a, b, __c) __extension__ ({ \ |
| 8760 uint64x1_t __b = (b); \ |
| 8761 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 19); }) |
| 8762 #define vst1_lane_s8(__a, b, __c) __extension__ ({ \ |
| 8763 int8x8_t __b = (b); \ |
| 8764 __builtin_neon_vst1_lane_v(__a, __b, __c, 0); }) |
| 8765 #define vst1_lane_s16(__a, b, __c) __extension__ ({ \ |
| 8766 int16x4_t __b = (b); \ |
| 8767 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 1); }) |
| 8768 #define vst1_lane_s32(__a, b, __c) __extension__ ({ \ |
| 8769 int32x2_t __b = (b); \ |
| 8770 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 2); }) |
| 8771 #define vst1_lane_s64(__a, b, __c) __extension__ ({ \ |
| 8772 int64x1_t __b = (b); \ |
| 8773 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 3); }) |
| 8774 #define vst1_lane_f16(__a, b, __c) __extension__ ({ \ |
| 8775 float16x4_t __b = (b); \ |
| 8776 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 8); }) |
| 8777 #define vst1_lane_f32(__a, b, __c) __extension__ ({ \ |
| 8778 float32x2_t __b = (b); \ |
| 8779 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 9); }) |
| 8780 #define vst1_lane_p8(__a, b, __c) __extension__ ({ \ |
| 8781 poly8x8_t __b = (b); \ |
| 8782 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 4); }) |
| 8783 #define vst1_lane_p16(__a, b, __c) __extension__ ({ \ |
| 8784 poly16x4_t __b = (b); \ |
| 8785 __builtin_neon_vst1_lane_v(__a, (int8x8_t)__b, __c, 5); }) |
| 8786 |
| 8787 #define vst2q_u8(__a, b) __extension__ ({ \ |
| 8788 uint8x16x2_t __b = (b); \ |
| 8789 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 48);
}) |
| 8790 #define vst2q_u16(__a, b) __extension__ ({ \ |
| 8791 uint16x8x2_t __b = (b); \ |
| 8792 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 49);
}) |
| 8793 #define vst2q_u32(__a, b) __extension__ ({ \ |
| 8794 uint32x4x2_t __b = (b); \ |
| 8795 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 50);
}) |
| 8796 #define vst2q_s8(__a, b) __extension__ ({ \ |
| 8797 int8x16x2_t __b = (b); \ |
| 8798 __builtin_neon_vst2q_v(__a, __b.val[0], __b.val[1], 32); }) |
| 8799 #define vst2q_s16(__a, b) __extension__ ({ \ |
| 8800 int16x8x2_t __b = (b); \ |
| 8801 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 33);
}) |
| 8802 #define vst2q_s32(__a, b) __extension__ ({ \ |
| 8803 int32x4x2_t __b = (b); \ |
| 8804 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 34);
}) |
| 8805 #define vst2q_f16(__a, b) __extension__ ({ \ |
| 8806 float16x8x2_t __b = (b); \ |
| 8807 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 40);
}) |
| 8808 #define vst2q_f32(__a, b) __extension__ ({ \ |
| 8809 float32x4x2_t __b = (b); \ |
| 8810 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 41);
}) |
| 8811 #define vst2q_p8(__a, b) __extension__ ({ \ |
| 8812 poly8x16x2_t __b = (b); \ |
| 8813 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 36);
}) |
| 8814 #define vst2q_p16(__a, b) __extension__ ({ \ |
| 8815 poly16x8x2_t __b = (b); \ |
| 8816 __builtin_neon_vst2q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], 37);
}) |
| 8817 #define vst2_u8(__a, b) __extension__ ({ \ |
| 8818 uint8x8x2_t __b = (b); \ |
| 8819 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 16); }) |
| 8820 #define vst2_u16(__a, b) __extension__ ({ \ |
| 8821 uint16x4x2_t __b = (b); \ |
| 8822 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 17); }) |
| 8823 #define vst2_u32(__a, b) __extension__ ({ \ |
| 8824 uint32x2x2_t __b = (b); \ |
| 8825 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 18); }) |
| 8826 #define vst2_u64(__a, b) __extension__ ({ \ |
| 8827 uint64x1x2_t __b = (b); \ |
| 8828 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 19); }) |
| 8829 #define vst2_s8(__a, b) __extension__ ({ \ |
| 8830 int8x8x2_t __b = (b); \ |
| 8831 __builtin_neon_vst2_v(__a, __b.val[0], __b.val[1], 0); }) |
| 8832 #define vst2_s16(__a, b) __extension__ ({ \ |
| 8833 int16x4x2_t __b = (b); \ |
| 8834 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 1); }) |
| 8835 #define vst2_s32(__a, b) __extension__ ({ \ |
| 8836 int32x2x2_t __b = (b); \ |
| 8837 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 2); }) |
| 8838 #define vst2_s64(__a, b) __extension__ ({ \ |
| 8839 int64x1x2_t __b = (b); \ |
| 8840 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 3); }) |
| 8841 #define vst2_f16(__a, b) __extension__ ({ \ |
| 8842 float16x4x2_t __b = (b); \ |
| 8843 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 8); }) |
| 8844 #define vst2_f32(__a, b) __extension__ ({ \ |
| 8845 float32x2x2_t __b = (b); \ |
| 8846 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 9); }) |
| 8847 #define vst2_p8(__a, b) __extension__ ({ \ |
| 8848 poly8x8x2_t __b = (b); \ |
| 8849 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 4); }) |
| 8850 #define vst2_p16(__a, b) __extension__ ({ \ |
| 8851 poly16x4x2_t __b = (b); \ |
| 8852 __builtin_neon_vst2_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], 5); }) |
| 8853 |
| 8854 #define vst2q_lane_u16(__a, b, __c) __extension__ ({ \ |
| 8855 uint16x8x2_t __b = (b); \ |
| 8856 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 49); }) |
| 8857 #define vst2q_lane_u32(__a, b, __c) __extension__ ({ \ |
| 8858 uint32x4x2_t __b = (b); \ |
| 8859 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 50); }) |
| 8860 #define vst2q_lane_s16(__a, b, __c) __extension__ ({ \ |
| 8861 int16x8x2_t __b = (b); \ |
| 8862 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 33); }) |
| 8863 #define vst2q_lane_s32(__a, b, __c) __extension__ ({ \ |
| 8864 int32x4x2_t __b = (b); \ |
| 8865 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 34); }) |
| 8866 #define vst2q_lane_f16(__a, b, __c) __extension__ ({ \ |
| 8867 float16x8x2_t __b = (b); \ |
| 8868 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 40); }) |
| 8869 #define vst2q_lane_f32(__a, b, __c) __extension__ ({ \ |
| 8870 float32x4x2_t __b = (b); \ |
| 8871 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 41); }) |
| 8872 #define vst2q_lane_p16(__a, b, __c) __extension__ ({ \ |
| 8873 poly16x8x2_t __b = (b); \ |
| 8874 __builtin_neon_vst2q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
__c, 37); }) |
| 8875 #define vst2_lane_u8(__a, b, __c) __extension__ ({ \ |
| 8876 uint8x8x2_t __b = (b); \ |
| 8877 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 16); }) |
| 8878 #define vst2_lane_u16(__a, b, __c) __extension__ ({ \ |
| 8879 uint16x4x2_t __b = (b); \ |
| 8880 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 17); }) |
| 8881 #define vst2_lane_u32(__a, b, __c) __extension__ ({ \ |
| 8882 uint32x2x2_t __b = (b); \ |
| 8883 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 18); }) |
| 8884 #define vst2_lane_s8(__a, b, __c) __extension__ ({ \ |
| 8885 int8x8x2_t __b = (b); \ |
| 8886 __builtin_neon_vst2_lane_v(__a, __b.val[0], __b.val[1], __c, 0); }) |
| 8887 #define vst2_lane_s16(__a, b, __c) __extension__ ({ \ |
| 8888 int16x4x2_t __b = (b); \ |
| 8889 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 1); }) |
| 8890 #define vst2_lane_s32(__a, b, __c) __extension__ ({ \ |
| 8891 int32x2x2_t __b = (b); \ |
| 8892 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 2); }) |
| 8893 #define vst2_lane_f16(__a, b, __c) __extension__ ({ \ |
| 8894 float16x4x2_t __b = (b); \ |
| 8895 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 8); }) |
| 8896 #define vst2_lane_f32(__a, b, __c) __extension__ ({ \ |
| 8897 float32x2x2_t __b = (b); \ |
| 8898 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 9); }) |
| 8899 #define vst2_lane_p8(__a, b, __c) __extension__ ({ \ |
| 8900 poly8x8x2_t __b = (b); \ |
| 8901 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 4); }) |
| 8902 #define vst2_lane_p16(__a, b, __c) __extension__ ({ \ |
| 8903 poly16x4x2_t __b = (b); \ |
| 8904 __builtin_neon_vst2_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], __
c, 5); }) |
| 8905 |
| 8906 #define vst3q_u8(__a, b) __extension__ ({ \ |
| 8907 uint8x16x3_t __b = (b); \ |
| 8908 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 48); }) |
| 8909 #define vst3q_u16(__a, b) __extension__ ({ \ |
| 8910 uint16x8x3_t __b = (b); \ |
| 8911 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 49); }) |
| 8912 #define vst3q_u32(__a, b) __extension__ ({ \ |
| 8913 uint32x4x3_t __b = (b); \ |
| 8914 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 50); }) |
| 8915 #define vst3q_s8(__a, b) __extension__ ({ \ |
| 8916 int8x16x3_t __b = (b); \ |
| 8917 __builtin_neon_vst3q_v(__a, __b.val[0], __b.val[1], __b.val[2], 32); }) |
| 8918 #define vst3q_s16(__a, b) __extension__ ({ \ |
| 8919 int16x8x3_t __b = (b); \ |
| 8920 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 33); }) |
| 8921 #define vst3q_s32(__a, b) __extension__ ({ \ |
| 8922 int32x4x3_t __b = (b); \ |
| 8923 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 34); }) |
| 8924 #define vst3q_f16(__a, b) __extension__ ({ \ |
| 8925 float16x8x3_t __b = (b); \ |
| 8926 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 40); }) |
| 8927 #define vst3q_f32(__a, b) __extension__ ({ \ |
| 8928 float32x4x3_t __b = (b); \ |
| 8929 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 41); }) |
| 8930 #define vst3q_p8(__a, b) __extension__ ({ \ |
| 8931 poly8x16x3_t __b = (b); \ |
| 8932 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 36); }) |
| 8933 #define vst3q_p16(__a, b) __extension__ ({ \ |
| 8934 poly16x8x3_t __b = (b); \ |
| 8935 __builtin_neon_vst3q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], 37); }) |
| 8936 #define vst3_u8(__a, b) __extension__ ({ \ |
| 8937 uint8x8x3_t __b = (b); \ |
| 8938 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 16); }) |
| 8939 #define vst3_u16(__a, b) __extension__ ({ \ |
| 8940 uint16x4x3_t __b = (b); \ |
| 8941 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 17); }) |
| 8942 #define vst3_u32(__a, b) __extension__ ({ \ |
| 8943 uint32x2x3_t __b = (b); \ |
| 8944 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 18); }) |
| 8945 #define vst3_u64(__a, b) __extension__ ({ \ |
| 8946 uint64x1x3_t __b = (b); \ |
| 8947 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 19); }) |
| 8948 #define vst3_s8(__a, b) __extension__ ({ \ |
| 8949 int8x8x3_t __b = (b); \ |
| 8950 __builtin_neon_vst3_v(__a, __b.val[0], __b.val[1], __b.val[2], 0); }) |
| 8951 #define vst3_s16(__a, b) __extension__ ({ \ |
| 8952 int16x4x3_t __b = (b); \ |
| 8953 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 1); }) |
| 8954 #define vst3_s32(__a, b) __extension__ ({ \ |
| 8955 int32x2x3_t __b = (b); \ |
| 8956 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 2); }) |
| 8957 #define vst3_s64(__a, b) __extension__ ({ \ |
| 8958 int64x1x3_t __b = (b); \ |
| 8959 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 3); }) |
| 8960 #define vst3_f16(__a, b) __extension__ ({ \ |
| 8961 float16x4x3_t __b = (b); \ |
| 8962 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 8); }) |
| 8963 #define vst3_f32(__a, b) __extension__ ({ \ |
| 8964 float32x2x3_t __b = (b); \ |
| 8965 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 9); }) |
| 8966 #define vst3_p8(__a, b) __extension__ ({ \ |
| 8967 poly8x8x3_t __b = (b); \ |
| 8968 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 4); }) |
| 8969 #define vst3_p16(__a, b) __extension__ ({ \ |
| 8970 poly16x4x3_t __b = (b); \ |
| 8971 __builtin_neon_vst3_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], 5); }) |
| 8972 |
| 8973 #define vst3q_lane_u16(__a, b, __c) __extension__ ({ \ |
| 8974 uint16x8x3_t __b = (b); \ |
| 8975 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 49); }) |
| 8976 #define vst3q_lane_u32(__a, b, __c) __extension__ ({ \ |
| 8977 uint32x4x3_t __b = (b); \ |
| 8978 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 50); }) |
| 8979 #define vst3q_lane_s16(__a, b, __c) __extension__ ({ \ |
| 8980 int16x8x3_t __b = (b); \ |
| 8981 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 33); }) |
| 8982 #define vst3q_lane_s32(__a, b, __c) __extension__ ({ \ |
| 8983 int32x4x3_t __b = (b); \ |
| 8984 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 34); }) |
| 8985 #define vst3q_lane_f16(__a, b, __c) __extension__ ({ \ |
| 8986 float16x8x3_t __b = (b); \ |
| 8987 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 40); }) |
| 8988 #define vst3q_lane_f32(__a, b, __c) __extension__ ({ \ |
| 8989 float32x4x3_t __b = (b); \ |
| 8990 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 41); }) |
| 8991 #define vst3q_lane_p16(__a, b, __c) __extension__ ({ \ |
| 8992 poly16x8x3_t __b = (b); \ |
| 8993 __builtin_neon_vst3q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], __c, 37); }) |
| 8994 #define vst3_lane_u8(__a, b, __c) __extension__ ({ \ |
| 8995 uint8x8x3_t __b = (b); \ |
| 8996 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 16); }) |
| 8997 #define vst3_lane_u16(__a, b, __c) __extension__ ({ \ |
| 8998 uint16x4x3_t __b = (b); \ |
| 8999 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 17); }) |
| 9000 #define vst3_lane_u32(__a, b, __c) __extension__ ({ \ |
| 9001 uint32x2x3_t __b = (b); \ |
| 9002 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 18); }) |
| 9003 #define vst3_lane_s8(__a, b, __c) __extension__ ({ \ |
| 9004 int8x8x3_t __b = (b); \ |
| 9005 __builtin_neon_vst3_lane_v(__a, __b.val[0], __b.val[1], __b.val[2], __c, 0); }
) |
| 9006 #define vst3_lane_s16(__a, b, __c) __extension__ ({ \ |
| 9007 int16x4x3_t __b = (b); \ |
| 9008 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 1); }) |
| 9009 #define vst3_lane_s32(__a, b, __c) __extension__ ({ \ |
| 9010 int32x2x3_t __b = (b); \ |
| 9011 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 2); }) |
| 9012 #define vst3_lane_f16(__a, b, __c) __extension__ ({ \ |
| 9013 float16x4x3_t __b = (b); \ |
| 9014 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 8); }) |
| 9015 #define vst3_lane_f32(__a, b, __c) __extension__ ({ \ |
| 9016 float32x2x3_t __b = (b); \ |
| 9017 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 9); }) |
| 9018 #define vst3_lane_p8(__a, b, __c) __extension__ ({ \ |
| 9019 poly8x8x3_t __b = (b); \ |
| 9020 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 4); }) |
| 9021 #define vst3_lane_p16(__a, b, __c) __extension__ ({ \ |
| 9022 poly16x4x3_t __b = (b); \ |
| 9023 __builtin_neon_vst3_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], __c, 5); }) |
| 9024 |
| 9025 #define vst4q_u8(__a, b) __extension__ ({ \ |
| 9026 uint8x16x4_t __b = (b); \ |
| 9027 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 48); }) |
| 9028 #define vst4q_u16(__a, b) __extension__ ({ \ |
| 9029 uint16x8x4_t __b = (b); \ |
| 9030 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 49); }) |
| 9031 #define vst4q_u32(__a, b) __extension__ ({ \ |
| 9032 uint32x4x4_t __b = (b); \ |
| 9033 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 50); }) |
| 9034 #define vst4q_s8(__a, b) __extension__ ({ \ |
| 9035 int8x16x4_t __b = (b); \ |
| 9036 __builtin_neon_vst4q_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3], 32
); }) |
| 9037 #define vst4q_s16(__a, b) __extension__ ({ \ |
| 9038 int16x8x4_t __b = (b); \ |
| 9039 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 33); }) |
| 9040 #define vst4q_s32(__a, b) __extension__ ({ \ |
| 9041 int32x4x4_t __b = (b); \ |
| 9042 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 34); }) |
| 9043 #define vst4q_f16(__a, b) __extension__ ({ \ |
| 9044 float16x8x4_t __b = (b); \ |
| 9045 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 40); }) |
| 9046 #define vst4q_f32(__a, b) __extension__ ({ \ |
| 9047 float32x4x4_t __b = (b); \ |
| 9048 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 41); }) |
| 9049 #define vst4q_p8(__a, b) __extension__ ({ \ |
| 9050 poly8x16x4_t __b = (b); \ |
| 9051 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 36); }) |
| 9052 #define vst4q_p16(__a, b) __extension__ ({ \ |
| 9053 poly16x8x4_t __b = (b); \ |
| 9054 __builtin_neon_vst4q_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1], (int
8x16_t)__b.val[2], (int8x16_t)__b.val[3], 37); }) |
| 9055 #define vst4_u8(__a, b) __extension__ ({ \ |
| 9056 uint8x8x4_t __b = (b); \ |
| 9057 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 16); }) |
| 9058 #define vst4_u16(__a, b) __extension__ ({ \ |
| 9059 uint16x4x4_t __b = (b); \ |
| 9060 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 17); }) |
| 9061 #define vst4_u32(__a, b) __extension__ ({ \ |
| 9062 uint32x2x4_t __b = (b); \ |
| 9063 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 18); }) |
| 9064 #define vst4_u64(__a, b) __extension__ ({ \ |
| 9065 uint64x1x4_t __b = (b); \ |
| 9066 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 19); }) |
| 9067 #define vst4_s8(__a, b) __extension__ ({ \ |
| 9068 int8x8x4_t __b = (b); \ |
| 9069 __builtin_neon_vst4_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3], 0);
}) |
| 9070 #define vst4_s16(__a, b) __extension__ ({ \ |
| 9071 int16x4x4_t __b = (b); \ |
| 9072 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 1); }) |
| 9073 #define vst4_s32(__a, b) __extension__ ({ \ |
| 9074 int32x2x4_t __b = (b); \ |
| 9075 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 2); }) |
| 9076 #define vst4_s64(__a, b) __extension__ ({ \ |
| 9077 int64x1x4_t __b = (b); \ |
| 9078 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 3); }) |
| 9079 #define vst4_f16(__a, b) __extension__ ({ \ |
| 9080 float16x4x4_t __b = (b); \ |
| 9081 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 8); }) |
| 9082 #define vst4_f32(__a, b) __extension__ ({ \ |
| 9083 float32x2x4_t __b = (b); \ |
| 9084 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 9); }) |
| 9085 #define vst4_p8(__a, b) __extension__ ({ \ |
| 9086 poly8x8x4_t __b = (b); \ |
| 9087 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 4); }) |
| 9088 #define vst4_p16(__a, b) __extension__ ({ \ |
| 9089 poly16x4x4_t __b = (b); \ |
| 9090 __builtin_neon_vst4_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (int8x8
_t)__b.val[2], (int8x8_t)__b.val[3], 5); }) |
| 9091 |
| 9092 #define vst4q_lane_u16(__a, b, __c) __extension__ ({ \ |
| 9093 uint16x8x4_t __b = (b); \ |
| 9094 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 49); }) |
| 9095 #define vst4q_lane_u32(__a, b, __c) __extension__ ({ \ |
| 9096 uint32x4x4_t __b = (b); \ |
| 9097 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 50); }) |
| 9098 #define vst4q_lane_s16(__a, b, __c) __extension__ ({ \ |
| 9099 int16x8x4_t __b = (b); \ |
| 9100 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 33); }) |
| 9101 #define vst4q_lane_s32(__a, b, __c) __extension__ ({ \ |
| 9102 int32x4x4_t __b = (b); \ |
| 9103 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 34); }) |
| 9104 #define vst4q_lane_f16(__a, b, __c) __extension__ ({ \ |
| 9105 float16x8x4_t __b = (b); \ |
| 9106 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 40); }) |
| 9107 #define vst4q_lane_f32(__a, b, __c) __extension__ ({ \ |
| 9108 float32x4x4_t __b = (b); \ |
| 9109 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 41); }) |
| 9110 #define vst4q_lane_p16(__a, b, __c) __extension__ ({ \ |
| 9111 poly16x8x4_t __b = (b); \ |
| 9112 __builtin_neon_vst4q_lane_v(__a, (int8x16_t)__b.val[0], (int8x16_t)__b.val[1],
(int8x16_t)__b.val[2], (int8x16_t)__b.val[3], __c, 37); }) |
| 9113 #define vst4_lane_u8(__a, b, __c) __extension__ ({ \ |
| 9114 uint8x8x4_t __b = (b); \ |
| 9115 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 16); }) |
| 9116 #define vst4_lane_u16(__a, b, __c) __extension__ ({ \ |
| 9117 uint16x4x4_t __b = (b); \ |
| 9118 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 17); }) |
| 9119 #define vst4_lane_u32(__a, b, __c) __extension__ ({ \ |
| 9120 uint32x2x4_t __b = (b); \ |
| 9121 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 18); }) |
| 9122 #define vst4_lane_s8(__a, b, __c) __extension__ ({ \ |
| 9123 int8x8x4_t __b = (b); \ |
| 9124 __builtin_neon_vst4_lane_v(__a, __b.val[0], __b.val[1], __b.val[2], __b.val[3]
, __c, 0); }) |
| 9125 #define vst4_lane_s16(__a, b, __c) __extension__ ({ \ |
| 9126 int16x4x4_t __b = (b); \ |
| 9127 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 1); }) |
| 9128 #define vst4_lane_s32(__a, b, __c) __extension__ ({ \ |
| 9129 int32x2x4_t __b = (b); \ |
| 9130 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 2); }) |
| 9131 #define vst4_lane_f16(__a, b, __c) __extension__ ({ \ |
| 9132 float16x4x4_t __b = (b); \ |
| 9133 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 8); }) |
| 9134 #define vst4_lane_f32(__a, b, __c) __extension__ ({ \ |
| 9135 float32x2x4_t __b = (b); \ |
| 9136 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 9); }) |
| 9137 #define vst4_lane_p8(__a, b, __c) __extension__ ({ \ |
| 9138 poly8x8x4_t __b = (b); \ |
| 9139 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 4); }) |
| 9140 #define vst4_lane_p16(__a, b, __c) __extension__ ({ \ |
| 9141 poly16x4x4_t __b = (b); \ |
| 9142 __builtin_neon_vst4_lane_v(__a, (int8x8_t)__b.val[0], (int8x8_t)__b.val[1], (i
nt8x8_t)__b.val[2], (int8x8_t)__b.val[3], __c, 5); }) |
| 9143 |
| 9144 #if defined(__aarch64__) |
| 9145 #define vstrq_p128(__a, b) __extension__ ({ \ |
| 9146 poly128_t __b = (b); \ |
| 9147 __builtin_neon_vstrq_p128(__a, __b); }) |
| 9148 |
| 9149 #endif |
| 9150 |
| 9151 __ai int8x8_t vsub_s8(int8x8_t __a, int8x8_t __b) { |
| 9152 return __a - __b; } |
| 9153 __ai int16x4_t vsub_s16(int16x4_t __a, int16x4_t __b) { |
| 9154 return __a - __b; } |
| 9155 __ai int32x2_t vsub_s32(int32x2_t __a, int32x2_t __b) { |
| 9156 return __a - __b; } |
| 9157 __ai int64x1_t vsub_s64(int64x1_t __a, int64x1_t __b) { |
| 9158 return __a - __b; } |
| 9159 __ai float32x2_t vsub_f32(float32x2_t __a, float32x2_t __b) { |
| 9160 return __a - __b; } |
| 9161 __ai uint8x8_t vsub_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9162 return __a - __b; } |
| 9163 __ai uint16x4_t vsub_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9164 return __a - __b; } |
| 9165 __ai uint32x2_t vsub_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9166 return __a - __b; } |
| 9167 __ai uint64x1_t vsub_u64(uint64x1_t __a, uint64x1_t __b) { |
| 9168 return __a - __b; } |
| 9169 __ai int8x16_t vsubq_s8(int8x16_t __a, int8x16_t __b) { |
| 9170 return __a - __b; } |
| 9171 __ai int16x8_t vsubq_s16(int16x8_t __a, int16x8_t __b) { |
| 9172 return __a - __b; } |
| 9173 __ai int32x4_t vsubq_s32(int32x4_t __a, int32x4_t __b) { |
| 9174 return __a - __b; } |
| 9175 __ai int64x2_t vsubq_s64(int64x2_t __a, int64x2_t __b) { |
| 9176 return __a - __b; } |
| 9177 __ai float32x4_t vsubq_f32(float32x4_t __a, float32x4_t __b) { |
| 9178 return __a - __b; } |
| 9179 __ai uint8x16_t vsubq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9180 return __a - __b; } |
| 9181 __ai uint16x8_t vsubq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9182 return __a - __b; } |
| 9183 __ai uint32x4_t vsubq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9184 return __a - __b; } |
| 9185 __ai uint64x2_t vsubq_u64(uint64x2_t __a, uint64x2_t __b) { |
| 9186 return __a - __b; } |
| 9187 |
| 9188 __ai int8x8_t vsubhn_s16(int16x8_t __a, int16x8_t __b) { |
| 9189 return (int8x8_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 0); } |
| 9190 __ai int16x4_t vsubhn_s32(int32x4_t __a, int32x4_t __b) { |
| 9191 return (int16x4_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 1);
} |
| 9192 __ai int32x2_t vsubhn_s64(int64x2_t __a, int64x2_t __b) { |
| 9193 return (int32x2_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 2);
} |
| 9194 __ai uint8x8_t vsubhn_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9195 return (uint8x8_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 16);
} |
| 9196 __ai uint16x4_t vsubhn_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9197 return (uint16x4_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 17)
; } |
| 9198 __ai uint32x2_t vsubhn_u64(uint64x2_t __a, uint64x2_t __b) { |
| 9199 return (uint32x2_t)__builtin_neon_vsubhn_v((int8x16_t)__a, (int8x16_t)__b, 18)
; } |
| 9200 |
| 9201 #if defined(__aarch64__) |
| 9202 __ai int8x16_t vsubhn_high_s16(int8x8_t __a, int16x8_t __b, int16x8_t __c) { |
| 9203 return vcombine_s8(__a, vsubhn_s16(__b, __c)); } |
| 9204 __ai int16x8_t vsubhn_high_s32(int16x4_t __a, int32x4_t __b, int32x4_t __c) { |
| 9205 return vcombine_s16(__a, vsubhn_s32(__b, __c)); } |
| 9206 __ai int32x4_t vsubhn_high_s64(int32x2_t __a, int64x2_t __b, int64x2_t __c) { |
| 9207 return vcombine_s32(__a, vsubhn_s64(__b, __c)); } |
| 9208 __ai uint8x16_t vsubhn_high_u16(uint8x8_t __a, uint16x8_t __b, uint16x8_t __c) { |
| 9209 return vcombine_u8(__a, vsubhn_u16(__b, __c)); } |
| 9210 __ai uint16x8_t vsubhn_high_u32(uint16x4_t __a, uint32x4_t __b, uint32x4_t __c)
{ |
| 9211 return vcombine_u16(__a, vsubhn_u32(__b, __c)); } |
| 9212 __ai uint32x4_t vsubhn_high_u64(uint32x2_t __a, uint64x2_t __b, uint64x2_t __c)
{ |
| 9213 return vcombine_u32(__a, vsubhn_u64(__b, __c)); } |
| 9214 |
| 9215 #endif |
| 9216 |
| 9217 __ai int16x8_t vsubl_s8(int8x8_t __a, int8x8_t __b) { |
| 9218 return vmovl_s8(__a) - vmovl_s8(__b); } |
| 9219 __ai int32x4_t vsubl_s16(int16x4_t __a, int16x4_t __b) { |
| 9220 return vmovl_s16(__a) - vmovl_s16(__b); } |
| 9221 __ai int64x2_t vsubl_s32(int32x2_t __a, int32x2_t __b) { |
| 9222 return vmovl_s32(__a) - vmovl_s32(__b); } |
| 9223 __ai uint16x8_t vsubl_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9224 return vmovl_u8(__a) - vmovl_u8(__b); } |
| 9225 __ai uint32x4_t vsubl_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9226 return vmovl_u16(__a) - vmovl_u16(__b); } |
| 9227 __ai uint64x2_t vsubl_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9228 return vmovl_u32(__a) - vmovl_u32(__b); } |
| 9229 |
| 9230 #if defined(__aarch64__) |
| 9231 __ai int16x8_t vsubl_high_s8(int8x16_t __a, int8x16_t __b) { |
| 9232 return vmovl_high_s8(__a) - vmovl_high_s8(__b); } |
| 9233 __ai int32x4_t vsubl_high_s16(int16x8_t __a, int16x8_t __b) { |
| 9234 return vmovl_high_s16(__a) - vmovl_high_s16(__b); } |
| 9235 __ai int64x2_t vsubl_high_s32(int32x4_t __a, int32x4_t __b) { |
| 9236 return vmovl_high_s32(__a) - vmovl_high_s32(__b); } |
| 9237 __ai uint16x8_t vsubl_high_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9238 return vmovl_high_u8(__a) - vmovl_high_u8(__b); } |
| 9239 __ai uint32x4_t vsubl_high_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9240 return vmovl_high_u16(__a) - vmovl_high_u16(__b); } |
| 9241 __ai uint64x2_t vsubl_high_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9242 return vmovl_high_u32(__a) - vmovl_high_u32(__b); } |
| 9243 |
| 9244 #endif |
| 9245 |
| 9246 __ai int16x8_t vsubw_s8(int16x8_t __a, int8x8_t __b) { |
| 9247 return __a - vmovl_s8(__b); } |
| 9248 __ai int32x4_t vsubw_s16(int32x4_t __a, int16x4_t __b) { |
| 9249 return __a - vmovl_s16(__b); } |
| 9250 __ai int64x2_t vsubw_s32(int64x2_t __a, int32x2_t __b) { |
| 9251 return __a - vmovl_s32(__b); } |
| 9252 __ai uint16x8_t vsubw_u8(uint16x8_t __a, uint8x8_t __b) { |
| 9253 return __a - vmovl_u8(__b); } |
| 9254 __ai uint32x4_t vsubw_u16(uint32x4_t __a, uint16x4_t __b) { |
| 9255 return __a - vmovl_u16(__b); } |
| 9256 __ai uint64x2_t vsubw_u32(uint64x2_t __a, uint32x2_t __b) { |
| 9257 return __a - vmovl_u32(__b); } |
| 9258 |
| 9259 #if defined(__aarch64__) |
| 9260 __ai int16x8_t vsubw_high_s8(int16x8_t __a, int8x16_t __b) { |
| 9261 return __a - vmovl_high_s8(__b); } |
| 9262 __ai int32x4_t vsubw_high_s16(int32x4_t __a, int16x8_t __b) { |
| 9263 return __a - vmovl_high_s16(__b); } |
| 9264 __ai int64x2_t vsubw_high_s32(int64x2_t __a, int32x4_t __b) { |
| 9265 return __a - vmovl_high_s32(__b); } |
| 9266 __ai uint16x8_t vsubw_high_u8(uint16x8_t __a, uint8x16_t __b) { |
| 9267 return __a - vmovl_high_u8(__b); } |
| 9268 __ai uint32x4_t vsubw_high_u16(uint32x4_t __a, uint16x8_t __b) { |
| 9269 return __a - vmovl_high_u16(__b); } |
| 9270 __ai uint64x2_t vsubw_high_u32(uint64x2_t __a, uint32x4_t __b) { |
| 9271 return __a - vmovl_high_u32(__b); } |
| 9272 |
| 9273 #endif |
| 9274 |
| 9275 __ai uint8x8_t vtbl1_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9276 return (uint8x8_t)__builtin_neon_vtbl1_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 9277 __ai int8x8_t vtbl1_s8(int8x8_t __a, int8x8_t __b) { |
| 9278 return (int8x8_t)__builtin_neon_vtbl1_v(__a, __b, 0); } |
| 9279 __ai poly8x8_t vtbl1_p8(poly8x8_t __a, uint8x8_t __b) { |
| 9280 return (poly8x8_t)__builtin_neon_vtbl1_v((int8x8_t)__a, (int8x8_t)__b, 4); } |
| 9281 |
| 9282 __ai uint8x8_t vtbl2_u8(uint8x8x2_t __a, uint8x8_t __b) { |
| 9283 return (uint8x8_t)__builtin_neon_vtbl2_v((int8x8_t)__a.val[0], (int8x8_t)__a.v
al[1], (int8x8_t)__b, 16); } |
| 9284 __ai int8x8_t vtbl2_s8(int8x8x2_t __a, int8x8_t __b) { |
| 9285 return (int8x8_t)__builtin_neon_vtbl2_v(__a.val[0], __a.val[1], __b, 0); } |
| 9286 __ai poly8x8_t vtbl2_p8(poly8x8x2_t __a, uint8x8_t __b) { |
| 9287 return (poly8x8_t)__builtin_neon_vtbl2_v((int8x8_t)__a.val[0], (int8x8_t)__a.v
al[1], (int8x8_t)__b, 4); } |
| 9288 |
| 9289 __ai uint8x8_t vtbl3_u8(uint8x8x3_t __a, uint8x8_t __b) { |
| 9290 return (uint8x8_t)__builtin_neon_vtbl3_v((int8x8_t)__a.val[0], (int8x8_t)__a.v
al[1], (int8x8_t)__a.val[2], (int8x8_t)__b, 16); } |
| 9291 __ai int8x8_t vtbl3_s8(int8x8x3_t __a, int8x8_t __b) { |
| 9292 return (int8x8_t)__builtin_neon_vtbl3_v(__a.val[0], __a.val[1], __a.val[2], __
b, 0); } |
| 9293 __ai poly8x8_t vtbl3_p8(poly8x8x3_t __a, uint8x8_t __b) { |
| 9294 return (poly8x8_t)__builtin_neon_vtbl3_v((int8x8_t)__a.val[0], (int8x8_t)__a.v
al[1], (int8x8_t)__a.val[2], (int8x8_t)__b, 4); } |
| 9295 |
| 9296 __ai uint8x8_t vtbl4_u8(uint8x8x4_t __a, uint8x8_t __b) { |
| 9297 return (uint8x8_t)__builtin_neon_vtbl4_v((int8x8_t)__a.val[0], (int8x8_t)__a.v
al[1], (int8x8_t)__a.val[2], (int8x8_t)__a.val[3], (int8x8_t)__b, 16); } |
| 9298 __ai int8x8_t vtbl4_s8(int8x8x4_t __a, int8x8_t __b) { |
| 9299 return (int8x8_t)__builtin_neon_vtbl4_v(__a.val[0], __a.val[1], __a.val[2], __
a.val[3], __b, 0); } |
| 9300 __ai poly8x8_t vtbl4_p8(poly8x8x4_t __a, uint8x8_t __b) { |
| 9301 return (poly8x8_t)__builtin_neon_vtbl4_v((int8x8_t)__a.val[0], (int8x8_t)__a.v
al[1], (int8x8_t)__a.val[2], (int8x8_t)__a.val[3], (int8x8_t)__b, 4); } |
| 9302 |
| 9303 __ai uint8x8_t vtbx1_u8(uint8x8_t __a, uint8x8_t __b, uint8x8_t __c) { |
| 9304 return (uint8x8_t)__builtin_neon_vtbx1_v((int8x8_t)__a, (int8x8_t)__b, (int8x8
_t)__c, 16); } |
| 9305 __ai int8x8_t vtbx1_s8(int8x8_t __a, int8x8_t __b, int8x8_t __c) { |
| 9306 return (int8x8_t)__builtin_neon_vtbx1_v(__a, __b, __c, 0); } |
| 9307 __ai poly8x8_t vtbx1_p8(poly8x8_t __a, poly8x8_t __b, uint8x8_t __c) { |
| 9308 return (poly8x8_t)__builtin_neon_vtbx1_v((int8x8_t)__a, (int8x8_t)__b, (int8x8
_t)__c, 4); } |
| 9309 |
| 9310 __ai uint8x8_t vtbx2_u8(uint8x8_t __a, uint8x8x2_t __b, uint8x8_t __c) { |
| 9311 return (uint8x8_t)__builtin_neon_vtbx2_v((int8x8_t)__a, (int8x8_t)__b.val[0],
(int8x8_t)__b.val[1], (int8x8_t)__c, 16); } |
| 9312 __ai int8x8_t vtbx2_s8(int8x8_t __a, int8x8x2_t __b, int8x8_t __c) { |
| 9313 return (int8x8_t)__builtin_neon_vtbx2_v(__a, __b.val[0], __b.val[1], __c, 0);
} |
| 9314 __ai poly8x8_t vtbx2_p8(poly8x8_t __a, poly8x8x2_t __b, uint8x8_t __c) { |
| 9315 return (poly8x8_t)__builtin_neon_vtbx2_v((int8x8_t)__a, (int8x8_t)__b.val[0],
(int8x8_t)__b.val[1], (int8x8_t)__c, 4); } |
| 9316 |
| 9317 __ai uint8x8_t vtbx3_u8(uint8x8_t __a, uint8x8x3_t __b, uint8x8_t __c) { |
| 9318 return (uint8x8_t)__builtin_neon_vtbx3_v((int8x8_t)__a, (int8x8_t)__b.val[0],
(int8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__c, 16); } |
| 9319 __ai int8x8_t vtbx3_s8(int8x8_t __a, int8x8x3_t __b, int8x8_t __c) { |
| 9320 return (int8x8_t)__builtin_neon_vtbx3_v(__a, __b.val[0], __b.val[1], __b.val[2
], __c, 0); } |
| 9321 __ai poly8x8_t vtbx3_p8(poly8x8_t __a, poly8x8x3_t __b, uint8x8_t __c) { |
| 9322 return (poly8x8_t)__builtin_neon_vtbx3_v((int8x8_t)__a, (int8x8_t)__b.val[0],
(int8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__c, 4); } |
| 9323 |
| 9324 __ai uint8x8_t vtbx4_u8(uint8x8_t __a, uint8x8x4_t __b, uint8x8_t __c) { |
| 9325 return (uint8x8_t)__builtin_neon_vtbx4_v((int8x8_t)__a, (int8x8_t)__b.val[0],
(int8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], (int8x8_t)__c,
16); } |
| 9326 __ai int8x8_t vtbx4_s8(int8x8_t __a, int8x8x4_t __b, int8x8_t __c) { |
| 9327 return (int8x8_t)__builtin_neon_vtbx4_v(__a, __b.val[0], __b.val[1], __b.val[2
], __b.val[3], __c, 0); } |
| 9328 __ai poly8x8_t vtbx4_p8(poly8x8_t __a, poly8x8x4_t __b, uint8x8_t __c) { |
| 9329 return (poly8x8_t)__builtin_neon_vtbx4_v((int8x8_t)__a, (int8x8_t)__b.val[0],
(int8x8_t)__b.val[1], (int8x8_t)__b.val[2], (int8x8_t)__b.val[3], (int8x8_t)__c,
4); } |
| 9330 |
| 9331 __ai int8x8x2_t vtrn_s8(int8x8_t __a, int8x8_t __b) { |
| 9332 int8x8x2_t r; __builtin_neon_vtrn_v(&r, __a, __b, 0); return r; } |
| 9333 __ai int16x4x2_t vtrn_s16(int16x4_t __a, int16x4_t __b) { |
| 9334 int16x4x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 1); ret
urn r; } |
| 9335 __ai int32x2x2_t vtrn_s32(int32x2_t __a, int32x2_t __b) { |
| 9336 int32x2x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 2); ret
urn r; } |
| 9337 __ai uint8x8x2_t vtrn_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9338 uint8x8x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 16); re
turn r; } |
| 9339 __ai uint16x4x2_t vtrn_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9340 uint16x4x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 17); r
eturn r; } |
| 9341 __ai uint32x2x2_t vtrn_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9342 uint32x2x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 18); r
eturn r; } |
| 9343 __ai float32x2x2_t vtrn_f32(float32x2_t __a, float32x2_t __b) { |
| 9344 float32x2x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 9); r
eturn r; } |
| 9345 __ai poly8x8x2_t vtrn_p8(poly8x8_t __a, poly8x8_t __b) { |
| 9346 poly8x8x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 4); ret
urn r; } |
| 9347 __ai poly16x4x2_t vtrn_p16(poly16x4_t __a, poly16x4_t __b) { |
| 9348 poly16x4x2_t r; __builtin_neon_vtrn_v(&r, (int8x8_t)__a, (int8x8_t)__b, 5); re
turn r; } |
| 9349 __ai int8x16x2_t vtrnq_s8(int8x16_t __a, int8x16_t __b) { |
| 9350 int8x16x2_t r; __builtin_neon_vtrnq_v(&r, __a, __b, 32); return r; } |
| 9351 __ai int16x8x2_t vtrnq_s16(int16x8_t __a, int16x8_t __b) { |
| 9352 int16x8x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 33);
return r; } |
| 9353 __ai int32x4x2_t vtrnq_s32(int32x4_t __a, int32x4_t __b) { |
| 9354 int32x4x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 34);
return r; } |
| 9355 __ai uint8x16x2_t vtrnq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9356 uint8x16x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 48)
; return r; } |
| 9357 __ai uint16x8x2_t vtrnq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9358 uint16x8x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 49)
; return r; } |
| 9359 __ai uint32x4x2_t vtrnq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9360 uint32x4x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 50)
; return r; } |
| 9361 __ai float32x4x2_t vtrnq_f32(float32x4_t __a, float32x4_t __b) { |
| 9362 float32x4x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 41
); return r; } |
| 9363 __ai poly8x16x2_t vtrnq_p8(poly8x16_t __a, poly8x16_t __b) { |
| 9364 poly8x16x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 36)
; return r; } |
| 9365 __ai poly16x8x2_t vtrnq_p16(poly16x8_t __a, poly16x8_t __b) { |
| 9366 poly16x8x2_t r; __builtin_neon_vtrnq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 37)
; return r; } |
| 9367 |
| 9368 #if defined(__aarch64__) |
| 9369 __ai int8x8_t vtrn1_s8(int8x8_t __a, int8x8_t __b) { |
| 9370 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); } |
| 9371 __ai int16x4_t vtrn1_s16(int16x4_t __a, int16x4_t __b) { |
| 9372 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); } |
| 9373 __ai int32x2_t vtrn1_s32(int32x2_t __a, int32x2_t __b) { |
| 9374 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9375 __ai uint8x8_t vtrn1_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9376 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); } |
| 9377 __ai uint16x4_t vtrn1_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9378 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); } |
| 9379 __ai uint32x2_t vtrn1_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9380 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9381 __ai float32x2_t vtrn1_f32(float32x2_t __a, float32x2_t __b) { |
| 9382 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9383 __ai poly8x8_t vtrn1_p8(poly8x8_t __a, poly8x8_t __b) { |
| 9384 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); } |
| 9385 __ai poly16x4_t vtrn1_p16(poly16x4_t __a, poly16x4_t __b) { |
| 9386 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); } |
| 9387 __ai int8x16_t vtrn1q_s8(int8x16_t __a, int8x16_t __b) { |
| 9388 return __builtin_shufflevector(__a, __b, 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10
, 26, 12, 28, 14, 30); } |
| 9389 __ai int16x8_t vtrn1q_s16(int16x8_t __a, int16x8_t __b) { |
| 9390 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); } |
| 9391 __ai int32x4_t vtrn1q_s32(int32x4_t __a, int32x4_t __b) { |
| 9392 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); } |
| 9393 __ai int64x2_t vtrn1q_s64(int64x2_t __a, int64x2_t __b) { |
| 9394 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9395 __ai uint8x16_t vtrn1q_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9396 return __builtin_shufflevector(__a, __b, 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10
, 26, 12, 28, 14, 30); } |
| 9397 __ai uint16x8_t vtrn1q_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9398 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); } |
| 9399 __ai uint32x4_t vtrn1q_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9400 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); } |
| 9401 __ai uint64x2_t vtrn1q_u64(uint64x2_t __a, uint64x2_t __b) { |
| 9402 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9403 __ai float32x4_t vtrn1q_f32(float32x4_t __a, float32x4_t __b) { |
| 9404 return __builtin_shufflevector(__a, __b, 0, 4, 2, 6); } |
| 9405 __ai float64x2_t vtrn1q_f64(float64x2_t __a, float64x2_t __b) { |
| 9406 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9407 __ai poly8x16_t vtrn1q_p8(poly8x16_t __a, poly8x16_t __b) { |
| 9408 return __builtin_shufflevector(__a, __b, 0, 16, 2, 18, 4, 20, 6, 22, 8, 24, 10
, 26, 12, 28, 14, 30); } |
| 9409 __ai poly16x8_t vtrn1q_p16(poly16x8_t __a, poly16x8_t __b) { |
| 9410 return __builtin_shufflevector(__a, __b, 0, 8, 2, 10, 4, 12, 6, 14); } |
| 9411 __ai poly64x2_t vtrn1q_p64(poly64x2_t __a, poly64x2_t __b) { |
| 9412 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9413 |
| 9414 __ai int8x8_t vtrn2_s8(int8x8_t __a, int8x8_t __b) { |
| 9415 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); } |
| 9416 __ai int16x4_t vtrn2_s16(int16x4_t __a, int16x4_t __b) { |
| 9417 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); } |
| 9418 __ai int32x2_t vtrn2_s32(int32x2_t __a, int32x2_t __b) { |
| 9419 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9420 __ai uint8x8_t vtrn2_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9421 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); } |
| 9422 __ai uint16x4_t vtrn2_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9423 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); } |
| 9424 __ai uint32x2_t vtrn2_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9425 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9426 __ai float32x2_t vtrn2_f32(float32x2_t __a, float32x2_t __b) { |
| 9427 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9428 __ai poly8x8_t vtrn2_p8(poly8x8_t __a, poly8x8_t __b) { |
| 9429 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); } |
| 9430 __ai poly16x4_t vtrn2_p16(poly16x4_t __a, poly16x4_t __b) { |
| 9431 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); } |
| 9432 __ai int8x16_t vtrn2q_s8(int8x16_t __a, int8x16_t __b) { |
| 9433 return __builtin_shufflevector(__a, __b, 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11
, 27, 13, 29, 15, 31); } |
| 9434 __ai int16x8_t vtrn2q_s16(int16x8_t __a, int16x8_t __b) { |
| 9435 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); } |
| 9436 __ai int32x4_t vtrn2q_s32(int32x4_t __a, int32x4_t __b) { |
| 9437 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); } |
| 9438 __ai int64x2_t vtrn2q_s64(int64x2_t __a, int64x2_t __b) { |
| 9439 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9440 __ai uint8x16_t vtrn2q_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9441 return __builtin_shufflevector(__a, __b, 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11
, 27, 13, 29, 15, 31); } |
| 9442 __ai uint16x8_t vtrn2q_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9443 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); } |
| 9444 __ai uint32x4_t vtrn2q_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9445 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); } |
| 9446 __ai uint64x2_t vtrn2q_u64(uint64x2_t __a, uint64x2_t __b) { |
| 9447 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9448 __ai float32x4_t vtrn2q_f32(float32x4_t __a, float32x4_t __b) { |
| 9449 return __builtin_shufflevector(__a, __b, 1, 5, 3, 7); } |
| 9450 __ai float64x2_t vtrn2q_f64(float64x2_t __a, float64x2_t __b) { |
| 9451 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9452 __ai poly8x16_t vtrn2q_p8(poly8x16_t __a, poly8x16_t __b) { |
| 9453 return __builtin_shufflevector(__a, __b, 1, 17, 3, 19, 5, 21, 7, 23, 9, 25, 11
, 27, 13, 29, 15, 31); } |
| 9454 __ai poly16x8_t vtrn2q_p16(poly16x8_t __a, poly16x8_t __b) { |
| 9455 return __builtin_shufflevector(__a, __b, 1, 9, 3, 11, 5, 13, 7, 15); } |
| 9456 __ai poly64x2_t vtrn2q_p64(poly64x2_t __a, poly64x2_t __b) { |
| 9457 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9458 |
| 9459 #endif |
| 9460 |
| 9461 __ai uint8x8_t vtst_s8(int8x8_t __a, int8x8_t __b) { |
| 9462 return (uint8x8_t)__builtin_neon_vtst_v(__a, __b, 16); } |
| 9463 __ai uint16x4_t vtst_s16(int16x4_t __a, int16x4_t __b) { |
| 9464 return (uint16x4_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 9465 __ai uint32x2_t vtst_s32(int32x2_t __a, int32x2_t __b) { |
| 9466 return (uint32x2_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 9467 __ai uint8x8_t vtst_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9468 return (uint8x8_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 9469 __ai uint16x4_t vtst_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9470 return (uint16x4_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 9471 __ai uint32x2_t vtst_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9472 return (uint32x2_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 18); } |
| 9473 __ai uint8x8_t vtst_p8(poly8x8_t __a, poly8x8_t __b) { |
| 9474 return (uint8x8_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 16); } |
| 9475 __ai uint16x4_t vtst_p16(poly16x4_t __a, poly16x4_t __b) { |
| 9476 return (uint16x4_t)__builtin_neon_vtst_v((int8x8_t)__a, (int8x8_t)__b, 17); } |
| 9477 __ai uint8x16_t vtstq_s8(int8x16_t __a, int8x16_t __b) { |
| 9478 return (uint8x16_t)__builtin_neon_vtstq_v(__a, __b, 48); } |
| 9479 __ai uint16x8_t vtstq_s16(int16x8_t __a, int16x8_t __b) { |
| 9480 return (uint16x8_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 49);
} |
| 9481 __ai uint32x4_t vtstq_s32(int32x4_t __a, int32x4_t __b) { |
| 9482 return (uint32x4_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 50);
} |
| 9483 __ai uint8x16_t vtstq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9484 return (uint8x16_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 48);
} |
| 9485 __ai uint16x8_t vtstq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9486 return (uint16x8_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 49);
} |
| 9487 __ai uint32x4_t vtstq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9488 return (uint32x4_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 50);
} |
| 9489 __ai uint8x16_t vtstq_p8(poly8x16_t __a, poly8x16_t __b) { |
| 9490 return (uint8x16_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 48);
} |
| 9491 __ai uint16x8_t vtstq_p16(poly16x8_t __a, poly16x8_t __b) { |
| 9492 return (uint16x8_t)__builtin_neon_vtstq_v((int8x16_t)__a, (int8x16_t)__b, 49);
} |
| 9493 |
| 9494 __ai int8x8x2_t vuzp_s8(int8x8_t __a, int8x8_t __b) { |
| 9495 int8x8x2_t r; __builtin_neon_vuzp_v(&r, __a, __b, 0); return r; } |
| 9496 __ai int16x4x2_t vuzp_s16(int16x4_t __a, int16x4_t __b) { |
| 9497 int16x4x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 1); ret
urn r; } |
| 9498 __ai int32x2x2_t vuzp_s32(int32x2_t __a, int32x2_t __b) { |
| 9499 int32x2x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 2); ret
urn r; } |
| 9500 __ai uint8x8x2_t vuzp_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9501 uint8x8x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 16); re
turn r; } |
| 9502 __ai uint16x4x2_t vuzp_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9503 uint16x4x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 17); r
eturn r; } |
| 9504 __ai uint32x2x2_t vuzp_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9505 uint32x2x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 18); r
eturn r; } |
| 9506 __ai float32x2x2_t vuzp_f32(float32x2_t __a, float32x2_t __b) { |
| 9507 float32x2x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 9); r
eturn r; } |
| 9508 __ai poly8x8x2_t vuzp_p8(poly8x8_t __a, poly8x8_t __b) { |
| 9509 poly8x8x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 4); ret
urn r; } |
| 9510 __ai poly16x4x2_t vuzp_p16(poly16x4_t __a, poly16x4_t __b) { |
| 9511 poly16x4x2_t r; __builtin_neon_vuzp_v(&r, (int8x8_t)__a, (int8x8_t)__b, 5); re
turn r; } |
| 9512 __ai int8x16x2_t vuzpq_s8(int8x16_t __a, int8x16_t __b) { |
| 9513 int8x16x2_t r; __builtin_neon_vuzpq_v(&r, __a, __b, 32); return r; } |
| 9514 __ai int16x8x2_t vuzpq_s16(int16x8_t __a, int16x8_t __b) { |
| 9515 int16x8x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 33);
return r; } |
| 9516 __ai int32x4x2_t vuzpq_s32(int32x4_t __a, int32x4_t __b) { |
| 9517 int32x4x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 34);
return r; } |
| 9518 __ai uint8x16x2_t vuzpq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9519 uint8x16x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 48)
; return r; } |
| 9520 __ai uint16x8x2_t vuzpq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9521 uint16x8x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 49)
; return r; } |
| 9522 __ai uint32x4x2_t vuzpq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9523 uint32x4x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 50)
; return r; } |
| 9524 __ai float32x4x2_t vuzpq_f32(float32x4_t __a, float32x4_t __b) { |
| 9525 float32x4x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 41
); return r; } |
| 9526 __ai poly8x16x2_t vuzpq_p8(poly8x16_t __a, poly8x16_t __b) { |
| 9527 poly8x16x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 36)
; return r; } |
| 9528 __ai poly16x8x2_t vuzpq_p16(poly16x8_t __a, poly16x8_t __b) { |
| 9529 poly16x8x2_t r; __builtin_neon_vuzpq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 37)
; return r; } |
| 9530 |
| 9531 #if defined(__aarch64__) |
| 9532 __ai int8x8_t vuzp1_s8(int8x8_t __a, int8x8_t __b) { |
| 9533 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); } |
| 9534 __ai int16x4_t vuzp1_s16(int16x4_t __a, int16x4_t __b) { |
| 9535 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); } |
| 9536 __ai int32x2_t vuzp1_s32(int32x2_t __a, int32x2_t __b) { |
| 9537 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9538 __ai uint8x8_t vuzp1_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9539 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); } |
| 9540 __ai uint16x4_t vuzp1_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9541 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); } |
| 9542 __ai uint32x2_t vuzp1_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9543 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9544 __ai float32x2_t vuzp1_f32(float32x2_t __a, float32x2_t __b) { |
| 9545 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9546 __ai poly8x8_t vuzp1_p8(poly8x8_t __a, poly8x8_t __b) { |
| 9547 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); } |
| 9548 __ai poly16x4_t vuzp1_p16(poly16x4_t __a, poly16x4_t __b) { |
| 9549 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); } |
| 9550 __ai int8x16_t vuzp1q_s8(int8x16_t __a, int8x16_t __b) { |
| 9551 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
, 22, 24, 26, 28, 30); } |
| 9552 __ai int16x8_t vuzp1q_s16(int16x8_t __a, int16x8_t __b) { |
| 9553 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); } |
| 9554 __ai int32x4_t vuzp1q_s32(int32x4_t __a, int32x4_t __b) { |
| 9555 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); } |
| 9556 __ai int64x2_t vuzp1q_s64(int64x2_t __a, int64x2_t __b) { |
| 9557 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9558 __ai uint8x16_t vuzp1q_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9559 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
, 22, 24, 26, 28, 30); } |
| 9560 __ai uint16x8_t vuzp1q_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9561 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); } |
| 9562 __ai uint32x4_t vuzp1q_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9563 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); } |
| 9564 __ai uint64x2_t vuzp1q_u64(uint64x2_t __a, uint64x2_t __b) { |
| 9565 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9566 __ai float32x4_t vuzp1q_f32(float32x4_t __a, float32x4_t __b) { |
| 9567 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6); } |
| 9568 __ai float64x2_t vuzp1q_f64(float64x2_t __a, float64x2_t __b) { |
| 9569 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9570 __ai poly8x16_t vuzp1q_p8(poly8x16_t __a, poly8x16_t __b) { |
| 9571 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
, 22, 24, 26, 28, 30); } |
| 9572 __ai poly16x8_t vuzp1q_p16(poly16x8_t __a, poly16x8_t __b) { |
| 9573 return __builtin_shufflevector(__a, __b, 0, 2, 4, 6, 8, 10, 12, 14); } |
| 9574 __ai poly64x2_t vuzp1q_p64(poly64x2_t __a, poly64x2_t __b) { |
| 9575 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9576 |
| 9577 __ai int8x8_t vuzp2_s8(int8x8_t __a, int8x8_t __b) { |
| 9578 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); } |
| 9579 __ai int16x4_t vuzp2_s16(int16x4_t __a, int16x4_t __b) { |
| 9580 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); } |
| 9581 __ai int32x2_t vuzp2_s32(int32x2_t __a, int32x2_t __b) { |
| 9582 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9583 __ai uint8x8_t vuzp2_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9584 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); } |
| 9585 __ai uint16x4_t vuzp2_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9586 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); } |
| 9587 __ai uint32x2_t vuzp2_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9588 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9589 __ai float32x2_t vuzp2_f32(float32x2_t __a, float32x2_t __b) { |
| 9590 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9591 __ai poly8x8_t vuzp2_p8(poly8x8_t __a, poly8x8_t __b) { |
| 9592 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); } |
| 9593 __ai poly16x4_t vuzp2_p16(poly16x4_t __a, poly16x4_t __b) { |
| 9594 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); } |
| 9595 __ai int8x16_t vuzp2q_s8(int8x16_t __a, int8x16_t __b) { |
| 9596 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21
, 23, 25, 27, 29, 31); } |
| 9597 __ai int16x8_t vuzp2q_s16(int16x8_t __a, int16x8_t __b) { |
| 9598 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); } |
| 9599 __ai int32x4_t vuzp2q_s32(int32x4_t __a, int32x4_t __b) { |
| 9600 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); } |
| 9601 __ai int64x2_t vuzp2q_s64(int64x2_t __a, int64x2_t __b) { |
| 9602 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9603 __ai uint8x16_t vuzp2q_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9604 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21
, 23, 25, 27, 29, 31); } |
| 9605 __ai uint16x8_t vuzp2q_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9606 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); } |
| 9607 __ai uint32x4_t vuzp2q_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9608 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); } |
| 9609 __ai uint64x2_t vuzp2q_u64(uint64x2_t __a, uint64x2_t __b) { |
| 9610 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9611 __ai float32x4_t vuzp2q_f32(float32x4_t __a, float32x4_t __b) { |
| 9612 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7); } |
| 9613 __ai float64x2_t vuzp2q_f64(float64x2_t __a, float64x2_t __b) { |
| 9614 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9615 __ai poly8x16_t vuzp2q_p8(poly8x16_t __a, poly8x16_t __b) { |
| 9616 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21
, 23, 25, 27, 29, 31); } |
| 9617 __ai poly16x8_t vuzp2q_p16(poly16x8_t __a, poly16x8_t __b) { |
| 9618 return __builtin_shufflevector(__a, __b, 1, 3, 5, 7, 9, 11, 13, 15); } |
| 9619 __ai poly64x2_t vuzp2q_p64(poly64x2_t __a, poly64x2_t __b) { |
| 9620 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9621 |
| 9622 __ai int8x8_t vreinterpret_s8_f64(float64x1_t __a) { |
| 9623 return (int8x8_t)__a; } |
| 9624 __ai int8x8_t vreinterpret_s8_p64(poly64x1_t __a) { |
| 9625 return (int8x8_t)__a; } |
| 9626 __ai int16x4_t vreinterpret_s16_f64(float64x1_t __a) { |
| 9627 return (int16x4_t)__a; } |
| 9628 __ai int16x4_t vreinterpret_s16_p64(poly64x1_t __a) { |
| 9629 return (int16x4_t)__a; } |
| 9630 __ai int32x2_t vreinterpret_s32_f64(float64x1_t __a) { |
| 9631 return (int32x2_t)__a; } |
| 9632 __ai int32x2_t vreinterpret_s32_p64(poly64x1_t __a) { |
| 9633 return (int32x2_t)__a; } |
| 9634 __ai int64x1_t vreinterpret_s64_f64(float64x1_t __a) { |
| 9635 return (int64x1_t)__a; } |
| 9636 __ai int64x1_t vreinterpret_s64_p64(poly64x1_t __a) { |
| 9637 return (int64x1_t)__a; } |
| 9638 __ai uint8x8_t vreinterpret_u8_f64(float64x1_t __a) { |
| 9639 return (uint8x8_t)__a; } |
| 9640 __ai uint8x8_t vreinterpret_u8_p64(poly64x1_t __a) { |
| 9641 return (uint8x8_t)__a; } |
| 9642 __ai uint16x4_t vreinterpret_u16_f64(float64x1_t __a) { |
| 9643 return (uint16x4_t)__a; } |
| 9644 __ai uint16x4_t vreinterpret_u16_p64(poly64x1_t __a) { |
| 9645 return (uint16x4_t)__a; } |
| 9646 __ai uint32x2_t vreinterpret_u32_f64(float64x1_t __a) { |
| 9647 return (uint32x2_t)__a; } |
| 9648 __ai uint32x2_t vreinterpret_u32_p64(poly64x1_t __a) { |
| 9649 return (uint32x2_t)__a; } |
| 9650 __ai uint64x1_t vreinterpret_u64_f64(float64x1_t __a) { |
| 9651 return (uint64x1_t)__a; } |
| 9652 __ai uint64x1_t vreinterpret_u64_p64(poly64x1_t __a) { |
| 9653 return (uint64x1_t)__a; } |
| 9654 __ai float16x4_t vreinterpret_f16_f64(float64x1_t __a) { |
| 9655 return (float16x4_t)__a; } |
| 9656 __ai float16x4_t vreinterpret_f16_p64(poly64x1_t __a) { |
| 9657 return (float16x4_t)__a; } |
| 9658 __ai float32x2_t vreinterpret_f32_f64(float64x1_t __a) { |
| 9659 return (float32x2_t)__a; } |
| 9660 __ai float32x2_t vreinterpret_f32_p64(poly64x1_t __a) { |
| 9661 return (float32x2_t)__a; } |
| 9662 __ai float64x1_t vreinterpret_f64_s8(int8x8_t __a) { |
| 9663 return (float64x1_t)__a; } |
| 9664 __ai float64x1_t vreinterpret_f64_s16(int16x4_t __a) { |
| 9665 return (float64x1_t)__a; } |
| 9666 __ai float64x1_t vreinterpret_f64_s32(int32x2_t __a) { |
| 9667 return (float64x1_t)__a; } |
| 9668 __ai float64x1_t vreinterpret_f64_s64(int64x1_t __a) { |
| 9669 return (float64x1_t)__a; } |
| 9670 __ai float64x1_t vreinterpret_f64_u8(uint8x8_t __a) { |
| 9671 return (float64x1_t)__a; } |
| 9672 __ai float64x1_t vreinterpret_f64_u16(uint16x4_t __a) { |
| 9673 return (float64x1_t)__a; } |
| 9674 __ai float64x1_t vreinterpret_f64_u32(uint32x2_t __a) { |
| 9675 return (float64x1_t)__a; } |
| 9676 __ai float64x1_t vreinterpret_f64_u64(uint64x1_t __a) { |
| 9677 return (float64x1_t)__a; } |
| 9678 __ai float64x1_t vreinterpret_f64_f16(float16x4_t __a) { |
| 9679 return (float64x1_t)__a; } |
| 9680 __ai float64x1_t vreinterpret_f64_f32(float32x2_t __a) { |
| 9681 return (float64x1_t)__a; } |
| 9682 __ai float64x1_t vreinterpret_f64_p8(poly8x8_t __a) { |
| 9683 return (float64x1_t)__a; } |
| 9684 __ai float64x1_t vreinterpret_f64_p16(poly16x4_t __a) { |
| 9685 return (float64x1_t)__a; } |
| 9686 __ai float64x1_t vreinterpret_f64_p64(poly64x1_t __a) { |
| 9687 return (float64x1_t)__a; } |
| 9688 __ai poly8x8_t vreinterpret_p8_f64(float64x1_t __a) { |
| 9689 return (poly8x8_t)__a; } |
| 9690 __ai poly8x8_t vreinterpret_p8_p64(poly64x1_t __a) { |
| 9691 return (poly8x8_t)__a; } |
| 9692 __ai poly16x4_t vreinterpret_p16_f64(float64x1_t __a) { |
| 9693 return (poly16x4_t)__a; } |
| 9694 __ai poly16x4_t vreinterpret_p16_p64(poly64x1_t __a) { |
| 9695 return (poly16x4_t)__a; } |
| 9696 __ai poly64x1_t vreinterpret_p64_s8(int8x8_t __a) { |
| 9697 return (poly64x1_t)__a; } |
| 9698 __ai poly64x1_t vreinterpret_p64_s16(int16x4_t __a) { |
| 9699 return (poly64x1_t)__a; } |
| 9700 __ai poly64x1_t vreinterpret_p64_s32(int32x2_t __a) { |
| 9701 return (poly64x1_t)__a; } |
| 9702 __ai poly64x1_t vreinterpret_p64_s64(int64x1_t __a) { |
| 9703 return (poly64x1_t)__a; } |
| 9704 __ai poly64x1_t vreinterpret_p64_u8(uint8x8_t __a) { |
| 9705 return (poly64x1_t)__a; } |
| 9706 __ai poly64x1_t vreinterpret_p64_u16(uint16x4_t __a) { |
| 9707 return (poly64x1_t)__a; } |
| 9708 __ai poly64x1_t vreinterpret_p64_u32(uint32x2_t __a) { |
| 9709 return (poly64x1_t)__a; } |
| 9710 __ai poly64x1_t vreinterpret_p64_u64(uint64x1_t __a) { |
| 9711 return (poly64x1_t)__a; } |
| 9712 __ai poly64x1_t vreinterpret_p64_f16(float16x4_t __a) { |
| 9713 return (poly64x1_t)__a; } |
| 9714 __ai poly64x1_t vreinterpret_p64_f32(float32x2_t __a) { |
| 9715 return (poly64x1_t)__a; } |
| 9716 __ai poly64x1_t vreinterpret_p64_f64(float64x1_t __a) { |
| 9717 return (poly64x1_t)__a; } |
| 9718 __ai poly64x1_t vreinterpret_p64_p8(poly8x8_t __a) { |
| 9719 return (poly64x1_t)__a; } |
| 9720 __ai poly64x1_t vreinterpret_p64_p16(poly16x4_t __a) { |
| 9721 return (poly64x1_t)__a; } |
| 9722 __ai int8x16_t vreinterpretq_s8_f64(float64x2_t __a) { |
| 9723 return (int8x16_t)__a; } |
| 9724 __ai int8x16_t vreinterpretq_s8_p64(poly64x2_t __a) { |
| 9725 return (int8x16_t)__a; } |
| 9726 __ai int8x16_t vreinterpretq_s8_p128(poly128_t __a) { |
| 9727 return (int8x16_t)__a; } |
| 9728 __ai int16x8_t vreinterpretq_s16_f64(float64x2_t __a) { |
| 9729 return (int16x8_t)__a; } |
| 9730 __ai int16x8_t vreinterpretq_s16_p64(poly64x2_t __a) { |
| 9731 return (int16x8_t)__a; } |
| 9732 __ai int16x8_t vreinterpretq_s16_p128(poly128_t __a) { |
| 9733 return (int16x8_t)__a; } |
| 9734 __ai int32x4_t vreinterpretq_s32_f64(float64x2_t __a) { |
| 9735 return (int32x4_t)__a; } |
| 9736 __ai int32x4_t vreinterpretq_s32_p64(poly64x2_t __a) { |
| 9737 return (int32x4_t)__a; } |
| 9738 __ai int32x4_t vreinterpretq_s32_p128(poly128_t __a) { |
| 9739 return (int32x4_t)__a; } |
| 9740 __ai int64x2_t vreinterpretq_s64_f64(float64x2_t __a) { |
| 9741 return (int64x2_t)__a; } |
| 9742 __ai int64x2_t vreinterpretq_s64_p64(poly64x2_t __a) { |
| 9743 return (int64x2_t)__a; } |
| 9744 __ai int64x2_t vreinterpretq_s64_p128(poly128_t __a) { |
| 9745 return (int64x2_t)__a; } |
| 9746 __ai uint8x16_t vreinterpretq_u8_f64(float64x2_t __a) { |
| 9747 return (uint8x16_t)__a; } |
| 9748 __ai uint8x16_t vreinterpretq_u8_p64(poly64x2_t __a) { |
| 9749 return (uint8x16_t)__a; } |
| 9750 __ai uint8x16_t vreinterpretq_u8_p128(poly128_t __a) { |
| 9751 return (uint8x16_t)__a; } |
| 9752 __ai uint16x8_t vreinterpretq_u16_f64(float64x2_t __a) { |
| 9753 return (uint16x8_t)__a; } |
| 9754 __ai uint16x8_t vreinterpretq_u16_p64(poly64x2_t __a) { |
| 9755 return (uint16x8_t)__a; } |
| 9756 __ai uint16x8_t vreinterpretq_u16_p128(poly128_t __a) { |
| 9757 return (uint16x8_t)__a; } |
| 9758 __ai uint32x4_t vreinterpretq_u32_f64(float64x2_t __a) { |
| 9759 return (uint32x4_t)__a; } |
| 9760 __ai uint32x4_t vreinterpretq_u32_p64(poly64x2_t __a) { |
| 9761 return (uint32x4_t)__a; } |
| 9762 __ai uint32x4_t vreinterpretq_u32_p128(poly128_t __a) { |
| 9763 return (uint32x4_t)__a; } |
| 9764 __ai uint64x2_t vreinterpretq_u64_f64(float64x2_t __a) { |
| 9765 return (uint64x2_t)__a; } |
| 9766 __ai uint64x2_t vreinterpretq_u64_p64(poly64x2_t __a) { |
| 9767 return (uint64x2_t)__a; } |
| 9768 __ai uint64x2_t vreinterpretq_u64_p128(poly128_t __a) { |
| 9769 return (uint64x2_t)__a; } |
| 9770 __ai float16x8_t vreinterpretq_f16_f64(float64x2_t __a) { |
| 9771 return (float16x8_t)__a; } |
| 9772 __ai float16x8_t vreinterpretq_f16_p64(poly64x2_t __a) { |
| 9773 return (float16x8_t)__a; } |
| 9774 __ai float16x8_t vreinterpretq_f16_p128(poly128_t __a) { |
| 9775 return (float16x8_t)__a; } |
| 9776 __ai float32x4_t vreinterpretq_f32_f64(float64x2_t __a) { |
| 9777 return (float32x4_t)__a; } |
| 9778 __ai float32x4_t vreinterpretq_f32_p64(poly64x2_t __a) { |
| 9779 return (float32x4_t)__a; } |
| 9780 __ai float32x4_t vreinterpretq_f32_p128(poly128_t __a) { |
| 9781 return (float32x4_t)__a; } |
| 9782 __ai float64x2_t vreinterpretq_f64_s8(int8x16_t __a) { |
| 9783 return (float64x2_t)__a; } |
| 9784 __ai float64x2_t vreinterpretq_f64_s16(int16x8_t __a) { |
| 9785 return (float64x2_t)__a; } |
| 9786 __ai float64x2_t vreinterpretq_f64_s32(int32x4_t __a) { |
| 9787 return (float64x2_t)__a; } |
| 9788 __ai float64x2_t vreinterpretq_f64_s64(int64x2_t __a) { |
| 9789 return (float64x2_t)__a; } |
| 9790 __ai float64x2_t vreinterpretq_f64_u8(uint8x16_t __a) { |
| 9791 return (float64x2_t)__a; } |
| 9792 __ai float64x2_t vreinterpretq_f64_u16(uint16x8_t __a) { |
| 9793 return (float64x2_t)__a; } |
| 9794 __ai float64x2_t vreinterpretq_f64_u32(uint32x4_t __a) { |
| 9795 return (float64x2_t)__a; } |
| 9796 __ai float64x2_t vreinterpretq_f64_u64(uint64x2_t __a) { |
| 9797 return (float64x2_t)__a; } |
| 9798 __ai float64x2_t vreinterpretq_f64_f16(float16x8_t __a) { |
| 9799 return (float64x2_t)__a; } |
| 9800 __ai float64x2_t vreinterpretq_f64_f32(float32x4_t __a) { |
| 9801 return (float64x2_t)__a; } |
| 9802 __ai float64x2_t vreinterpretq_f64_p8(poly8x16_t __a) { |
| 9803 return (float64x2_t)__a; } |
| 9804 __ai float64x2_t vreinterpretq_f64_p16(poly16x8_t __a) { |
| 9805 return (float64x2_t)__a; } |
| 9806 __ai float64x2_t vreinterpretq_f64_p64(poly64x2_t __a) { |
| 9807 return (float64x2_t)__a; } |
| 9808 __ai float64x2_t vreinterpretq_f64_p128(poly128_t __a) { |
| 9809 return (float64x2_t)__a; } |
| 9810 __ai poly8x16_t vreinterpretq_p8_f64(float64x2_t __a) { |
| 9811 return (poly8x16_t)__a; } |
| 9812 __ai poly8x16_t vreinterpretq_p8_p64(poly64x2_t __a) { |
| 9813 return (poly8x16_t)__a; } |
| 9814 __ai poly8x16_t vreinterpretq_p8_p128(poly128_t __a) { |
| 9815 return (poly8x16_t)__a; } |
| 9816 __ai poly16x8_t vreinterpretq_p16_f64(float64x2_t __a) { |
| 9817 return (poly16x8_t)__a; } |
| 9818 __ai poly16x8_t vreinterpretq_p16_p64(poly64x2_t __a) { |
| 9819 return (poly16x8_t)__a; } |
| 9820 __ai poly16x8_t vreinterpretq_p16_p128(poly128_t __a) { |
| 9821 return (poly16x8_t)__a; } |
| 9822 __ai poly64x2_t vreinterpretq_p64_s8(int8x16_t __a) { |
| 9823 return (poly64x2_t)__a; } |
| 9824 __ai poly64x2_t vreinterpretq_p64_s16(int16x8_t __a) { |
| 9825 return (poly64x2_t)__a; } |
| 9826 __ai poly64x2_t vreinterpretq_p64_s32(int32x4_t __a) { |
| 9827 return (poly64x2_t)__a; } |
| 9828 __ai poly64x2_t vreinterpretq_p64_s64(int64x2_t __a) { |
| 9829 return (poly64x2_t)__a; } |
| 9830 __ai poly64x2_t vreinterpretq_p64_u8(uint8x16_t __a) { |
| 9831 return (poly64x2_t)__a; } |
| 9832 __ai poly64x2_t vreinterpretq_p64_u16(uint16x8_t __a) { |
| 9833 return (poly64x2_t)__a; } |
| 9834 __ai poly64x2_t vreinterpretq_p64_u32(uint32x4_t __a) { |
| 9835 return (poly64x2_t)__a; } |
| 9836 __ai poly64x2_t vreinterpretq_p64_u64(uint64x2_t __a) { |
| 9837 return (poly64x2_t)__a; } |
| 9838 __ai poly64x2_t vreinterpretq_p64_f16(float16x8_t __a) { |
| 9839 return (poly64x2_t)__a; } |
| 9840 __ai poly64x2_t vreinterpretq_p64_f32(float32x4_t __a) { |
| 9841 return (poly64x2_t)__a; } |
| 9842 __ai poly64x2_t vreinterpretq_p64_f64(float64x2_t __a) { |
| 9843 return (poly64x2_t)__a; } |
| 9844 __ai poly64x2_t vreinterpretq_p64_p8(poly8x16_t __a) { |
| 9845 return (poly64x2_t)__a; } |
| 9846 __ai poly64x2_t vreinterpretq_p64_p16(poly16x8_t __a) { |
| 9847 return (poly64x2_t)__a; } |
| 9848 __ai poly64x2_t vreinterpretq_p64_p128(poly128_t __a) { |
| 9849 return (poly64x2_t)__a; } |
| 9850 __ai poly128_t vreinterpretq_p128_s8(int8x16_t __a) { |
| 9851 return (poly128_t)__a; } |
| 9852 __ai poly128_t vreinterpretq_p128_s16(int16x8_t __a) { |
| 9853 return (poly128_t)__a; } |
| 9854 __ai poly128_t vreinterpretq_p128_s32(int32x4_t __a) { |
| 9855 return (poly128_t)__a; } |
| 9856 __ai poly128_t vreinterpretq_p128_s64(int64x2_t __a) { |
| 9857 return (poly128_t)__a; } |
| 9858 __ai poly128_t vreinterpretq_p128_u8(uint8x16_t __a) { |
| 9859 return (poly128_t)__a; } |
| 9860 __ai poly128_t vreinterpretq_p128_u16(uint16x8_t __a) { |
| 9861 return (poly128_t)__a; } |
| 9862 __ai poly128_t vreinterpretq_p128_u32(uint32x4_t __a) { |
| 9863 return (poly128_t)__a; } |
| 9864 __ai poly128_t vreinterpretq_p128_u64(uint64x2_t __a) { |
| 9865 return (poly128_t)__a; } |
| 9866 __ai poly128_t vreinterpretq_p128_f16(float16x8_t __a) { |
| 9867 return (poly128_t)__a; } |
| 9868 __ai poly128_t vreinterpretq_p128_f32(float32x4_t __a) { |
| 9869 return (poly128_t)__a; } |
| 9870 __ai poly128_t vreinterpretq_p128_f64(float64x2_t __a) { |
| 9871 return (poly128_t)__a; } |
| 9872 __ai poly128_t vreinterpretq_p128_p8(poly8x16_t __a) { |
| 9873 return (poly128_t)__a; } |
| 9874 __ai poly128_t vreinterpretq_p128_p16(poly16x8_t __a) { |
| 9875 return (poly128_t)__a; } |
| 9876 __ai poly128_t vreinterpretq_p128_p64(poly64x2_t __a) { |
| 9877 return (poly128_t)__a; } |
| 9878 |
| 9879 #endif |
| 9880 |
| 9881 __ai int8x8x2_t vzip_s8(int8x8_t __a, int8x8_t __b) { |
| 9882 int8x8x2_t r; __builtin_neon_vzip_v(&r, __a, __b, 0); return r; } |
| 9883 __ai int16x4x2_t vzip_s16(int16x4_t __a, int16x4_t __b) { |
| 9884 int16x4x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 1); ret
urn r; } |
| 9885 __ai int32x2x2_t vzip_s32(int32x2_t __a, int32x2_t __b) { |
| 9886 int32x2x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 2); ret
urn r; } |
| 9887 __ai uint8x8x2_t vzip_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9888 uint8x8x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 16); re
turn r; } |
| 9889 __ai uint16x4x2_t vzip_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9890 uint16x4x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 17); r
eturn r; } |
| 9891 __ai uint32x2x2_t vzip_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9892 uint32x2x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 18); r
eturn r; } |
| 9893 __ai float32x2x2_t vzip_f32(float32x2_t __a, float32x2_t __b) { |
| 9894 float32x2x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 9); r
eturn r; } |
| 9895 __ai poly8x8x2_t vzip_p8(poly8x8_t __a, poly8x8_t __b) { |
| 9896 poly8x8x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 4); ret
urn r; } |
| 9897 __ai poly16x4x2_t vzip_p16(poly16x4_t __a, poly16x4_t __b) { |
| 9898 poly16x4x2_t r; __builtin_neon_vzip_v(&r, (int8x8_t)__a, (int8x8_t)__b, 5); re
turn r; } |
| 9899 __ai int8x16x2_t vzipq_s8(int8x16_t __a, int8x16_t __b) { |
| 9900 int8x16x2_t r; __builtin_neon_vzipq_v(&r, __a, __b, 32); return r; } |
| 9901 __ai int16x8x2_t vzipq_s16(int16x8_t __a, int16x8_t __b) { |
| 9902 int16x8x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 33);
return r; } |
| 9903 __ai int32x4x2_t vzipq_s32(int32x4_t __a, int32x4_t __b) { |
| 9904 int32x4x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 34);
return r; } |
| 9905 __ai uint8x16x2_t vzipq_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9906 uint8x16x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 48)
; return r; } |
| 9907 __ai uint16x8x2_t vzipq_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9908 uint16x8x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 49)
; return r; } |
| 9909 __ai uint32x4x2_t vzipq_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9910 uint32x4x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 50)
; return r; } |
| 9911 __ai float32x4x2_t vzipq_f32(float32x4_t __a, float32x4_t __b) { |
| 9912 float32x4x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 41
); return r; } |
| 9913 __ai poly8x16x2_t vzipq_p8(poly8x16_t __a, poly8x16_t __b) { |
| 9914 poly8x16x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 36)
; return r; } |
| 9915 __ai poly16x8x2_t vzipq_p16(poly16x8_t __a, poly16x8_t __b) { |
| 9916 poly16x8x2_t r; __builtin_neon_vzipq_v(&r, (int8x16_t)__a, (int8x16_t)__b, 37)
; return r; } |
| 9917 |
| 9918 #if defined(__aarch64__) |
| 9919 __ai int8x8_t vzip1_s8(int8x8_t __a, int8x8_t __b) { |
| 9920 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); } |
| 9921 __ai int16x4_t vzip1_s16(int16x4_t __a, int16x4_t __b) { |
| 9922 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); } |
| 9923 __ai int32x2_t vzip1_s32(int32x2_t __a, int32x2_t __b) { |
| 9924 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9925 __ai uint8x8_t vzip1_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9926 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); } |
| 9927 __ai uint16x4_t vzip1_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9928 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); } |
| 9929 __ai uint32x2_t vzip1_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9930 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9931 __ai float32x2_t vzip1_f32(float32x2_t __a, float32x2_t __b) { |
| 9932 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9933 __ai poly8x8_t vzip1_p8(poly8x8_t __a, poly8x8_t __b) { |
| 9934 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); } |
| 9935 __ai poly16x4_t vzip1_p16(poly16x4_t __a, poly16x4_t __b) { |
| 9936 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); } |
| 9937 __ai int8x16_t vzip1q_s8(int8x16_t __a, int8x16_t __b) { |
| 9938 return __builtin_shufflevector(__a, __b, 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5,
21, 6, 22, 7, 23); } |
| 9939 __ai int16x8_t vzip1q_s16(int16x8_t __a, int16x8_t __b) { |
| 9940 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); } |
| 9941 __ai int32x4_t vzip1q_s32(int32x4_t __a, int32x4_t __b) { |
| 9942 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); } |
| 9943 __ai int64x2_t vzip1q_s64(int64x2_t __a, int64x2_t __b) { |
| 9944 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9945 __ai uint8x16_t vzip1q_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9946 return __builtin_shufflevector(__a, __b, 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5,
21, 6, 22, 7, 23); } |
| 9947 __ai uint16x8_t vzip1q_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9948 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); } |
| 9949 __ai uint32x4_t vzip1q_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9950 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); } |
| 9951 __ai uint64x2_t vzip1q_u64(uint64x2_t __a, uint64x2_t __b) { |
| 9952 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9953 __ai float32x4_t vzip1q_f32(float32x4_t __a, float32x4_t __b) { |
| 9954 return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); } |
| 9955 __ai float64x2_t vzip1q_f64(float64x2_t __a, float64x2_t __b) { |
| 9956 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9957 __ai poly8x16_t vzip1q_p8(poly8x16_t __a, poly8x16_t __b) { |
| 9958 return __builtin_shufflevector(__a, __b, 0, 16, 1, 17, 2, 18, 3, 19, 4, 20, 5,
21, 6, 22, 7, 23); } |
| 9959 __ai poly16x8_t vzip1q_p16(poly16x8_t __a, poly16x8_t __b) { |
| 9960 return __builtin_shufflevector(__a, __b, 0, 8, 1, 9, 2, 10, 3, 11); } |
| 9961 __ai poly64x2_t vzip1q_p64(poly64x2_t __a, poly64x2_t __b) { |
| 9962 return __builtin_shufflevector(__a, __b, 0, 2); } |
| 9963 |
| 9964 __ai int8x8_t vzip2_s8(int8x8_t __a, int8x8_t __b) { |
| 9965 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); } |
| 9966 __ai int16x4_t vzip2_s16(int16x4_t __a, int16x4_t __b) { |
| 9967 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); } |
| 9968 __ai int32x2_t vzip2_s32(int32x2_t __a, int32x2_t __b) { |
| 9969 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9970 __ai uint8x8_t vzip2_u8(uint8x8_t __a, uint8x8_t __b) { |
| 9971 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); } |
| 9972 __ai uint16x4_t vzip2_u16(uint16x4_t __a, uint16x4_t __b) { |
| 9973 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); } |
| 9974 __ai uint32x2_t vzip2_u32(uint32x2_t __a, uint32x2_t __b) { |
| 9975 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9976 __ai float32x2_t vzip2_f32(float32x2_t __a, float32x2_t __b) { |
| 9977 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9978 __ai poly8x8_t vzip2_p8(poly8x8_t __a, poly8x8_t __b) { |
| 9979 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); } |
| 9980 __ai poly16x4_t vzip2_p16(poly16x4_t __a, poly16x4_t __b) { |
| 9981 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); } |
| 9982 __ai int8x16_t vzip2q_s8(int8x16_t __a, int8x16_t __b) { |
| 9983 return __builtin_shufflevector(__a, __b, 8, 24, 9, 25, 10, 26, 11, 27, 12, 28,
13, 29, 14, 30, 15, 31); } |
| 9984 __ai int16x8_t vzip2q_s16(int16x8_t __a, int16x8_t __b) { |
| 9985 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); } |
| 9986 __ai int32x4_t vzip2q_s32(int32x4_t __a, int32x4_t __b) { |
| 9987 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); } |
| 9988 __ai int64x2_t vzip2q_s64(int64x2_t __a, int64x2_t __b) { |
| 9989 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9990 __ai uint8x16_t vzip2q_u8(uint8x16_t __a, uint8x16_t __b) { |
| 9991 return __builtin_shufflevector(__a, __b, 8, 24, 9, 25, 10, 26, 11, 27, 12, 28,
13, 29, 14, 30, 15, 31); } |
| 9992 __ai uint16x8_t vzip2q_u16(uint16x8_t __a, uint16x8_t __b) { |
| 9993 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); } |
| 9994 __ai uint32x4_t vzip2q_u32(uint32x4_t __a, uint32x4_t __b) { |
| 9995 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); } |
| 9996 __ai uint64x2_t vzip2q_u64(uint64x2_t __a, uint64x2_t __b) { |
| 9997 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 9998 __ai float32x4_t vzip2q_f32(float32x4_t __a, float32x4_t __b) { |
| 9999 return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); } |
| 10000 __ai float64x2_t vzip2q_f64(float64x2_t __a, float64x2_t __b) { |
| 10001 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 10002 __ai poly8x16_t vzip2q_p8(poly8x16_t __a, poly8x16_t __b) { |
| 10003 return __builtin_shufflevector(__a, __b, 8, 24, 9, 25, 10, 26, 11, 27, 12, 28,
13, 29, 14, 30, 15, 31); } |
| 10004 __ai poly16x8_t vzip2q_p16(poly16x8_t __a, poly16x8_t __b) { |
| 10005 return __builtin_shufflevector(__a, __b, 4, 12, 5, 13, 6, 14, 7, 15); } |
| 10006 __ai poly64x2_t vzip2q_p64(poly64x2_t __a, poly64x2_t __b) { |
| 10007 return __builtin_shufflevector(__a, __b, 1, 3); } |
| 10008 |
| 10009 __ai int8x16_t vmovn_high_s16(int8x8_t __a, int16x8_t __b) { |
| 10010 int8x8_t __a1 = vmovn_s16(__b); |
| 10011 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
, 12, 13, 14, 15); } |
| 10012 __ai int16x8_t vmovn_high_s32(int16x4_t __a, int32x4_t __b) { |
| 10013 int16x4_t __a1 = vmovn_s32(__b); |
| 10014 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); } |
| 10015 __ai int32x4_t vmovn_high_s64(int32x2_t __a, int64x2_t __b) { |
| 10016 int32x2_t __a1 = vmovn_s64(__b); |
| 10017 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); } |
| 10018 __ai uint8x16_t vmovn_high_u16(uint8x8_t __a, uint16x8_t __b) { |
| 10019 uint8x8_t __a1 = vmovn_u16(__b); |
| 10020 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
, 12, 13, 14, 15); } |
| 10021 __ai uint16x8_t vmovn_high_u32(uint16x4_t __a, uint32x4_t __b) { |
| 10022 uint16x4_t __a1 = vmovn_u32(__b); |
| 10023 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3, 4, 5, 6, 7); } |
| 10024 __ai uint32x4_t vmovn_high_u64(uint32x2_t __a, uint64x2_t __b) { |
| 10025 uint32x2_t __a1 = vmovn_u64(__b); |
| 10026 return __builtin_shufflevector(__a, __a1, 0, 1, 2, 3); } |
| 10027 |
| 10028 #endif |
| 10029 |
| 10030 #undef __ai |
| 10031 |
| 10032 #endif /* __ARM_NEON_H */ |
| OLD | NEW |