2 /* { dg-options "-O2 -fno-inline --save-temps" } */
4 extern void abort (void);
6 typedef float float32x2_t
__attribute__ ((__vector_size__ ((8))));
7 typedef unsigned int uint32x2_t
__attribute__ ((__vector_size__ ((8))));
10 test_dup_1 (float32x2_t in
)
12 return __builtin_shuffle (in
, (uint32x2_t
) {1, 1});
16 main (int argc
, char **argv
)
18 float32x2_t test
= {2.718, 3.141};
19 float32x2_t res
= test_dup_1 (test
);
20 if (res
[0] != test
[1] || res
[1] != test
[1])
25 /* { dg-final { scan-assembler-times "\[ \t\]*dup\[ \t\]+v\[0-9\]+\.2s, ?v\[0-9\]+\.s\\\[\[01\]\\\]" 1 } } */
26 /* { dg-final { scan-assembler-not "zip" } } */
27 /* { dg-final { cleanup-saved-temps } } */