1 /* { dg-do assemble } */
2 
rdfpcr(void)3 static inline unsigned long rdfpcr(void)
4 {
5         unsigned long tmp, ret;
6         __asm__ ("" : "=r"(tmp), "=r"(ret));
7         return ret;
8 }
9 
10 static inline unsigned long
swcr_update_status(unsigned long swcr,unsigned long fpcr)11 swcr_update_status(unsigned long swcr, unsigned long fpcr)
12 {
13 	swcr &= ~0x7e0000ul;
14         swcr |= (fpcr >> 3) & 0x7e0000ul;
15         return swcr;
16 }
17 
osf_getsysinfo(unsigned long flags)18 unsigned long osf_getsysinfo(unsigned long flags)
19 {
20         unsigned long w;
21 	w = swcr_update_status(flags, rdfpcr());
22 	return w;
23 }
24