📄 20001013-1.c
字号:
/* ??? It'd be nice to run this for sparc32 as well, if we could know for sure that we're on an ultrasparc, rather than an older cpu. *//* { dg-do run { target sparcv9-*-* sparc64-*-* } } *//* { dg-options "-O2 -m32 -mcpu=ultrasparc -mvis" } */int l;int baz (double x){ return l == 0;}double bar (double x){ return 1.0;}double foo (double x){ if (l == -1 || baz (x)) return x; if (x < 0.0) return bar (x); else return 0.0;}union { double d; long long l;} x = { l: 0x7ff8000000000000LL }, y;main (){ unsigned int fsr = 0; __asm __volatile ("ld %0, %%fsr" : : "m" (fsr)); y.d = foo (x.d); __asm __volatile ("st %%fsr, %0" : "=m" (fsr)); if (x.l != y.l || (fsr & 0x3ff)) abort (); exit (0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -