1 /* PR target/59843 ICE on function taking/returning vector of one float64_t. */
3 /* { dg-do compile } */
4 /* { dg-options "-Warray-bounds -O2 -fno-inline -std=c99" } */
6 #define TEST(BASETYPE, VECTYPE, SUFFIX) \
7 typedef BASETYPE VECTYPE \
8 __attribute__ ((__vector_size__ (sizeof (BASETYPE)))); \
10 test_vadd_##SUFFIX (VECTYPE a, VECTYPE b) \
16 test_##SUFFIX (BASETYPE val) \
18 VECTYPE var = { val }; \
19 BASETYPE v0 = var[0]; \
20 BASETYPE v1 = var[1]; /* { dg-warning "index value is out of bound" } */ \
23 TEST (double, float64x1_t
, f64
)
25 /* Original bug was for above type;
26 in a nod to completeness, test other types too. */
28 TEST (long long, int64x1_t
, s64
)
30 TEST (float, float32x1_t
, f32
)
32 TEST (long, longx1_t
, l
)
34 TEST (int, intx1_t
, i
)
36 TEST (short, int16x1_t
, s16
)
38 TEST (char, int8x1_t
, s8
)