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/5e00e1dc01a4e19469e10d2308...
--- View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/5e00e1dc01a4e19469e10d2308... You're receiving this email because of your account on gitlab.common-lisp.net.