1 /* Copyright (C) 2003 Free Software Foundation.
2 Check that size-optimizations for move insns (specifically peephole
3 optimizations) aren't applied to volatile objects in the CRIS port.
4 Origin: Hans-Peter Nilsson. */
5 /* { dg-do compile { target cris-*-* crisv32-*-* } } */
6 /* { dg-final { scan-assembler-not {movu\...\[} } } */
7 /* { dg-final { scan-assembler-not {move\.[^d].\[} } } */
8 /* { dg-final { scan-assembler-not {and\.[^d].\[} } } */
9 /* { dg-final { scan-assembler-not {or\.[^d].\[} } } */
11 static const unsigned long c
= 0x0000FF00;
16 m
= *(volatile unsigned long*) 0xb00000c8;
20 extern volatile unsigned long xx
;
29 extern volatile unsigned long yy
[];
42 m
= *(volatile unsigned long*) 0xb00000c8;
46 extern volatile unsigned long xx
;
55 extern volatile unsigned long yy
[];
64 extern volatile unsigned long yy
[];