PR tree-optimization/84740
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-singleton_1.c
blob6c2ff49cdab358245bfc3f5994724bb878c68d61
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)))); \
9 VECTYPE \
10 test_vadd_##SUFFIX (VECTYPE a, VECTYPE b) \
11 { \
12 return a + b; \
13 } \
15 void \
16 test_##SUFFIX (BASETYPE val) \
17 { \
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)