xref: /plan9/sys/src/libc/arm/getfcr.vfp.S (revision 63afb9a5d3f910047231762bcce0ee49fed3d07c)
1*63afb9a5SDavid du Colombier/* for VFP */
2*63afb9a5SDavid du Colombier#define VMRS(fp, cpu) WORD $(0xeef00a10 | (fp)<<16 | (cpu)<<12) /* FP → arm */
3*63afb9a5SDavid du Colombier#define VMSR(cpu, fp) WORD $(0xeee00a10 | (fp)<<16 | (cpu)<<12) /* arm → FP */
4*63afb9a5SDavid du Colombier
5*63afb9a5SDavid du Colombier#define Fpscr 1
6*63afb9a5SDavid du Colombier
7*63afb9a5SDavid du ColombierTEXT	setfcr(SB), $0
8*63afb9a5SDavid du Colombier	VMSR(0, Fpscr)
9*63afb9a5SDavid du Colombier	RET
10*63afb9a5SDavid du Colombier
11*63afb9a5SDavid du ColombierTEXT	getfcr(SB), $0
12*63afb9a5SDavid du Colombier	VMRS(Fpscr, 0)
13*63afb9a5SDavid du Colombier	RET
14*63afb9a5SDavid du Colombier
15*63afb9a5SDavid du ColombierTEXT	getfsr(SB), $0
16*63afb9a5SDavid du Colombier	VMSR(0, Fpscr)
17*63afb9a5SDavid du Colombier	RET
18*63afb9a5SDavid du Colombier
19*63afb9a5SDavid du ColombierTEXT	setfsr(SB), $0
20*63afb9a5SDavid du Colombier	VMRS(Fpscr, 0)
21*63afb9a5SDavid du Colombier	RET
22