[ARM] PR target/71056: Don't use vectorized builtins when NEON is not available
[official-gcc.git] / gcc / testsuite / gcc.target / arm / pr71056.c
blob136754eb13c4c4f8f840001d5520cf27f3c57461
1 /* PR target/71056. */
2 /* { dg-do compile } */
3 /* { dg-require-effective-target arm_vfp3_ok } */
4 /* { dg-options "-O3 -mfpu=vfpv3" } */
6 /* Check that compiling for a non-NEON target doesn't try to introduce
7 a NEON vectorized builtin. */
9 extern char *buff;
10 int f2 ();
11 struct T1
13 int reserved[2];
14 unsigned int ip;
15 unsigned short cs;
16 unsigned short rsrv2;
18 void
19 f3 (const char *p)
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 ())
30 __builtin_memcpy (buff, "\n", 1);