Update ChangeLog and version files for release
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / vdup_n_2.c
blob660fb0faeabcc632ae3edb1fb8fa9b96d57a4923
1 /* { dg-do run } */
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))));
9 float32x2_t
10 test_dup_1 (float32x2_t in)
12 return __builtin_shuffle (in, (uint32x2_t) {1, 1});
15 int
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])
21 abort ();
22 return 0;
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 } } */