libgomp: Document 'GOMP_teams4'
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / bics_3.c
blob3257df6228d2b84239140587119a10d48ddaa92f
1 /* { dg-do run } */
2 /* { dg-options "-O2 --save-temps" } */
4 extern void abort (void);
6 int __attribute__ ((noinline))
7 bics_si_test (int a, int b)
9 if (a & ~b)
10 return 1;
11 else
12 return 0;
15 int __attribute__ ((noinline))
16 bics_si_test2 (int a, int b)
18 if (a & ~ (b << 2))
19 return 1;
20 else
21 return 0;
24 typedef long long s64;
26 int __attribute__ ((noinline))
27 bics_di_test (s64 a, s64 b)
29 if (a & ~b)
30 return 1;
31 else
32 return 0;
35 int __attribute__ ((noinline))
36 bics_di_test2 (s64 a, s64 b)
38 if (a & ~(b << 2))
39 return 1;
40 else
41 return 0;
44 int
45 main (void)
47 int a = 5;
48 int b = 5;
49 int c = 20;
50 s64 d = 5;
51 s64 e = 5;
52 s64 f = 20;
53 if (bics_si_test (a, b))
54 abort ();
55 if (bics_si_test2 (c, b))
56 abort ();
57 if (bics_di_test (d, e))
58 abort ();
59 if (bics_di_test2 (f, e))
60 abort ();
61 return 0;
64 /* { dg-final { scan-assembler-times "bics\twzr, w\[0-9\]+, w\[0-9\]+" 2 } } */
65 /* { dg-final { scan-assembler-times "bics\twzr, w\[0-9\]+, w\[0-9\]+, lsl 2" 1 } } */
66 /* { dg-final { scan-assembler-times "bics\txzr, x\[0-9\]+, x\[0-9\]+" 2 } } */
67 /* { dg-final { scan-assembler-times "bics\txzr, x\[0-9\]+, x\[0-9\]+, lsl 2" 1 } } */