| ... |
... |
@@ -41,6 +41,7 @@ |
|
41
|
41
|
(define-move-function (load-number 1) (vop x y)
|
|
42
|
42
|
((immediate zero)
|
|
43
|
43
|
(signed-reg unsigned-reg))
|
|
|
44
|
+ (not-implemented "LOAD-NUMBER")
|
|
44
|
45
|
(inst li y (tn-value x)))
|
|
45
|
46
|
|
|
46
|
47
|
#+(and sparc-v9 sparc-v8plus)
|
| ... |
... |
@@ -51,10 +52,12 @@ |
|
51
|
52
|
|
|
52
|
53
|
(define-move-function (load-base-char 1) (vop x y)
|
|
53
|
54
|
((immediate) (base-char-reg))
|
|
|
55
|
+ (not-implemented "LOAD-BASE-CHAR")
|
|
54
|
56
|
(inst li y (char-code (tn-value x))))
|
|
55
|
57
|
|
|
56
|
58
|
(define-move-function (load-system-area-pointer 1) (vop x y)
|
|
57
|
59
|
((immediate) (sap-reg))
|
|
|
60
|
+ (not-implemented "LOAD-SYSTEM-AREA-POINTER")
|
|
58
|
61
|
(inst li y (sap-int (tn-value x))))
|
|
59
|
62
|
|
|
60
|
63
|
(define-move-function (load-constant 5) (vop x y)
|
| ... |
... |
@@ -64,6 +67,7 @@ |
|
64
|
67
|
|
|
65
|
68
|
(define-move-function (load-stack 5) (vop x y)
|
|
66
|
69
|
((control-stack) (any-reg descriptor-reg))
|
|
|
70
|
+ (not-implemented "LOAD-STACK")
|
|
67
|
71
|
(load-stack-tn y x))
|
|
68
|
72
|
|
|
69
|
73
|
(define-move-function (load-number-stack 5) (vop x y)
|
| ... |
... |
@@ -72,6 +76,7 @@ |
|
72
|
76
|
(signed-stack) (signed-reg)
|
|
73
|
77
|
(unsigned-stack) (unsigned-reg))
|
|
74
|
78
|
(let ((nfp (current-nfp-tn vop)))
|
|
|
79
|
+ (not-implemented "LOAD-NUMBER-STACK")
|
|
75
|
80
|
(loadw y nfp (tn-offset x))))
|
|
76
|
81
|
|
|
77
|
82
|
(define-move-function (store-stack 5) (vop x y)
|
| ... |
... |
@@ -85,6 +90,7 @@ |
|
85
|
90
|
(signed-reg) (signed-stack)
|
|
86
|
91
|
(unsigned-reg) (unsigned-stack))
|
|
87
|
92
|
(let ((nfp (current-nfp-tn vop)))
|
|
|
93
|
+ (not-implemented "STORE-NUMBER-STACK")
|
|
88
|
94
|
(storew x nfp (tn-offset y))))
|
|
89
|
95
|
|
|
90
|
96
|
|
| ... |
... |
@@ -169,6 +175,7 @@ |
|
169
|
175
|
(:arg-types tagged-num)
|
|
170
|
176
|
(:note _N"fixnum untagging")
|
|
171
|
177
|
(:generator 1
|
|
|
178
|
+ (emit-not-implemented)
|
|
172
|
179
|
(inst sran y x fixnum-tag-bits)))
|
|
173
|
180
|
|
|
174
|
181
|
;;;
|
| ... |
... |
@@ -181,6 +188,7 @@ |
|
181
|
188
|
(:results (y :scs (signed-reg unsigned-reg)))
|
|
182
|
189
|
(:note _N"constant load")
|
|
183
|
190
|
(:generator 1
|
|
|
191
|
+ (emit-not-implemented)
|
|
184
|
192
|
(inst li y (tn-value x))))
|
|
185
|
193
|
|
|
186
|
194
|
;;;
|
| ... |
... |
@@ -196,6 +204,7 @@ |
|
196
|
204
|
(:temporary (:scs (non-descriptor-reg)) temp)
|
|
197
|
205
|
(:generator 4
|
|
198
|
206
|
(let ((done (gen-label)))
|
|
|
207
|
+ (emit-not-implemented)
|
|
199
|
208
|
(inst andcc temp x fixnum-tag-mask)
|
|
200
|
209
|
(inst b :eq done)
|
|
201
|
210
|
(inst sran y x fixnum-tag-bits)
|
| ... |
... |
@@ -238,6 +247,7 @@ |
|
238
|
247
|
(:result-types tagged-num)
|
|
239
|
248
|
(:note _N"fixnum tagging")
|
|
240
|
249
|
(:generator 1
|
|
|
250
|
+ (emit-not-implemented)
|
|
241
|
251
|
(inst slln y x fixnum-tag-bits)))
|
|
242
|
252
|
;;;
|
|
243
|
253
|
(define-move-vop move-from-word/fixnum :move
|
| ... |
... |
@@ -253,6 +263,7 @@ |
|
253
|
263
|
(:temporary (:scs (non-descriptor-reg) :from (:argument 0)) x temp)
|
|
254
|
264
|
(:note _N"signed word to integer coercion")
|
|
255
|
265
|
(:generator 20
|
|
|
266
|
+ (emit-not-implemented)
|
|
256
|
267
|
(move x arg)
|
|
257
|
268
|
(let ((done (gen-label)))
|
|
258
|
269
|
;; Need to figure out if we have a fixnum or not, so look at the
|
| ... |
... |
@@ -290,6 +301,7 @@ |
|
290
|
301
|
(:temporary (:scs (non-descriptor-reg) :from (:argument 0)) x temp)
|
|
291
|
302
|
(:note _N"unsigned word to integer coercion")
|
|
292
|
303
|
(:generator 20
|
|
|
304
|
+ (emit-not-implemented)
|
|
293
|
305
|
(move x arg)
|
|
294
|
306
|
(let ((done (gen-label))
|
|
295
|
307
|
(one-word (gen-label)))
|