[Git][cmucl/cmucl][sparc64-dev] Replace li with v9 version

Raymond Toy rtoy at common-lisp.net
Wed Jan 3 22:13:57 UTC 2018


Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl


Commits:
5e00e1dc by Raymond Toy at 2018-01-03T14:11:29-08:00
Replace li with v9 version

Also Remove the old version that was 32-bit.

- - - - -


1 changed file:

- src/compiler/sparc64/insts.lisp


Changes:

=====================================
src/compiler/sparc64/insts.lisp
=====================================
--- a/src/compiler/sparc64/insts.lisp
+++ b/src/compiler/sparc64/insts.lisp
@@ -2063,52 +2063,10 @@ about function addresses and register values.")
 
 ;;;; li, jali, ji, nop, cmp, not, neg, move, and more
 
-#-sparc-v9
-(defun %li (reg value)
-  (etypecase value
-    ((signed-byte 13)
-     (inst add reg zero-tn value))
-    ((or (signed-byte 32) (unsigned-byte 32))
-     (let ((hi (ldb (byte 22 10) value))
-	   (lo (ldb (byte 10 0) value)))
-       (inst sethi reg hi)
-       (unless (zerop lo)
-	 (inst add reg lo))))
-    (fixup
-     (inst sethi reg value)
-     (inst add reg value))))
-
-#+sparc-v9
-(defun %li (reg value)
-  (etypecase value
-    ((signed-byte 13)
-     (inst add reg zero-tn value))
-    ((unsigned-byte 32)
-     (let ((hi (ldb (byte 22 10) value))
-	   (lo (ldb (byte 10 0) value)))
-       ;; Sethi sets the top 32-bits to zero.
-       (inst sethi reg hi)
-       (unless (zerop lo)
-	 (inst add reg lo))))
-    ((signed-byte 32)
-     (let ((hi (ldb (byte 22 10) value))
-	   (lo (ldb (byte 10 0) value)))
-       ;; Sethi sets the top 32-bits to zero.
-       (inst sethi reg hi)
-       (unless (zerop lo)
-	 (inst add reg lo))
-       ;; Sign-extend the result
-       (inst signx reg)))
-    (fixup
-     (inst sethi reg value)
-     (inst add reg value))))
-
 (define-instruction-macro li (reg value)
   `(%li ,reg ,value))
 
-#+sparc-v9
-(progn
-(defun %li64 (reg value &optional temp)
+(defun %li (reg value &optional temp)
   (etypecase value
     ((signed-byte 13)
      (inst add reg zero-tn value))
@@ -2168,10 +2126,6 @@ about function addresses and register values.")
      (inst sethi reg value)
      (inst add reg value))))
 
-(define-instruction-macro li64 (reg value &optional temp)
-  `(%li64 ,reg ,value ,temp))
-
-)
 
 ;; Define LDN/STN synthetic instructions to do "natural" loads and
 ;; stores for 32-bit or 64-bit objects depending on whether this is a



View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/5e00e1dc01a4e19469e10d2308374df2e7e1a17b

---
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/5e00e1dc01a4e19469e10d2308374df2e7e1a17b
You're receiving this email because of your account on gitlab.common-lisp.net.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20180103/390ae8e4/attachment-0001.html>


More information about the cmucl-cvs mailing list