1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-fre1-details" } */
3 /* { dg-additional-options "-fno-common" { target hppa*-*-hpux* } } */
5 typedef double d128
__attribute__((vector_size(16)));
6 typedef float f128
__attribute__((vector_size(16)));
7 typedef short s128
__attribute__((vector_size(16)));
8 typedef char c256
__attribute__((vector_size(32)));
17 d
= (d128
){x
+ x
, x
+ x
};
18 d
= (d128
){x
+ x
, x
+ x
};
23 f
= (f128
){x
+ x
, x
+ x
, x
+ x
, x
+ x
};
24 f
= (f128
){x
+ x
, x
+ x
, x
+ x
, x
+ x
};
29 s
= (s128
){x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
};
30 s
= (s128
){x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
};
33 void test4 (unsigned char x
)
35 c
= (c256
){x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
,
36 x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
,
37 x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
,
38 x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
};
39 c
= (c256
){x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
,
40 x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
,
41 x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
,
42 x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
, x
+ x
};
45 /* { dg-final { scan-tree-dump-times "Replaced \{" 4 "fre1" } } */
46 /* { dg-final { scan-tree-dump-times "Deleted redundant store" 4 "fre1" } } */