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 {