1 /* PR target/71056. */
2 /* { dg-do compile } */
3 /* { dg-require-effective-target arm_vfp3_ok } */
4 /* { dg-options "-O3 -mfpu=vfpv3" } */
5
6 /* Check that compiling for a non-NEON target doesn't try to introduce
7 a NEON vectorized builtin. */
8
9 extern char *buff;
10 int f2 ();
11 struct T1
12 {
13 int reserved[2];
14 unsigned int ip;
15 unsigned short cs;
16 unsigned short rsrv2;
17 };
18 void
19 f3 (const char *p)
20 {
21 struct T1 x;
22 __builtin_memcpy (&x, p, sizeof (struct T1));
23 x.reserved[0] = __builtin_bswap32 (x.reserved[0]);
24 x.reserved[1] = __builtin_bswap32 (x.reserved[1]);
25 x.ip = __builtin_bswap32 (x.ip);
26 x.cs = x.cs << 8 | x.cs >> 8;
27 x.rsrv2 = x.rsrv2 << 8 | x.rsrv2 >> 8;
28 if (f2 ())
29 {
30 __builtin_memcpy (buff, "\n", 1);
31 }
32 }