]> git.lizzy.rs Git - plan9front.git/commitdiff
ape: sync flaot.h macros with u.h
authorOri Bernstein <ori@eigenstate.org>
Mon, 8 Feb 2021 23:45:11 +0000 (15:45 -0800)
committerOri Bernstein <ori@eigenstate.org>
Mon, 8 Feb 2021 23:45:11 +0000 (15:45 -0800)
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.

386/include/ape/float.h
68020/include/ape/float.h
arm/include/ape/float.h
arm64/include/ape/float.h
mips/include/ape/float.h
power/include/ape/float.h
sparc/include/ape/float.h
sparc64/include/ape/float.h

index 4df158e51d46fac352ae88cc52a39f23f37d57bd..6de1e7bb4a2a6603262686e21c9a792e70b3563f 100644 (file)
@@ -52,9 +52,10 @@ union FPdbleword
 #ifdef _PLAN9_SOURCE
 /* FCR */
 #define        FPINEX  (1<<5)
-#define        FPOVFL  (1<<3)
 #define        FPUNFL  ((1<<4)|(1<<1))
+#define        FPOVFL  (1<<3)
 #define        FPZDIV  (1<<2)
+#define        FPINVAL (1<<0)
 #define        FPRNR   (0<<10)
 #define        FPRZ    (3<<10)
 #define        FPRPINF (2<<10)
@@ -69,5 +70,6 @@ union FPdbleword
 #define        FPAOVFL FPOVFL
 #define        FPAUNFL FPUNFL
 #define        FPAZDIV FPZDIV
+#define        FPAINVAL        FPINVAL
 #endif
 #endif /* __FLOAT */
index 4b56ec172fbbeaff239819e78a87d7bd3863cf41..9c27df3da2fba552a36252c70e8a548f33ea06f6 100644 (file)
@@ -58,6 +58,7 @@ union FPdbleword
 #define        FPZDIV  (1<<10)
 #define        FPRNR   (0<<4)
 #define        FPRZ    (1<<4)
+#define        FPINVAL (3<<13)
 #define        FPRPINF (3<<4)
 #define        FPRNINF (2<<4)
 #define        FPRMASK (3<<4)
@@ -70,5 +71,6 @@ union FPdbleword
 #define        FPAOVFL FPOVFL
 #define        FPAUNFL FPUNFL
 #define        FPAZDIV FPZDIV
+#define        FPAINVAL        FPINVAL
 #endif
 #endif /* __FLOAT */
index 4df158e51d46fac352ae88cc52a39f23f37d57bd..6b95aa9678b770f6e3838c1a60b39beb3022e50a 100644 (file)
@@ -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 */
index 4df158e51d46fac352ae88cc52a39f23f37d57bd..297477895ceb8388de58431c5d7e5776363ffa88 100644 (file)
@@ -50,24 +50,29 @@ 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
+/* FPCR (control) */
+#define        FPINEX          (1<<12)
+#define        FPUNFL          (1<<11)
+#define        FPOVFL          (1<<10)
+#define        FPZDIV          (1<<9)
+#define        FPINVAL         (1<<8)
+
+#define        FPRNR           (0<<22)
+#define        FPRPINF         (1<<22)
+#define        FPRNINF         (2<<22)
+#define        FPRZ            (3<<22)
+
+#define        FPRMASK         (3<<22)
+
+/* FPSR (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 */
index c0992af79d057dd90731f67266aadd68e65d92ed..2f7cf2b2c1c2609b09543f63c225c02a528f79e5 100644 (file)
@@ -52,9 +52,10 @@ union FPdbleword
 #ifdef _PLAN9_SOURCE
 /* FCR */
 #define        FPINEX  (1<<7)
-#define        FPOVFL  (1<<9)
 #define        FPUNFL  (1<<8)
+#define        FPOVFL  (1<<9)
 #define        FPZDIV  (1<<10)
+#define        FPINVAL (1<<11)
 #define        FPRNR   (0<<0)
 #define        FPRZ    (1<<0)
 #define        FPRPINF (2<<0)
@@ -69,5 +70,6 @@ union FPdbleword
 #define        FPAOVFL (1<<4)
 #define        FPAUNFL (1<<3)
 #define        FPAZDIV (1<<5)
+#define        FPAINVAL        (1<<6)
 #endif
 #endif /* __FLOAT */
index c0992af79d057dd90731f67266aadd68e65d92ed..4e3121fc8e6b71e4e26634994e1283288fafcd89 100644 (file)
@@ -50,24 +50,45 @@ union FPdbleword
 #define Sudden_Underflow 1
 #endif
 #ifdef _PLAN9_SOURCE
