PR c++/67273
[official-gcc.git] / gcc / testsuite / gcc.target / arm / thumb2-replicated-constant2.c
blob3739adba59d01e040d032e09dddfdb66d83ee4be
1 /* Ensure split constants can use replicated patterns. */
2 /* { dg-options "-mthumb -O2" } */
3 /* { dg-require-effective-target arm_thumb2_ok } */
5 int
6 foo1 (int a)
8 return a + 0xfe00fe01;
11 /* { dg-final { scan-assembler "add.*#-33489408" } } */
12 /* { dg-final { scan-assembler "add.*#1" } } */
14 int
15 foo2 (int a)
17 return a + 0xdd01dd00;
20 /* { dg-final { scan-assembler "add.*#-587145984" } } */
21 /* { dg-final { scan-assembler "add.*#65536" } } */
23 int
24 foo3 (int a)
26 return a + 0x00443344;
29 /* { dg-final { scan-assembler "add.*#4456516" } } */
30 /* { dg-final { scan-assembler "add.*#13056" } } */
32 int
33 foo4 (int a)
35 return a + 0x77330033;
38 /* { dg-final { scan-assembler "add.*#1996488704" } } */
39 /* { dg-final { scan-assembler "add.*#3342387" } } */
41 int
42 foo5 (int a)
44 return a + 0x11221122;
47 /* { dg-final { scan-assembler "add.*#285217024" } } */
48 /* { dg-final { scan-assembler "add.*#2228258" } } */
50 int
51 foo6 (int a)
53 return a + 0x66666677;
56 /* { dg-final { scan-assembler "add.*#1717986918" } } */
57 /* { dg-final { scan-assembler "add.*#17" } } */
59 int
60 foo7 (int a)
62 return a + 0x99888888;
65 /* { dg-final { scan-assembler "add.*#-2004318072" } } */
66 /* { dg-final { scan-assembler "add.*#285212672" } } */
68 int
69 foo8 (int a)
71 return a + 0xdddddfff;
74 /* { dg-final { scan-assembler "add.*#-572662307" } } */
75 /* { dg-final { scan-assembler "addw.*#546" } } */