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

Commits:

3 changed files:

Changes:

  • src/assembly/sparc64/arith.lisp
    ... ... @@ -36,6 +36,7 @@
    36 36
     			  (:temp lra descriptor-reg lra-offset)
    
    37 37
     			  (:temp nargs any-reg nargs-offset)
    
    38 38
     			  (:temp ocfp any-reg ocfp-offset))
    
    39
    +  (not-implemented "GENERIC-+")
    
    39 40
       (inst andcc zero-tn x fixnum-tag-mask)
    
    40 41
       (inst b :ne DO-STATIC-FUN)
    
    41 42
       (inst andcc zero-tn y fixnum-tag-mask)
    
    ... ... @@ -80,6 +81,7 @@
    80 81
     			  (:temp lra descriptor-reg lra-offset)
    
    81 82
     			  (:temp nargs any-reg nargs-offset)
    
    82 83
     			  (:temp ocfp any-reg ocfp-offset))
    
    84
    +  (not-implemented "GENERIC--")
    
    83 85
       (inst andcc zero-tn x fixnum-tag-mask)
    
    84 86
       (inst b :ne DO-STATIC-FUN)
    
    85 87
       (inst andcc zero-tn y fixnum-tag-mask)
    
    ... ... @@ -129,6 +131,7 @@
    129 131
     			  (:temp lra descriptor-reg lra-offset)
    
    130 132
     			  (:temp nargs any-reg nargs-offset)
    
    131 133
     			  (:temp ocfp any-reg ocfp-offset))
    
    134
    +  (not-implemented "GENERIC-*")
    
    132 135
       ;; If either arg is not a fixnum, call the static function.
    
    133 136
       (inst andcc zero-tn x fixnum-tag-mask)
    
    134 137
       (inst b :ne DO-STATIC-FUN)
    
    ... ... @@ -138,7 +141,7 @@
    138 141
     
    
    139 142
       ;; Remove the tag from one arg so that the result will have the correct
    
    140 143
       ;; fixnum tag.
    
    141
    -  (inst sra temp x fixnum-tag-bits)
    
    144
    +  (inst sran temp x fixnum-tag-bits)
    
    142 145
       ;; Compute the produce temp * y and return the double-word product
    
    143 146
       ;; in hi:lo.
    
    144 147
       (cond ((backend-featurep :sparc-64)
    
    ... ... @@ -228,6 +231,7 @@
    228 231
     				  
    
    229 232
     				  (:temp nargs any-reg nargs-offset)
    
    230 233
     				  (:temp ocfp any-reg ocfp-offset))
    
    234
    +	  (not-implemented ,name)
    
    231 235
     	  (inst andcc zero-tn x fixnum-tag-mask)
    
    232 236
     	  (inst b :ne DO-STATIC-FN)
    
    233 237
     	  (inst andcc zero-tn y fixnum-tag-mask)
    
    ... ... @@ -268,6 +272,7 @@
    268 272
     			  (:temp lra descriptor-reg lra-offset)
    
    269 273
     			  (:temp nargs any-reg nargs-offset)
    
    270 274
     			  (:temp ocfp any-reg ocfp-offset))
    
    275
    +  (not-implemented "GENERIC-EQL")
    
    271 276
       (inst cmp x y)
    
    272 277
       (inst b :eq RETURN-T)
    
    273 278
       (inst andcc zero-tn x fixnum-tag-mask)
    
    ... ... @@ -305,6 +310,7 @@
    305 310
     			  (:temp lra descriptor-reg lra-offset)
    
    306 311
     			  (:temp nargs any-reg nargs-offset)
    
    307 312
     			  (:temp ocfp any-reg ocfp-offset))
    
    313
    +  (not-implemented "GENERIC-=")
    
    308 314
       (inst andcc zero-tn x fixnum-tag-mask)
    
    309 315
       (inst b :ne DO-STATIC-FN)
    
    310 316
       (inst andcc zero-tn y fixnum-tag-mask)
    
    ... ... @@ -341,6 +347,7 @@
    341 347
     			  (:temp lra descriptor-reg lra-offset)
    
    342 348
     			  (:temp nargs any-reg nargs-offset)
    
    343 349
     			  (:temp ocfp any-reg ocfp-offset))
    
    350
    +  (not-implemented "GENERIC-/=")
    
    344 351
       (inst cmp x y)
    
    345 352
       (inst b :eq RETURN-NIL)
    
    346 353
       (inst andcc zero-tn x fixnum-tag-mask)
    

  • src/compiler/sparc64/macros.lisp
    ... ... @@ -142,7 +142,7 @@
    142 142
     (defmacro emit-return-pc (label)
    
    143 143
       "Emit a return-pc header word.  LABEL is the label to use for this return-pc."
    
    144 144
       `(progn
    
    145
    -     (align lowtag-bits)
    
    145
    +     (align 4)
    
    146 146
          (emit-label ,label)
    
    147 147
          (inst word 0)
    
    148 148
          (inst lra-header-word)))
    

  • src/lisp/sparc64-assem.S
    ... ... @@ -107,8 +107,9 @@ call_into_lisp:
    107 107
             jmp     reg_CODE+FUNCTION_CODE_OFFSET
    
    108 108
             nop
    
    109 109
     
    
    110
    -        .align  8
    
    110
    +        .align  16
    
    111 111
     lra:
    
    112
    +        .word   0
    
    112 113
             .word   type_ReturnPcHeader
    
    113 114
     
    
    114 115
             /* Blow off any extra values. */