ref: 60ecd07e6d3f5786c8723dc9172c35d580fdadc8
dir: /lib9/setfcr-Solaris-sparc.c/
/* This code is a little awkward. If somebody who understands Solaris better would tell me an idiomatic way to invoke equivalent behavior, I'd be grateful. [email protected] */ #include "lib9.h" ulong getfcr(void) { ulong v; asm(" st %fsr, [%fp-8]"); return v; } void setfcr(ulong v) { ulong vv; vv = (getfcr() & ~FPFCR) | (v & FPFCR); asm(" ld [%fp-4], %fsr"); } ulong getfsr(void) { ulong v; asm(" st %fsr, [%fp-8]"); return v; } void setfsr(ulong v) { ulong vv; vv = (getfsr() & ~FPFSR) | (v & FPFSR); asm(" ld [%fp-4], %fsr"); }