summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/xstormy16/below_100.c
blob: 9433f2ad89759f00f610f0eb821be369d763ac7d (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
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler "bn " } } */
/* { dg-final { scan-assembler "b\[np\] " } } */

unsigned short   a_below __attribute__((__BELOW100__));
unsigned short   b_below __attribute__((__BELOW100__));
unsigned short * a_ptr = & a_below;
unsigned short * b_ptr = & b_below;

char *
foo (void)
{
  if (a_below & 0x0100)
    {
      if (b_below & 0x0100)
	return "Fail";
      return "Success";
    }

  return "Fail";
}

char *
bar (void)
{
  *a_ptr = 0x0100;
  *b_ptr = 0xfeff;
  return foo ();
}