summaryrefslogtreecommitdiff
path: root/arm/include/ape/float.h
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2021-02-08 15:45:11 -0800
committerOri Bernstein <ori@eigenstate.org>2021-02-08 15:45:11 -0800
commit566c3ca2de98761f9039e49ca5f68ee1a9ad73c4 (patch)
tree0092cb34a16eab20c8e34eb72c017fd10c069875 /arm/include/ape/float.h
parent491fe2515890fc4e624af72f15775fd48510486a (diff)
downloadplan9front-566c3ca2de98761f9039e49ca5f68ee1a9ad73c4.tar.xz
ape: sync flaot.h macros with u.h
The float.h macros got out of sync with u.h, some of them missing and some of them being incorrect. This change brings them back in line.
Diffstat (limited to 'arm/include/ape/float.h')
-rw-r--r--arm/include/ape/float.h44
1 files changed, 25 insertions, 19 deletions
diff --git a/arm/include/ape/float.h b/arm/include/ape/float.h
index 4df158e51..6b95aa967 100644
--- a/arm/include/ape/float.h
+++ b/arm/include/ape/float.h
@@ -50,24 +50,30 @@ union FPdbleword
#define Sudden_Underflow 1
#endif
#ifdef _PLAN9_SOURCE
-/* FCR */
-#define FPINEX (1<<5)
-#define FPOVFL (1<<3)
-#define FPUNFL ((1<<4)|(1<<1))
-#define FPZDIV (1<<2)
-#define FPRNR (0<<10)
-#define FPRZ (3<<10)
-#define FPRPINF (2<<10)
-#define FPRNINF (1<<10)
-#define FPRMASK (3<<10)
-#define FPPEXT (3<<8)
-#define FPPSGL (0<<8)
-#define FPPDBL (2<<8)
-#define FPPMASK (3<<8)
-/* FSR */
-#define FPAINEX FPINEX
-#define FPAOVFL FPOVFL
-#define FPAUNFL FPUNFL
-#define FPAZDIV FPZDIV
+/* VFP FPSCR (exceptions) */
+#define FPINEX (1<<12)
+#define FPUNFL (1<<11)
+#define FPOVFL (1<<10)
+#define FPZDIV (1<<9)
+#define FPINVAL (1<<8)
+
+/* VFP FPSCR (rounding) */
+#define FPRNR (0<<22)
+#define FPRPINF (1<<22)
+#define FPRNINF (2<<22)
+#define FPRZ (3<<22)
+
+#define FPRMASK (3<<22)
+
+/* VFP FPSCR (status) */
+#define FPPEXT 0
+#define FPPSGL 0
+#define FPPDBL 0
+#define FPPMASK 0
+#define FPAINEX (1<<4)
+#define FPAUNFL (1<<3)
+#define FPAOVFL (1<<2)
+#define FPAZDIV (1<<1)
+#define FPAINVAL (1<<0)
#endif
#endif /* __FLOAT */