📄 cris-volatile-1.c
字号:
/* Copyright (C) 2003 Free Software Foundation. Check that size-optimizations for move insns (specifically peephole optimizations) aren't applied to volatile objects in the CRIS port. Origin: Hans-Peter Nilsson. *//* { dg-do compile { target cris-*-* } } *//* { dg-final { scan-assembler-not {movu\...\[} } } *//* { dg-final { scan-assembler-not {move\.[^d].\[} } } *//* { dg-final { scan-assembler-not {and\.[^d].\[} } } *//* { dg-final { scan-assembler-not {or\.[^d].\[} } } */static const unsigned long c = 0x0000FF00;unsigned longa1 (void){ unsigned long m; m = *(volatile unsigned long*) 0xb00000c8; m &= c; return m;}extern volatile unsigned long xx;unsigned longa2 (void){ unsigned long m; m = xx; m &= c; return m;}extern volatile unsigned long yy[];unsigned longa3 (void){ unsigned long m; m = yy[3]; m &= 0xfe00; return m;}unsigned longac1 (void){ unsigned long m; m = *(volatile unsigned long*) 0xb00000c8; m &= 0xfe00; return m;}extern volatile unsigned long xx;unsigned longac2 (void){ unsigned long m; m = xx; m &= 0xfe00; return m;}extern volatile unsigned long yy[];unsigned longac3 (void){ unsigned long m; m = yy[3]; m &= 0xfe00; return m;}extern volatile unsigned long yy[];unsigned longoc3 (void){ unsigned long m; m = yy[3]; m |= ~0xf; return m;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -