2 /* { dg-do compile } */
3 /* { dg-options "-O2 -Wno-implicit-function-declaration -march=armv7-a -mfloat-abi=softfp -mfpu=neon" } */
4 /* { dg-require-effective-target arm_neon_ok } */
6 typedef __builtin_neon_qi int8x8_t
__attribute__ ((__vector_size__ (8)));
7 typedef __builtin_neon_uqi uint8x8_t
__attribute__ ((__vector_size__ (8)));
8 typedef __builtin_neon_qi int8x16_t
__attribute__ ((__vector_size__ (16)));
9 typedef __builtin_neon_hi int16x8_t
__attribute__ ((__vector_size__ (16)));
10 typedef __builtin_neon_si int32x4_t
__attribute__ ((__vector_size__ (16)));
11 struct T
{ int8x8_t val
[2]; };
15 foo (int8x8_t z
, int8x8_t x
, int16x8_t b
, int8x8_t n
)
20 __builtin_neon_vuzpv8qi (&m
.val
[0], z
, x
);
27 j
= __builtin_neon_vqmovunv8hi (b
);
28 g
= __builtin_neon_vcombinev8qi (j
, h
);
29 k
= __builtin_neon_vget_lowv16qi (g
);
30 __builtin_neon_vuzpv8qi (&m
.val
[0], k
, n
);