0.7.3.18:
[sbcl.git] / src / compiler / alpha / insts.lisp
index f17f4a7..b6bfa75 100644 (file)
   (define-fp-operate subt #x16 #x0a1)
 
 ;;; IEEE support
-  (defconstant +su+   #x500)           ; software, underflow enabled
-  (defconstant +sui+  #x700)           ; software, inexact & underflow enabled
-  (defconstant +sv+   #x500)           ; software, interger overflow enabled
-  (defconstant +svi+  #x700)
-  (defconstant +rnd+  #x0c0)           ; dynamic rounding mode
-  (defconstant +sud+  #x5c0)
-  (defconstant +svid+ #x7c0)
-  (defconstant +suid+ #x7c0)
+  (def!constant +su+   #x500)          ; software, underflow enabled
+  (def!constant +sui+  #x700)          ; software, inexact & underflow enabled
+  (def!constant +sv+   #x500)          ; software, interger overflow enabled
+  (def!constant +svi+  #x700)
+  (def!constant +rnd+  #x0c0)          ; dynamic rounding mode
+  (def!constant +sud+  #x5c0)
+  (def!constant +svid+ #x7c0)
+  (def!constant +suid+ #x7c0)
 
   (define-fp-operate cvtqs_su #x16 (logior +su+ #x0bc) 2)
+  (define-fp-operate cvtqs_sui #x16 (logior +sui+ #x0bc) 2)
   (define-fp-operate cvtqt_su #x16 (logior +su+ #x0be) 2)
+  (define-fp-operate cvtqt_sui #x16 (logior +sui+ #x0be) 2)
   (define-fp-operate cvtts_su #x16 (logior +su+ #x0ac) 2)
 
+  (define-fp-operate cvttq_sv #x16 (logior +su+ #x0af) 2)
+  (define-fp-operate cvttq/c_sv #x16 (logior +su+ #x02f) 2)
+  
   (define-fp-operate adds_su #x16 (logior +su+ #x080))
   (define-fp-operate addt_su #x16 (logior +su+ #x0a0))
   (define-fp-operate divs_su #x16 (logior +su+ #x083))
 (define-instruction trapb (segment)
   (:emitter (emit-lword segment #x63ff0000)))
 
+(define-instruction imb (segment)
+  (:emitter (emit-lword segment #x00000086)))
+
 (define-instruction gentrap (segment code)
   (:printer call-pal ((palcode #xaa0000)))
   (:emitter