Raymond Toy pushed to branch issue-355-solaris-x86-fp-trap-handler at cmucl / cmucl
Commits:
- 
82c50cbc
by Raymond Toy at 2024-09-07T06:41:04-07:00
 
1 changed file:
Changes:
| ... | ... | @@ -1265,7 +1265,8 @@ | 
| 1265 | 1265 | |
| 1266 | 1266 |  ;;;; Float mode hackery:
 | 
| 1267 | 1267 | |
| 1268 | -(deftype float-modes () '(unsigned-byte 24))
 | 
|
| 1268 | +(deftype x87-float-modes () '(unsigned-byte 32))
 | 
|
| 1269 | +(deftype sse2-float-modes () '(unsigned-byte 16))
 | 
|
| 1269 | 1270 | |
| 1270 | 1271 |  ;; For the record, here is the format of the MXCSR register.
 | 
| 1271 | 1272 |  ;;
 | 
| ... | ... | @@ -1288,8 +1289,8 @@ | 
| 1288 | 1289 |  ;;  0         invalid operation flag
 | 
| 1289 | 1290 |  ;;
 | 
| 1290 | 1291 |  ;; See below for rounding control
 | 
| 1291 | -(defknown sse2-floating-point-modes () float-modes (flushable))
 | 
|
| 1292 | -(defknown ((setf sse2-floating-point-modes)) (float-modes) float-modes)
 | 
|
| 1292 | +(defknown sse2-floating-point-modes () sse2-float-modes (flushable))
 | 
|
| 1293 | +(defknown ((setf sse2-floating-point-modes)) (sse2-float-modes) sse2-float-modes)
 | 
|
| 1293 | 1294 | |
| 1294 | 1295 |  ;; Returns exactly the mxcsr register, except the masks are flipped
 | 
| 1295 | 1296 |  ;; because we want exception enable flags, not masks.
 | 
| ... | ... | @@ -1375,9 +1376,9 @@ | 
| 1375 | 1376 |  ;; 10   double precision (53 bits)
 | 
| 1376 | 1377 |  ;; 11   double extended precision (64 bits)
 | 
| 1377 | 1378 | |
| 1378 | -(defknown x87-floating-point-modes () float-modes (flushable))
 | 
|
| 1379 | -(defknown ((setf x87-floating-point-modes)) (float-modes)
 | 
|
| 1380 | -  float-modes)
 | 
|
| 1379 | +(defknown x87-floating-point-modes () x87-float-modes (flushable))
 | 
|
| 1380 | +(defknown ((setf x87-floating-point-modes)) (x87-float-modes)
 | 
|
| 1381 | +  x87-float-modes)
 | 
|
| 1381 | 1382 | |
| 1382 | 1383 |  ;; Extract the control and status words from the FPU.  The low 16 bits
 | 
| 1383 | 1384 |  ;; contain the status word, and the high 16 bits contain the control.
 |