blob: 26ca6a3b4ad1ddf5e9b864f9ece61d67d79933be [file] [log] [blame]
/* { 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 ();
}