aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/arm/thumb2-replicated-constant2.c
blob: 3739adba59d01e040d032e09dddfdb66d83ee4be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/* Ensure split constants can use replicated patterns.  */
/* { dg-options "-mthumb -O2" } */
/* { dg-require-effective-target arm_thumb2_ok } */

int
foo1 (int a)
{
  return a + 0xfe00fe01;
}

/* { dg-final { scan-assembler "add.*#-33489408" } } */
/* { dg-final { scan-assembler "add.*#1" } } */

int
foo2 (int a)
{
  return a + 0xdd01dd00;
}

/* { dg-final { scan-assembler "add.*#-587145984" } } */
/* { dg-final { scan-assembler "add.*#65536" } } */

int
foo3 (int a)
{
  return a + 0x00443344;
}

/* { dg-final { scan-assembler "add.*#4456516" } } */
/* { dg-final { scan-assembler "add.*#13056" } } */

int
foo4 (int a)
{
  return a + 0x77330033;
}

/* { dg-final { scan-assembler "add.*#1996488704" } } */
/* { dg-final { scan-assembler "add.*#3342387" } } */

int
foo5 (int a)
{
  return a + 0x11221122;
}

/* { dg-final { scan-assembler "add.*#285217024" } } */
/* { dg-final { scan-assembler "add.*#2228258" } } */

int
foo6 (int a)
{
  return a + 0x66666677;
}

/* { dg-final { scan-assembler "add.*#1717986918" } } */
/* { dg-final { scan-assembler "add.*#17" } } */

int
foo7 (int a)
{
  return a + 0x99888888;
}

/* { dg-final { scan-assembler "add.*#-2004318072" } } */
/* { dg-final { scan-assembler "add.*#285212672" } } */

int
foo8 (int a)
{
  return a + 0xdddddfff;
}

/* { dg-final { scan-assembler "add.*#-572662307" } } */
/* { dg-final { scan-assembler "addw.*#546" } } */