1 /* { dg-do run { target { aarch64_sve_hw } } } */
2 /* { dg-options "-O3 -fno-tree-loop-distribute-patterns" } */
6 #define TEST_SET_IMM(TYPE,IMM,SUFFIX) \
8 TYPE v[NUM_ELEMS (TYPE)]; \
9 set_##TYPE##_##SUFFIX (v); \
10 for (int i = 0; i < NUM_ELEMS (TYPE); i++ ) \
15 #define TEST_SET_IMM_FP(IMM, SUFFIX) \
16 TEST_SET_IMM (float, IMM, SUFFIX) \
17 TEST_SET_IMM (double, IMM, SUFFIX)
19 int __attribute__ ((optimize (1)))
20 main (int argc
, char **argv
)
22 TEST_SET_IMM_FP (1, imm1
)
23 TEST_SET_IMM_FP (0x1.1p0
, imm1p0
)
24 TEST_SET_IMM_FP (0x1.fp0
, immfp0
)
25 TEST_SET_IMM_FP (0x1.1p4
, imm1p4
)
26 TEST_SET_IMM_FP (0x1.1p
-3, imm1pm3
)
27 TEST_SET_IMM_FP (0x1.fp4
, immfp4
)
28 TEST_SET_IMM_FP (0x1.fp
-3, immfpm3
)
30 TEST_SET_IMM_FP (0, imm0
)
31 TEST_SET_IMM_FP (0x1.1fp0
, imm1fp0
)
32 TEST_SET_IMM_FP (0x1.1p5
, imm1p5
)
33 TEST_SET_IMM_FP (0x1.1p
-4, imm1pm4
)
34 TEST_SET_IMM_FP (0x1.1fp5
, imm1fp5
)
35 TEST_SET_IMM_FP (0x1.1fp
-4, imm1fpm4
)