-/* FCR */
-#define        FPINEX  (1<<7)
-#define        FPOVFL  (1<<9)
-#define        FPUNFL  (1<<8)
-#define        FPZDIV  (1<<10)
+/* FPSCR */
+#define        FPSFX   (1<<31) /* exception summary (sticky) */
+#define        FPSEX   (1<<30) /* enabled exception summary */
+#define        FPSVX   (1<<29) /* invalid operation exception summary */
+#define        FPSOX   (1<<28) /* overflow exception OX (sticky) */
+#define        FPSUX   (1<<27) /* underflow exception UX (sticky) */
+#define        FPSZX   (1<<26) /* zero divide exception ZX (sticky) */
+#define        FPSXX   (1<<25) /* inexact exception XX (sticky) */
+#define        FPSVXSNAN (1<<24)       /* invalid operation exception for SNaN (sticky) */
+#define        FPSVXISI (1<<23)        /* invalid operation exception for â\88\9e\88\9e (sticky) */
+#define        FPSVXIDI (1<<22)        /* invalid operation exception for â\88\9e\88\9e (sticky) */
+#define        FPSVXZDZ (1<<21)        /* invalid operation exception for 0/0 (sticky) */
+#define        FPSVXIMZ (1<<20)        /* invalid operation exception for â\88\9e*0 (sticky) */
+#define        FPSVXVC (1<<19) /* invalid operation exception for invalid compare (sticky) */
+#define        FPSFR   (1<<18) /* fraction rounded */
+#define        FPSFI   (1<<17) /* fraction inexact */
+#define        FPSFPRF (1<<16) /* floating point result class */
+#define        FPSFPCC (0xF<<12)       /* <, >, =, unordered */
+#define        FPVXCVI (1<<8)  /* enable exception for invalid integer convert (sticky) */
+#define        FPVE    (1<<7)  /* invalid operation exception enable */
+#define        FPOVFL  (1<<6)  /* enable overflow exceptions */
+#define        FPUNFL  (1<<5)  /* enable underflow */
+#define        FPZDIV  (1<<4)  /* enable zero divide */
+#define        FPINEX  (1<<3)  /* enable inexact exceptions */
+#define        FPRMASK (3<<0)  /* rounding mode */
 #define        FPRNR   (0<<0)
 #define        FPRZ    (1<<0)
 #define        FPRPINF (2<<0)
 #define        FPRNINF (3<<0)
-#define        FPRMASK (3<<0)
 #define        FPPEXT  0
 #define        FPPSGL  0
 #define        FPPDBL  0
 #define        FPPMASK 0
-/* FSR */
-#define        FPAINEX (1<<2)
-#define        FPAOVFL (1<<4)
-#define        FPAUNFL (1<<3)
-#define        FPAZDIV (1<<5)
+#define        FPINVAL FPVE
+
+#define        FPAOVFL FPSOX
+#define        FPAINEX FPSXX
+#define        FPAUNFL FPSUX
+#define        FPAZDIV FPSZX
+#define        FPAINVAL        FPSVX
 #endif
 #endif /* __FLOAT */
index f0ce62f862043461e988635627fc75f88cd4f11b..074c77e702583df8592a4ab0250a6a14163ba526 100644 (file)
@@ -57,6 +57,7 @@ union FPdbleword
 #define        FPZDIV  (1<<24)
 #define        FPRNR   (0<<30)
 #define        FPRZ    (1<<30)
+#define        FPINVAL (1<<27)
 #define        FPRPINF (2<<30)
 #define        FPRNINF (3<<30)
 #define        FPRMASK (3<<30)
@@ -66,8 +67,9 @@ union FPdbleword
 #define        FPPMASK 0
 /* FSR */
 #define        FPAINEX (1<<5)
-#define        FPAOVFL (1<<8)
-#define        FPAUNFL (1<<7)
 #define        FPAZDIV (1<<6)
+#define        FPAUNFL (1<<7)
+#define        FPAOVFL (1<<8)
+#define        FPAINVAL        (1<<9)
 #endif
 #endif /* __FLOAT */
index f0ce62f862043461e988635627fc75f88cd4f11b..074c77e702583df8592a4ab0250a6a14163ba526 100644 (file)
@@ -57,6 +57,7 @@ union FPdbleword
 #define        FPZDIV  (1<<24)
 #define        FPRNR   (0<<30)
 #define        FPRZ    (1<<30)
+#define        FPINVAL (1<<27)
 #define        FPRPINF (2<<30)
 #define        FPRNINF (3<<30)
 #define        FPRMASK (3<<30)
@@ -66,8 +67,9 @@ union FPdbleword
 #define        FPPMASK 0
 /* FSR */
 #define        FPAINEX (1<<5)
-#define        FPAOVFL (1<<8)
-#define        FPAUNFL (1<<7)
 #define        FPAZDIV (1<<6)
+#define        FPAUNFL (1<<7)
+#define        FPAOVFL (1<<8)
+#define        FPAINVAL        (1<<9)
 #endif
 #endif /* __FLOAT */