| ... |
... |
@@ -1422,7 +1422,7 @@ |
|
1422
|
1422
|
;; the rest of cmucl, these bits are represented as enable bits.
|
|
1423
|
1423
|
(format t "Flush-to-zero: ~30T~A~%" (ldb (byte 1 15) sse-mode))
|
|
1424
|
1424
|
(let ((rc (ldb float-rounding-mode sse-mode)))
|
|
1425
|
|
- (format t "Rounding control: ~30T~A ~A~%"
|
|
|
1425
|
+ (format t "Rounding control: ~30T#b~2,'0b ~S~%"
|
|
1426
|
1426
|
rc
|
|
1427
|
1427
|
(car (rassoc rc rounding-mode-alist))))
|
|
1428
|
1428
|
(print-fp-exceptions-enabled (ldb float-traps-byte sse-mode))
|
| ... |
... |
@@ -1432,26 +1432,28 @@ |
|
1432
|
1432
|
"Print X87 floating modes word in a readable fashion."
|
|
1433
|
1433
|
;; Note that Intel uses masks to disable the exception, but to match
|
|
1434
|
1434
|
;; the rest of cmucl, these bits are represented as enable bits.
|
|
1435
|
|
- (format t "SW: FPU busy: ~30T~A~%" (ldb (byte 1 15) x87-mode))
|
|
1436
|
|
- (format t "SW: Condition code C3: ~30T~A~%" (ldb (byte 1 14) x87-mode))
|
|
1437
|
|
- (format t "SW: Top of stack: ~30T~D~%" (ldb (byte 3 11) x87-mode))
|
|
1438
|
|
- (format t "SW: Condition code C2: ~30T~A~%" (ldb (byte 1 10) x87-mode))
|
|
1439
|
|
- (format t "SW: Condition code C1: ~30T~A~%" (ldb (byte 1 9) x87-mode))
|
|
1440
|
|
- (format t "SW: Condition code C0: ~30T~A~%" (ldb (byte 1 8) x87-mode))
|
|
1441
|
|
- (format t "SW: Error summary: ~30T~A~%" (ldb (byte 1 7) x87-mode))
|
|
1442
|
|
- (format t "SW: Stack fault: ~30T~A~%" (ldb (byte 1 6) x87-mode))
|
|
|
1435
|
+ (format t "Status word:~%")
|
|
|
1436
|
+ (format t "FPU busy: ~30T~A~%" (ldb (byte 1 15) x87-mode))
|
|
|
1437
|
+ (format t "Condition code C3: ~30T~A~%" (ldb (byte 1 14) x87-mode))
|
|
|
1438
|
+ (format t "Top of stack: ~30T~D~%" (ldb (byte 3 11) x87-mode))
|
|
|
1439
|
+ (format t "Condition code C2: ~30T~A~%" (ldb (byte 1 10) x87-mode))
|
|
|
1440
|
+ (format t "Condition code C1: ~30T~A~%" (ldb (byte 1 9) x87-mode))
|
|
|
1441
|
+ (format t "Condition code C0: ~30T~A~%" (ldb (byte 1 8) x87-mode))
|
|
|
1442
|
+ (format t "Error summary: ~30T~A~%" (ldb (byte 1 7) x87-mode))
|
|
|
1443
|
+ (format t "Stack fault: ~30T~A~%" (ldb (byte 1 6) x87-mode))
|
|
1443
|
1444
|
(print-fp-current-exceptions (ldb float-exceptions-byte x87-mode))
|
|
1444
|
|
- (format t "CW: Reserved: ~30T~A~%" (ldb (byte 2 (+ 13 16)) x87-mode))
|
|
1445
|
|
- (format t "CW: Infinity control: ~30T~A~%" (ldb x87-float-infinity-control-byte x87-mode))
|
|
|
1445
|
+ (format t "~%Control word:~%")
|
|
|
1446
|
+ (format t "Reserved: ~30T#b~2,'0b~%" (ldb (byte 2 (+ 13 16)) x87-mode))
|
|
|
1447
|
+ (format t "Infinity control: ~30T~A~%" (ldb x87-float-infinity-control-byte x87-mode))
|
|
1446
|
1448
|
(let ((rc (ldb x87-float-rounding-mode x87-mode)))
|
|
1447
|
|
- (format t "CW: Rounding control: ~30T~A ~A~%"
|
|
|
1449
|
+ (format t "Rounding control: ~30T#b~2,'0b ~S~%"
|
|
1448
|
1450
|
rc
|
|
1449
|
1451
|
(car (rassoc rc rounding-mode-alist))))
|
|
1450
|
1452
|
(let ((pc (ldb x87-float-precision-control-byte x87-mode)))
|
|
1451
|
|
- (format t "CW: Precision control: ~30T~A ~A~%"
|
|
|
1453
|
+ (format t "Precision control: ~30T#b~2,'0b ~S~%"
|
|
1452
|
1454
|
pc
|
|
1453
|
1455
|
(car (rassoc pc x87-float-precision-control-alist))))
|
|
1454
|
|
- (format t "CW: Reserved: ~30T~A~%" (ldb (byte 2 (+ 6 16)) x87-mode))
|
|
|
1456
|
+ (format t "Reserved: ~30T#b~2,'0b~%" (ldb (byte 2 (+ 6 16)) x87-mode))
|
|
1455
|
1457
|
(print-fp-exceptions-enabled (ldb x87-float-traps-byte x87-mode)))
|
|
1456
|
1458
|
|
|
1457
|
1459
|
(defknown x87-floating-point-modes () float-modes (flushable))
|