1 /* Ensure negated/inverted replicated constant immediates work. */
2 /* { dg-options "-mthumb -O2" } */
3 /* { dg-require-effective-target arm_thumb2_ok } */
4
5 int
foo1(int a)6 foo1 (int a)
7 {
8 return a | 0xffffff00;
9 }
10
11 /* { dg-final { scan-assembler "orn.*#255" } } */
12
13 int
foo2(int a)14 foo2 (int a)
15 {
16 return a & 0xffeeffee;
17 }
18
19 /* { dg-final { scan-assembler "bic.*#1114129" } } */
20
21 int
foo3(int a)22 foo3 (int a)
23 {
24 return a & 0xaaaaaa00;
25 }
26
27 /* { dg-final { scan-assembler "and.*#-1431655766" } } */
28 /* { dg-final { scan-assembler "bic.*#170" } } */
29