1 /* { dg-options { -nostartfiles below100.o -Tbelow100.ld -O2 } } */
2 /* { dg-final { scan-assembler "mov.w r.,32532" } } */
3 
4 #define SFR (*((volatile unsigned short*)0x7f14))
5 unsigned short *p = (unsigned short *) 0x7f14;
6 
7 void
Do(void)8 Do (void)
9 {
10   SFR &= ~0x8000;
11 }
12 
13 int
main(void)14 main (void)
15 {
16   *p = 0xedcb;
17   Do ();
18   return (*p == 0x6dcb) ? 0 : 1;
19 }
20