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