rt_gccstream/gcc/testsuite/gcc.target/xstormy16/bp.c

33 lines
499 B
C

/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler "b\[np\] " } } */
#define a_val (*((volatile unsigned char *) 0x7f14))
#define b_val (*((volatile unsigned char *) 0x7f10))
unsigned char * a_ptr = (unsigned char *) 0x7f14;
unsigned char * b_ptr = (unsigned char *) 0x7f10;
int
foo (void)
{
if (a_val & 0x08)
{
if (b_val & 0x08)
return -1;
return 0;
}
return -1;
}
int
bar (void)
{
*a_ptr = 0x08;
*b_ptr = 0xf7;
return foo ();
}