Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/arm/arm_neon.h @ 67:f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 22 Mar 2011 17:18:12 +0900 |
parents | 77e2b8dfacca |
children | 04ced10e8804 |
comparison
equal
deleted
inserted
replaced
65:65488c3d617d | 67:f6334be47118 |
---|---|
412 vadd_s32 (int32x2_t __a, int32x2_t __b) | 412 vadd_s32 (int32x2_t __a, int32x2_t __b) |
413 { | 413 { |
414 return (int32x2_t)__builtin_neon_vaddv2si (__a, __b, 1); | 414 return (int32x2_t)__builtin_neon_vaddv2si (__a, __b, 1); |
415 } | 415 } |
416 | 416 |
417 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) | |
418 vadd_f32 (float32x2_t __a, float32x2_t __b) | |
419 { | |
420 return (float32x2_t)__builtin_neon_vaddv2sf (__a, __b, 3); | |
421 } | |
422 | |
423 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
424 vadd_u8 (uint8x8_t __a, uint8x8_t __b) | |
425 { | |
426 return (uint8x8_t)__builtin_neon_vaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
427 } | |
428 | |
429 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
430 vadd_u16 (uint16x4_t __a, uint16x4_t __b) | |
431 { | |
432 return (uint16x4_t)__builtin_neon_vaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
433 } | |
434 | |
435 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
436 vadd_u32 (uint32x2_t __a, uint32x2_t __b) | |
437 { | |
438 return (uint32x2_t)__builtin_neon_vaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
439 } | |
440 | |
417 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) | 441 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) |
418 vadd_s64 (int64x1_t __a, int64x1_t __b) | 442 vadd_s64 (int64x1_t __a, int64x1_t __b) |
419 { | 443 { |
420 return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1); | 444 return (int64x1_t)__builtin_neon_vadddi (__a, __b, 1); |
421 } | 445 } |
422 | 446 |
423 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) | |
424 vadd_f32 (float32x2_t __a, float32x2_t __b) | |
425 { | |
426 return (float32x2_t)__builtin_neon_vaddv2sf (__a, __b, 3); | |
427 } | |
428 | |
429 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
430 vadd_u8 (uint8x8_t __a, uint8x8_t __b) | |
431 { | |
432 return (uint8x8_t)__builtin_neon_vaddv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
433 } | |
434 | |
435 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
436 vadd_u16 (uint16x4_t __a, uint16x4_t __b) | |
437 { | |
438 return (uint16x4_t)__builtin_neon_vaddv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
439 } | |
440 | |
441 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
442 vadd_u32 (uint32x2_t __a, uint32x2_t __b) | |
443 { | |
444 return (uint32x2_t)__builtin_neon_vaddv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
445 } | |
446 | |
447 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) | 447 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) |
448 vadd_u64 (uint64x1_t __a, uint64x1_t __b) | 448 vadd_u64 (uint64x1_t __a, uint64x1_t __b) |
449 { | 449 { |
450 return (uint64x1_t)__builtin_neon_vadddi ((int64x1_t) __a, (int64x1_t) __b, 0); | 450 return (uint64x1_t)__builtin_neon_vadddi ((int64x1_t) __a, (int64x1_t) __b, 0); |
451 } | 451 } |
1366 vsub_s32 (int32x2_t __a, int32x2_t __b) | 1366 vsub_s32 (int32x2_t __a, int32x2_t __b) |
1367 { | 1367 { |
1368 return (int32x2_t)__builtin_neon_vsubv2si (__a, __b, 1); | 1368 return (int32x2_t)__builtin_neon_vsubv2si (__a, __b, 1); |
1369 } | 1369 } |
1370 | 1370 |
1371 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) | |
1372 vsub_f32 (float32x2_t __a, float32x2_t __b) | |
1373 { | |
1374 return (float32x2_t)__builtin_neon_vsubv2sf (__a, __b, 3); | |
1375 } | |
1376 | |
1377 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
1378 vsub_u8 (uint8x8_t __a, uint8x8_t __b) | |
1379 { | |
1380 return (uint8x8_t)__builtin_neon_vsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
1381 } | |
1382 | |
1383 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
1384 vsub_u16 (uint16x4_t __a, uint16x4_t __b) | |
1385 { | |
1386 return (uint16x4_t)__builtin_neon_vsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
1387 } | |
1388 | |
1389 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
1390 vsub_u32 (uint32x2_t __a, uint32x2_t __b) | |
1391 { | |
1392 return (uint32x2_t)__builtin_neon_vsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
1393 } | |
1394 | |
1371 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) | 1395 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) |
1372 vsub_s64 (int64x1_t __a, int64x1_t __b) | 1396 vsub_s64 (int64x1_t __a, int64x1_t __b) |
1373 { | 1397 { |
1374 return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1); | 1398 return (int64x1_t)__builtin_neon_vsubdi (__a, __b, 1); |
1375 } | 1399 } |
1376 | 1400 |
1377 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) | |
1378 vsub_f32 (float32x2_t __a, float32x2_t __b) | |
1379 { | |
1380 return (float32x2_t)__builtin_neon_vsubv2sf (__a, __b, 3); | |
1381 } | |
1382 | |
1383 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
1384 vsub_u8 (uint8x8_t __a, uint8x8_t __b) | |
1385 { | |
1386 return (uint8x8_t)__builtin_neon_vsubv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
1387 } | |
1388 | |
1389 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
1390 vsub_u16 (uint16x4_t __a, uint16x4_t __b) | |
1391 { | |
1392 return (uint16x4_t)__builtin_neon_vsubv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
1393 } | |
1394 | |
1395 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
1396 vsub_u32 (uint32x2_t __a, uint32x2_t __b) | |
1397 { | |
1398 return (uint32x2_t)__builtin_neon_vsubv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
1399 } | |
1400 | |
1401 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) | 1401 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) |
1402 vsub_u64 (uint64x1_t __a, uint64x1_t __b) | 1402 vsub_u64 (uint64x1_t __a, uint64x1_t __b) |
1403 { | 1403 { |
1404 return (uint64x1_t)__builtin_neon_vsubdi ((int64x1_t) __a, (int64x1_t) __b, 0); | 1404 return (uint64x1_t)__builtin_neon_vsubdi ((int64x1_t) __a, (int64x1_t) __b, 0); |
1405 } | 1405 } |
5806 vget_low_s32 (int32x4_t __a) | 5806 vget_low_s32 (int32x4_t __a) |
5807 { | 5807 { |
5808 return (int32x2_t)__builtin_neon_vget_lowv4si (__a); | 5808 return (int32x2_t)__builtin_neon_vget_lowv4si (__a); |
5809 } | 5809 } |
5810 | 5810 |
5811 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) | |
5812 vget_low_f32 (float32x4_t __a) | |
5813 { | |
5814 return (float32x2_t)__builtin_neon_vget_lowv4sf (__a); | |
5815 } | |
5816 | |
5817 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
5818 vget_low_u8 (uint8x16_t __a) | |
5819 { | |
5820 return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a); | |
5821 } | |
5822 | |
5823 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
5824 vget_low_u16 (uint16x8_t __a) | |
5825 { | |
5826 return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a); | |
5827 } | |
5828 | |
5829 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
5830 vget_low_u32 (uint32x4_t __a) | |
5831 { | |
5832 return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a); | |
5833 } | |
5834 | |
5835 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) | |
5836 vget_low_p8 (poly8x16_t __a) | |
5837 { | |
5838 return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a); | |
5839 } | |
5840 | |
5841 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) | |
5842 vget_low_p16 (poly16x8_t __a) | |
5843 { | |
5844 return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a); | |
5845 } | |
5846 | |
5811 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) | 5847 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) |
5812 vget_low_s64 (int64x2_t __a) | 5848 vget_low_s64 (int64x2_t __a) |
5813 { | 5849 { |
5814 return (int64x1_t)__builtin_neon_vget_lowv2di (__a); | 5850 return (int64x1_t)__builtin_neon_vget_lowv2di (__a); |
5815 } | 5851 } |
5816 | 5852 |
5817 __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) | |
5818 vget_low_f32 (float32x4_t __a) | |
5819 { | |
5820 return (float32x2_t)__builtin_neon_vget_lowv4sf (__a); | |
5821 } | |
5822 | |
5823 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
5824 vget_low_u8 (uint8x16_t __a) | |
5825 { | |
5826 return (uint8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a); | |
5827 } | |
5828 | |
5829 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
5830 vget_low_u16 (uint16x8_t __a) | |
5831 { | |
5832 return (uint16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a); | |
5833 } | |
5834 | |
5835 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
5836 vget_low_u32 (uint32x4_t __a) | |
5837 { | |
5838 return (uint32x2_t)__builtin_neon_vget_lowv4si ((int32x4_t) __a); | |
5839 } | |
5840 | |
5841 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) | 5853 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) |
5842 vget_low_u64 (uint64x2_t __a) | 5854 vget_low_u64 (uint64x2_t __a) |
5843 { | 5855 { |
5844 return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a); | 5856 return (uint64x1_t)__builtin_neon_vget_lowv2di ((int64x2_t) __a); |
5845 } | |
5846 | |
5847 __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) | |
5848 vget_low_p8 (poly8x16_t __a) | |
5849 { | |
5850 return (poly8x8_t)__builtin_neon_vget_lowv16qi ((int8x16_t) __a); | |
5851 } | |
5852 | |
5853 __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) | |
5854 vget_low_p16 (poly16x8_t __a) | |
5855 { | |
5856 return (poly16x4_t)__builtin_neon_vget_lowv8hi ((int16x8_t) __a); | |
5857 } | 5857 } |
5858 | 5858 |
5859 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) | 5859 __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) |
5860 vcvt_s32_f32 (float32x2_t __a) | 5860 vcvt_s32_f32 (float32x2_t __a) |
5861 { | 5861 { |
10384 vand_s32 (int32x2_t __a, int32x2_t __b) | 10384 vand_s32 (int32x2_t __a, int32x2_t __b) |
10385 { | 10385 { |
10386 return (int32x2_t)__builtin_neon_vandv2si (__a, __b, 1); | 10386 return (int32x2_t)__builtin_neon_vandv2si (__a, __b, 1); |
10387 } | 10387 } |
10388 | 10388 |
10389 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
10390 vand_u8 (uint8x8_t __a, uint8x8_t __b) | |
10391 { | |
10392 return (uint8x8_t)__builtin_neon_vandv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
10393 } | |
10394 | |
10395 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
10396 vand_u16 (uint16x4_t __a, uint16x4_t __b) | |
10397 { | |
10398 return (uint16x4_t)__builtin_neon_vandv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
10399 } | |
10400 | |
10401 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
10402 vand_u32 (uint32x2_t __a, uint32x2_t __b) | |
10403 { | |
10404 return (uint32x2_t)__builtin_neon_vandv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
10405 } | |
10406 | |
10389 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) | 10407 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) |
10390 vand_s64 (int64x1_t __a, int64x1_t __b) | 10408 vand_s64 (int64x1_t __a, int64x1_t __b) |
10391 { | 10409 { |
10392 return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1); | 10410 return (int64x1_t)__builtin_neon_vanddi (__a, __b, 1); |
10393 } | 10411 } |
10394 | 10412 |
10395 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
10396 vand_u8 (uint8x8_t __a, uint8x8_t __b) | |
10397 { | |
10398 return (uint8x8_t)__builtin_neon_vandv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
10399 } | |
10400 | |
10401 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
10402 vand_u16 (uint16x4_t __a, uint16x4_t __b) | |
10403 { | |
10404 return (uint16x4_t)__builtin_neon_vandv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
10405 } | |
10406 | |
10407 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
10408 vand_u32 (uint32x2_t __a, uint32x2_t __b) | |
10409 { | |
10410 return (uint32x2_t)__builtin_neon_vandv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
10411 } | |
10412 | |
10413 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) | 10413 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) |
10414 vand_u64 (uint64x1_t __a, uint64x1_t __b) | 10414 vand_u64 (uint64x1_t __a, uint64x1_t __b) |
10415 { | 10415 { |
10416 return (uint64x1_t)__builtin_neon_vanddi ((int64x1_t) __a, (int64x1_t) __b, 0); | 10416 return (uint64x1_t)__builtin_neon_vanddi ((int64x1_t) __a, (int64x1_t) __b, 0); |
10417 } | 10417 } |
10480 vorr_s32 (int32x2_t __a, int32x2_t __b) | 10480 vorr_s32 (int32x2_t __a, int32x2_t __b) |
10481 { | 10481 { |
10482 return (int32x2_t)__builtin_neon_vorrv2si (__a, __b, 1); | 10482 return (int32x2_t)__builtin_neon_vorrv2si (__a, __b, 1); |
10483 } | 10483 } |
10484 | 10484 |
10485 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
10486 vorr_u8 (uint8x8_t __a, uint8x8_t __b) | |
10487 { | |
10488 return (uint8x8_t)__builtin_neon_vorrv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
10489 } | |
10490 | |
10491 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
10492 vorr_u16 (uint16x4_t __a, uint16x4_t __b) | |
10493 { | |
10494 return (uint16x4_t)__builtin_neon_vorrv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
10495 } | |
10496 | |
10497 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
10498 vorr_u32 (uint32x2_t __a, uint32x2_t __b) | |
10499 { | |
10500 return (uint32x2_t)__builtin_neon_vorrv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
10501 } | |
10502 | |
10485 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) | 10503 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) |
10486 vorr_s64 (int64x1_t __a, int64x1_t __b) | 10504 vorr_s64 (int64x1_t __a, int64x1_t __b) |
10487 { | 10505 { |
10488 return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1); | 10506 return (int64x1_t)__builtin_neon_vorrdi (__a, __b, 1); |
10489 } | 10507 } |
10490 | 10508 |
10491 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
10492 vorr_u8 (uint8x8_t __a, uint8x8_t __b) | |
10493 { | |
10494 return (uint8x8_t)__builtin_neon_vorrv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
10495 } | |
10496 | |
10497 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
10498 vorr_u16 (uint16x4_t __a, uint16x4_t __b) | |
10499 { | |
10500 return (uint16x4_t)__builtin_neon_vorrv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
10501 } | |
10502 | |
10503 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
10504 vorr_u32 (uint32x2_t __a, uint32x2_t __b) | |
10505 { | |
10506 return (uint32x2_t)__builtin_neon_vorrv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
10507 } | |
10508 | |
10509 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) | 10509 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) |
10510 vorr_u64 (uint64x1_t __a, uint64x1_t __b) | 10510 vorr_u64 (uint64x1_t __a, uint64x1_t __b) |
10511 { | 10511 { |
10512 return (uint64x1_t)__builtin_neon_vorrdi ((int64x1_t) __a, (int64x1_t) __b, 0); | 10512 return (uint64x1_t)__builtin_neon_vorrdi ((int64x1_t) __a, (int64x1_t) __b, 0); |
10513 } | 10513 } |
10576 veor_s32 (int32x2_t __a, int32x2_t __b) | 10576 veor_s32 (int32x2_t __a, int32x2_t __b) |
10577 { | 10577 { |
10578 return (int32x2_t)__builtin_neon_veorv2si (__a, __b, 1); | 10578 return (int32x2_t)__builtin_neon_veorv2si (__a, __b, 1); |
10579 } | 10579 } |
10580 | 10580 |
10581 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
10582 veor_u8 (uint8x8_t __a, uint8x8_t __b) | |
10583 { | |
10584 return (uint8x8_t)__builtin_neon_veorv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
10585 } | |
10586 | |
10587 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
10588 veor_u16 (uint16x4_t __a, uint16x4_t __b) | |
10589 { | |
10590 return (uint16x4_t)__builtin_neon_veorv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
10591 } | |
10592 | |
10593 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
10594 veor_u32 (uint32x2_t __a, uint32x2_t __b) | |
10595 { | |
10596 return (uint32x2_t)__builtin_neon_veorv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
10597 } | |
10598 | |
10581 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) | 10599 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) |
10582 veor_s64 (int64x1_t __a, int64x1_t __b) | 10600 veor_s64 (int64x1_t __a, int64x1_t __b) |
10583 { | 10601 { |
10584 return (int64x1_t)__builtin_neon_veordi (__a, __b, 1); | 10602 return (int64x1_t)__builtin_neon_veordi (__a, __b, 1); |
10585 } | 10603 } |
10586 | 10604 |
10587 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
10588 veor_u8 (uint8x8_t __a, uint8x8_t __b) | |
10589 { | |
10590 return (uint8x8_t)__builtin_neon_veorv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
10591 } | |
10592 | |
10593 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
10594 veor_u16 (uint16x4_t __a, uint16x4_t __b) | |
10595 { | |
10596 return (uint16x4_t)__builtin_neon_veorv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
10597 } | |
10598 | |
10599 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
10600 veor_u32 (uint32x2_t __a, uint32x2_t __b) | |
10601 { | |
10602 return (uint32x2_t)__builtin_neon_veorv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
10603 } | |
10604 | |
10605 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) | 10605 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) |
10606 veor_u64 (uint64x1_t __a, uint64x1_t __b) | 10606 veor_u64 (uint64x1_t __a, uint64x1_t __b) |
10607 { | 10607 { |
10608 return (uint64x1_t)__builtin_neon_veordi ((int64x1_t) __a, (int64x1_t) __b, 0); | 10608 return (uint64x1_t)__builtin_neon_veordi ((int64x1_t) __a, (int64x1_t) __b, 0); |
10609 } | 10609 } |
10672 vbic_s32 (int32x2_t __a, int32x2_t __b) | 10672 vbic_s32 (int32x2_t __a, int32x2_t __b) |
10673 { | 10673 { |
10674 return (int32x2_t)__builtin_neon_vbicv2si (__a, __b, 1); | 10674 return (int32x2_t)__builtin_neon_vbicv2si (__a, __b, 1); |
10675 } | 10675 } |
10676 | 10676 |
10677 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
10678 vbic_u8 (uint8x8_t __a, uint8x8_t __b) | |
10679 { | |
10680 return (uint8x8_t)__builtin_neon_vbicv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
10681 } | |
10682 | |
10683 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
10684 vbic_u16 (uint16x4_t __a, uint16x4_t __b) | |
10685 { | |
10686 return (uint16x4_t)__builtin_neon_vbicv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
10687 } | |
10688 | |
10689 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
10690 vbic_u32 (uint32x2_t __a, uint32x2_t __b) | |
10691 { | |
10692 return (uint32x2_t)__builtin_neon_vbicv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
10693 } | |
10694 | |
10677 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) | 10695 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) |
10678 vbic_s64 (int64x1_t __a, int64x1_t __b) | 10696 vbic_s64 (int64x1_t __a, int64x1_t __b) |
10679 { | 10697 { |
10680 return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1); | 10698 return (int64x1_t)__builtin_neon_vbicdi (__a, __b, 1); |
10681 } | 10699 } |
10682 | 10700 |
10683 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
10684 vbic_u8 (uint8x8_t __a, uint8x8_t __b) | |
10685 { | |
10686 return (uint8x8_t)__builtin_neon_vbicv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
10687 } | |
10688 | |
10689 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
10690 vbic_u16 (uint16x4_t __a, uint16x4_t __b) | |
10691 { | |
10692 return (uint16x4_t)__builtin_neon_vbicv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
10693 } | |
10694 | |
10695 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
10696 vbic_u32 (uint32x2_t __a, uint32x2_t __b) | |
10697 { | |
10698 return (uint32x2_t)__builtin_neon_vbicv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
10699 } | |
10700 | |
10701 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) | 10701 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) |
10702 vbic_u64 (uint64x1_t __a, uint64x1_t __b) | 10702 vbic_u64 (uint64x1_t __a, uint64x1_t __b) |
10703 { | 10703 { |
10704 return (uint64x1_t)__builtin_neon_vbicdi ((int64x1_t) __a, (int64x1_t) __b, 0); | 10704 return (uint64x1_t)__builtin_neon_vbicdi ((int64x1_t) __a, (int64x1_t) __b, 0); |
10705 } | 10705 } |
10768 vorn_s32 (int32x2_t __a, int32x2_t __b) | 10768 vorn_s32 (int32x2_t __a, int32x2_t __b) |
10769 { | 10769 { |
10770 return (int32x2_t)__builtin_neon_vornv2si (__a, __b, 1); | 10770 return (int32x2_t)__builtin_neon_vornv2si (__a, __b, 1); |
10771 } | 10771 } |
10772 | 10772 |
10773 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
10774 vorn_u8 (uint8x8_t __a, uint8x8_t __b) | |
10775 { | |
10776 return (uint8x8_t)__builtin_neon_vornv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
10777 } | |
10778 | |
10779 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
10780 vorn_u16 (uint16x4_t __a, uint16x4_t __b) | |
10781 { | |
10782 return (uint16x4_t)__builtin_neon_vornv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
10783 } | |
10784 | |
10785 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
10786 vorn_u32 (uint32x2_t __a, uint32x2_t __b) | |
10787 { | |
10788 return (uint32x2_t)__builtin_neon_vornv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
10789 } | |
10790 | |
10773 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) | 10791 __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) |
10774 vorn_s64 (int64x1_t __a, int64x1_t __b) | 10792 vorn_s64 (int64x1_t __a, int64x1_t __b) |
10775 { | 10793 { |
10776 return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1); | 10794 return (int64x1_t)__builtin_neon_vorndi (__a, __b, 1); |
10777 } | |
10778 | |
10779 __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) | |
10780 vorn_u8 (uint8x8_t __a, uint8x8_t __b) | |
10781 { | |
10782 return (uint8x8_t)__builtin_neon_vornv8qi ((int8x8_t) __a, (int8x8_t) __b, 0); | |
10783 } | |
10784 | |
10785 __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) | |
10786 vorn_u16 (uint16x4_t __a, uint16x4_t __b) | |
10787 { | |
10788 return (uint16x4_t)__builtin_neon_vornv4hi ((int16x4_t) __a, (int16x4_t) __b, 0); | |
10789 } | |
10790 | |
10791 __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) | |
10792 vorn_u32 (uint32x2_t __a, uint32x2_t __b) | |
10793 { | |
10794 return (uint32x2_t)__builtin_neon_vornv2si ((int32x2_t) __a, (int32x2_t) __b, 0); | |
10795 } | 10795 } |
10796 | 10796 |
10797 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) | 10797 __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) |
10798 vorn_u64 (uint64x1_t __a, uint64x1_t __b) | 10798 vorn_u64 (uint64x1_t __a, uint64x1_t __b) |
10799 { | 10799 { |