Raymond Toy pushed to branch issue-355-solaris-x86-fp-trap-handler at cmucl / cmucl

Commits:

1 changed file:

Changes:

  • src/compiler/x86/float-sse2.lisp
    ... ... @@ -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.