summaryrefslogtreecommitdiff
path: root/libkern/getfcr-power.s
diff options
context:
space:
mode:
Diffstat (limited to 'libkern/getfcr-power.s')
-rw-r--r--libkern/getfcr-power.s28
1 files changed, 28 insertions, 0 deletions
diff --git a/libkern/getfcr-power.s b/libkern/getfcr-power.s
new file mode 100644
index 00000000..b61d52e6
--- /dev/null
+++ b/libkern/getfcr-power.s
@@ -0,0 +1,28 @@
+TEXT getfcr(SB), $8
+ MOVFL FPSCR, F3
+ FMOVD F3, f-8(SP)
+ MOVW -4(SP), R3
+ RETURN
+
+TEXT getfsr(SB), $8
+ MOVFL FPSCR, F3
+ FMOVD F3, f-8(SP)
+ MOVW -4(SP), R3
+ RETURN
+
+TEXT setfcr(SB), $8
+ SYNC
+ MOVW R3, -4(SP)
+ FMOVD -8(SP), F3
+ MOVFL F3, FPSCR
+ ISYNC
+ RETURN
+
+TEXT setfsr(SB), $8
+ SYNC
+ MOVW R3, -4(SP)
+ FMOVD -8(SP), F3
+ MOVFL F3, FPSCR
+ ISYNC
+ RETURN
+