Changeset 255


Ignore:
Timestamp:
Jan 10, 2004, 10:13:22 PM (21 years ago)
Author:
Gary Byers
Message:

Change some vinsn names, eliminate some unused vinsns. This'll be
"ppc32-vinsns.lisp" soon.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/compiler/PPC/ppc-vinsns.lisp

    r203 r255  
    2525  (require "PPCENV"))
    2626
    27 (defmacro define-ppc-vinsn (vinsn-name (results args &optional temps) &body body)
     27(defmacro define-ppc32-vinsn (vinsn-name (results args &optional temps) &body body)
    2828  (%define-vinsn *ppc-backend* vinsn-name results args temps body))
    2929
     
    3131; Index "scaling" and constant-offset misc-ref vinsns.
    3232
    33 (define-ppc-vinsn scale-32bit-misc-index (((dest :u32))
     33(define-ppc32-vinsn scale-32bit-misc-index (((dest :u32))
    3434                                          ((idx :imm)      ; A fixnum
    3535                                           )
     
    3737  (addi dest idx ppc32::misc-data-offset))
    3838
    39 (define-ppc-vinsn scale-16bit-misc-index (((dest :u32))
     39(define-ppc32-vinsn scale-16bit-misc-index (((dest :u32))
    4040                                          ((idx :imm)      ; A fixnum
    4141                                           )
     
    4444  (addi dest dest ppc32::misc-data-offset))
    4545
    46 (define-ppc-vinsn scale-8bit-misc-index (((dest :u32))
     46(define-ppc32-vinsn scale-8bit-misc-index (((dest :u32))
    4747                                         ((idx :imm)      ; A fixnum
    4848                                          )
     
    5151  (addi dest dest ppc32::misc-data-offset))
    5252
    53 (define-ppc-vinsn scale-64bit-misc-index (((dest :u32))
     53(define-ppc32-vinsn scale-64bit-misc-index (((dest :u32))
    5454                                          ((idx :imm)      ; A fixnum
    5555                                           )
     
    5858  (addi dest dest ppc32::misc-dfloat-offset))
    5959
    60 (define-ppc-vinsn scale-1bit-misc-index (((word-index :u32)
     60(define-ppc32-vinsn scale-1bit-misc-index (((word-index :u32)
    6161                                          (bitnum :u8))     ; (unsigned-byte 5)
    6262                                         ((idx :imm)      ; A fixnum
     
    7474
    7575
    76 (define-ppc-vinsn misc-ref-u32  (((dest :u32))
     76(define-ppc32-vinsn misc-ref-u32  (((dest :u32))
    7777                                 ((v :lisp)
    7878                                  (scaled-idx :u32))
     
    8080  (lwzx dest v scaled-idx))
    8181
    82 (define-ppc-vinsn misc-ref-c-u32  (((dest :u32))
     82(define-ppc32-vinsn misc-ref-c-u32  (((dest :u32))
    8383                                   ((v :lisp)
    8484                                    (idx :u32const))
     
    8686  (lwz dest (:apply + ppc32::misc-data-offset (:apply ash idx 2)) v))
    8787
    88 (define-ppc-vinsn misc-ref-s32 (((dest :s32))
     88(define-ppc32-vinsn misc-ref-s32 (((dest :s32))
    8989                                ((v :lisp)
    9090                                 (scaled-idx :u32))
     
    9292  (lwzx dest v scaled-idx))
    9393
    94 (define-ppc-vinsn misc-ref-c-s32  (((dest :s32))
     94(define-ppc32-vinsn misc-ref-c-s32  (((dest :s32))
    9595                                   ((v :lisp)
    9696                                    (idx :u32const))
     
    9999
    100100
    101 (define-ppc-vinsn misc-set-c-u32 (()
     101(define-ppc32-vinsn misc-set-c-u32 (()
    102102                                  ((val :u32)
    103103                                   (v :lisp)
     
    105105  (stw val (:apply + ppc32::misc-data-offset (:apply ash idx 2)) v))
    106106
    107 (define-ppc-vinsn misc-set-u32 (()
     107(define-ppc32-vinsn misc-set-u32 (()
    108108                                ((val :u32)
    109109                                 (v :lisp)
     
    112112
    113113                             
    114 (define-ppc-vinsn misc-ref-single-float  (((dest :single-float))
     114(define-ppc32-vinsn misc-ref-single-float  (((dest :single-float))
    115115                                          ((v :lisp)
    116116                                           (scaled-idx :u32))
     
    118118  (lfsx dest v scaled-idx))
    119119
    120 (define-ppc-vinsn misc-ref-c-single-float  (((dest :single-float))
     120(define-ppc32-vinsn misc-ref-c-single-float  (((dest :single-float))
    121121                                            ((v :lisp)
    122122                                             (idx :u32const))
     
    124124  (lfs dest (:apply + ppc32::misc-data-offset (:apply ash idx 2)) v))
    125125
    126 (define-ppc-vinsn misc-ref-double-float  (((dest :double-float))
     126(define-ppc32-vinsn misc-ref-double-float  (((dest :double-float))
    127127                                          ((v :lisp)
    128128                                           (scaled-idx :u32))
     
    131131
    132132
    133 (define-ppc-vinsn misc-ref-c-double-float  (((dest :double-float))
     133(define-ppc32-vinsn misc-ref-c-double-float  (((dest :double-float))
    134134                                            ((v :lisp)
    135135                                             (idx :u32const))
     
    137137  (lfd dest (:apply + ppc32::misc-dfloat-offset (:apply ash idx 3)) v))
    138138
    139 (define-ppc-vinsn misc-set-c-double-float (((val :double-float))
     139(define-ppc32-vinsn misc-set-c-double-float (((val :double-float))
    140140                                           ((v :lisp)
    141141                                            (idx :u32const)))
    142142  (stfd val (:apply + ppc32::misc-dfloat-offset (:apply ash idx 3)) v))
    143143
    144 (define-ppc-vinsn misc-set-double-float (()
     144(define-ppc32-vinsn misc-set-double-float (()
    145145                                         ((val :double-float)
    146146                                          (v :lisp)
     
    148148  (stfdx val v scaled-idx))
    149149
    150 (define-ppc-vinsn misc-set-c-single-float (((val :single-float))
     150(define-ppc32-vinsn misc-set-c-single-float (((val :single-float))
    151151                                           ((v :lisp)
    152152                                            (idx :u32const)))
    153153  (stfs val (:apply + ppc32::misc-data-offset (:apply ash idx 2)) v))
    154154
    155 (define-ppc-vinsn misc-set-single-float (()
     155(define-ppc32-vinsn misc-set-single-float (()
    156156                                         ((val :single-float)
    157157                                          (v :lisp)
     
    160160
    161161
    162 (define-ppc-vinsn misc-ref-u16  (((dest :u16))
     162(define-ppc32-vinsn misc-ref-u16  (((dest :u16))
    163163                                 ((v :lisp)
    164164                                  (scaled-idx :u32))
     
    166166  (lhzx dest v scaled-idx))
    167167
    168 (define-ppc-vinsn misc-ref-c-u16  (((dest :u16))
     168(define-ppc32-vinsn misc-ref-c-u16  (((dest :u16))
    169169                                   ((v :lisp)
    170170                                    (idx :u32const))
     
    172172  (lhz dest (:apply + ppc32::misc-data-offset (:apply ash idx 1)) v))
    173173
    174 (define-ppc-vinsn misc-set-c-u16  (((val :u16))
     174(define-ppc32-vinsn misc-set-c-u16  (((val :u16))
    175175                                   ((v :lisp)
    176176                                    (idx :u32const))
     
    178178  (sth val (:apply + ppc32::misc-data-offset (:apply ash idx 1)) v))
    179179
    180 (define-ppc-vinsn misc-set-u16 (((val :u16))
     180(define-ppc32-vinsn misc-set-u16 (((val :u16))
    181181                                ((v :lisp)
    182182                                 (scaled-idx :s32)))
    183183  (sthx val v scaled-idx))
    184184
    185 (define-ppc-vinsn misc-ref-s16  (((dest :s16))
     185(define-ppc32-vinsn misc-ref-s16  (((dest :s16))
    186186                                 ((v :lisp)
    187187                                  (scaled-idx :u32))
     
    189189  (lhax dest v scaled-idx))
    190190
    191 (define-ppc-vinsn misc-ref-c-s16  (((dest :s16))
     191(define-ppc32-vinsn misc-ref-c-s16  (((dest :s16))
    192192                                   ((v :lisp)
    193193                                    (idx :u32const))
     
    195195  (lha dest (:apply + ppc32::misc-data-offset (:apply ash idx 1)) v))
    196196
    197 (define-ppc-vinsn misc-ref-u8  (((dest :u8))
     197(define-ppc32-vinsn misc-ref-u8  (((dest :u8))
    198198                                ((v :lisp)
    199199                                 (scaled-idx :u32))
     
    201201  (lbzx dest v scaled-idx))
    202202
    203 (define-ppc-vinsn misc-ref-c-u8  (((dest :u8))
     203(define-ppc32-vinsn misc-ref-c-u8  (((dest :u8))
    204204                                  ((v :lisp)
    205205                                   (idx :u32const))
     
    207207  (lbz dest (:apply + ppc32::misc-data-offset idx) v))
    208208
    209 (define-ppc-vinsn misc-set-c-u8  (((val :u8))
     209(define-ppc32-vinsn misc-set-c-u8  (((val :u8))
    210210                                  ((v :lisp)
    211211                                   (idx :u32const))
     
    213213  (stb val (:apply + ppc32::misc-data-offset idx) v))
    214214
    215 (define-ppc-vinsn misc-set-u8  (((val :u8))
     215(define-ppc32-vinsn misc-set-u8  (((val :u8))
    216216                                ((v :lisp)
    217217                                 (scaled-idx :u32))
     
    219219  (stbx val v scaled-idx))
    220220
    221 (define-ppc-vinsn misc-ref-s8  (((dest :s8))
     221(define-ppc32-vinsn misc-ref-s8  (((dest :s8))
    222222                                ((v :lisp)
    223223                                 (scaled-idx :u32))
     
    226226  (extsb dest dest))
    227227
    228 (define-ppc-vinsn misc-ref-c-s8  (((dest :s8))
     228(define-ppc32-vinsn misc-ref-c-s8  (((dest :s8))
    229229                                  ((v :lisp)
    230230                                   (idx :u32const))
     
    234234
    235235
    236 (define-ppc-vinsn misc-ref-c-bit (((dest :u8))
     236(define-ppc32-vinsn misc-ref-c-bit (((dest :u8))
    237237                                  ((v :lisp)
    238238                                   (idx :u32const))
     
    241241  (rlwinm dest dest (:apply 1+ (:apply logand idx #x1f)) 31 31))
    242242
    243 (define-ppc-vinsn misc-ref-c-bit[fixnum] (((dest :imm))
     243(define-ppc32-vinsn misc-ref-c-bit-fixnum (((dest :imm))
    244244                                          ((v :lisp)
    245245                                           (idx :u32const))
     
    253253
    254254
    255 (define-ppc-vinsn misc-ref-node  (((dest :lisp))
     255(define-ppc32-vinsn misc-ref-node  (((dest :lisp))
    256256                                  ((v :lisp)
    257257                                   (scaled-idx :s32))
     
    259259  (lwzx dest v scaled-idx))
    260260
    261 (define-ppc-vinsn misc-set-node (()
     261(define-ppc32-vinsn misc-set-node (()
    262262                                 ((val :lisp)
    263263                                  (v :lisp)
     
    269269
    270270
    271 (define-ppc-vinsn misc-ref-c-node (((dest :lisp))
     271(define-ppc32-vinsn misc-ref-c-node (((dest :lisp))
    272272                                   ((v :lisp)
    273273                                    (idx :s16const))
     
    275275  (lwz dest (:apply + ppc32::misc-data-offset (:apply ash idx 2)) v))
    276276
    277 (define-ppc-vinsn misc-set-c-node (()
     277(define-ppc32-vinsn misc-set-c-node (()
    278278                                   ((val :lisp)
    279279                                    (v :lisp)
     
    283283
    284284
    285 (define-ppc-vinsn misc-element-count[fixnum] (((dest :imm))
     285(define-ppc32-vinsn misc-element-count-fixnum (((dest :imm))
    286286                                              ((v :lisp))
    287287                                              ((temp :u32)))
     
    293293          (- ppc32::least-significant-bit ppc32::fixnumshift)))
    294294
    295 (define-ppc-vinsn check-misc-bound (()
     295(define-ppc32-vinsn check-misc-bound (()
    296296                                    ((idx :imm)
    297297                                     (v :lisp))
     
    305305  (twlge idx temp))
    306306
    307 (define-ppc-vinsn 2d-unscaled-index (((dest :u32))
     307(define-ppc32-vinsn 2d-unscaled-index (((dest :u32))
    308308                                     ((array :lisp)
    309309                                      (i :imm)
     
    315315
    316316
    317 (define-ppc-vinsn 2d-32-scaled-index (((dest :u32))
     317(define-ppc32-vinsn 2d-32-scaled-index (((dest :u32))
    318318                                      ((array :lisp)
    319319                                       (i :imm)
     
    324324  (la dest ppc32::misc-data-offset dest))
    325325
    326 (define-ppc-vinsn 2d-dim1 (((dest :u32))
     326(define-ppc32-vinsn 2d-dim1 (((dest :u32))
    327327                           ((header :lisp)))
    328328  (lwz dest (+ ppc32::misc-data-offset (* 4 (1+ ppc32::arrayH.dim0-cell))) header)
     
    330330
    331331;; Return dim1 (unboxed)
    332 (define-ppc-vinsn check-2d-bound (((dim :u32))
     332(define-ppc32-vinsn check-2d-bound (((dim :u32))
    333333                                  ((i :imm)
    334334                                   (j :imm)
     
    340340  (srawi dim dim ppc32::fixnumshift))
    341341
    342 (define-ppc-vinsn array-data-vector-ref (((dest :lisp))
     342(define-ppc32-vinsn array-data-vector-ref (((dest :lisp))
    343343                                         ((header :lisp)))
    344344  (lwz dest ppc32::arrayH.data-vector header))
    345345 
    346346
    347 (define-ppc-vinsn check-arrayH-rank (()
     347(define-ppc32-vinsn check-arrayH-rank (()
    348348                                     ((header :lisp)
    349349                                      (expected :u32const))
     
    352352  (twi 27 rank (:apply ash expected ppc32::fixnumshift)))
    353353
    354 (define-ppc-vinsn check-arrayH-flags (()
     354(define-ppc32-vinsn check-arrayH-flags (()
    355355                                      ((header :lisp)
    356356                                       (expected :u16const))
     
    363363
    364364 
    365 (define-ppc-vinsn misc-element-count[u32] (((dest :u32))
    366                                            ((v :lisp))
    367                                            ())
    368   (lwz dest ppc32::misc-header-offset v)
    369   (srwi dest dest ppc32::num-subtag-bits))
    370 
    371 (define-ppc-vinsn misc-subtag[fixnum] (((dest :imm))
    372                                        ((v :lisp))
    373                                        ((temp :u32)))
    374   (lbz temp ppc32::misc-subtag-offset v)
    375   (slwi dest temp ppc32::fixnumshift))
    376 
    377 (define-ppc-vinsn misc-subtag[u32] (((dest :u32))
    378                                     ((v :lisp))
    379                                     ())
    380   (lbz dest ppc32::misc-subtag-offset v))
    381 
    382 (define-ppc-vinsn header->subtag[u32] (((dest :u32))
    383                                        ((header :u32))
    384                                        ())
    385   (clrlwi dest header (- ppc32::nbits-in-word ppc32::num-subtag-bits)))
    386 
    387 (define-ppc-vinsn header->subtag[fixnum] (((dest :imm))
    388                                           ((header :u32))
    389                                           ())
    390   (rlwinm dest
    391           header
    392           ppc32::fixnumshift
    393           (- ppc32::nbits-in-word (+ ppc32::nfixnumtagbits ppc32::num-subtag-bits))
    394           (- ppc32::least-significant-bit ppc32::nfixnumtagbits)))
    395 
    396 (define-ppc-vinsn header->element-count[u32] (((dest :u32))
    397                                               ((header :u32))
    398                                               ())
    399   (srwi dest header ppc32::num-subtag-bits))
     365
    400366
    401367 
    402 (define-ppc-vinsn node-slot-ref  (((dest :lisp))
     368(define-ppc32-vinsn node-slot-ref  (((dest :lisp))
    403369                                  ((node :lisp)
    404370                                   (cellno :u32const)))
     
    407373
    408374
    409 (define-ppc-vinsn  %slot-ref (((dest :lisp))
     375(define-ppc32-vinsn  %slot-ref (((dest :lisp))
    410376                              ((instance (:lisp (:ne dest)))
    411377                               (index :lisp))
     
    418384; Untagged memory reference & assignment.
    419385
    420 (define-ppc-vinsn mem-ref-c-fullword (((dest :u32))
     386(define-ppc32-vinsn mem-ref-c-fullword (((dest :u32))
    421387                                      ((src :address)
    422388                                       (index :s16const)))
    423389  (lwz dest index src))
    424390
    425 (define-ppc-vinsn mem-ref-fullword (((dest :u32))
     391(define-ppc32-vinsn mem-ref-fullword (((dest :u32))
    426392                                    ((src :address)
    427393                                     (index :s32)))
    428394  (lwzx dest src index))
    429395
    430 (define-ppc-vinsn mem-ref-c-u16 (((dest :u16))
     396(define-ppc32-vinsn mem-ref-c-u16 (((dest :u16))
    431397                                 ((src :address)
    432398                                  (index :s16const)))
    433399  (lhz dest index src))
    434400
    435 (define-ppc-vinsn mem-ref-u16 (((dest :u16))
     401(define-ppc32-vinsn mem-ref-u16 (((dest :u16))
    436402                               ((src :address)
    437403                                (index :s32)))
     
    439405
    440406
    441 (define-ppc-vinsn mem-ref-c-s16 (((dest :s16))
     407(define-ppc32-vinsn mem-ref-c-s16 (((dest :s16))
    442408                                 ((src :address)
    443409                                  (index :s16const)))
    444410  (lha dest src index))
    445411
    446 (define-ppc-vinsn mem-ref-s16 (((dest :s16))
     412(define-ppc32-vinsn mem-ref-s16 (((dest :s16))
    447413                               ((src :address)
    448414                                (index :s32)))
    449415  (lhax dest src index))
    450416
    451 (define-ppc-vinsn mem-ref-c-u8 (((dest :u8))
     417(define-ppc32-vinsn mem-ref-c-u8 (((dest :u8))
    452418                                ((src :address)
    453419                                 (index :s16const)))
    454420  (lbz dest index src))
    455421
    456 (define-ppc-vinsn mem-ref-u8 (((dest :u8))
     422(define-ppc32-vinsn mem-ref-u8 (((dest :u8))
    457423                              ((src :address)
    458424                               (index :s32)))
    459425  (lbzx dest src index))
    460426
    461 (define-ppc-vinsn mem-ref-c-s8 (((dest :s8))
     427(define-ppc32-vinsn mem-ref-c-s8 (((dest :s8))
    462428                                ((src :address)
    463429                                 (index :s16const)))
     
    465431  (extsb dest dest))
    466432
    467 (define-ppc-vinsn mem-ref-s8 (((dest :s8))
     433(define-ppc32-vinsn mem-ref-s8 (((dest :s8))
    468434                              ((src :address)
    469435                               (index :s32)))
     
    471437  (extsb dest dest))
    472438
    473 (define-ppc-vinsn mem-ref-c-bit (((dest :u8))
     439(define-ppc32-vinsn mem-ref-c-bit (((dest :u8))
    474440                                 ((src :address)
    475441                                  (byte-index :s16const)
     
    478444  (rlwinm dest dest bit-shift 31 31))
    479445
    480 (define-ppc-vinsn mem-ref-c-bit[fixnum] (((dest :lisp))
     446(define-ppc32-vinsn mem-ref-c-bit-fixnum (((dest :lisp))
    481447                                         ((src :address)
    482448                                          (byte-index :s16const)
     
    486452  (rlwinm dest byteval bit-shift 29 29))
    487453
    488 (define-ppc-vinsn mem-ref-bit (((dest :u8))
     454(define-ppc32-vinsn mem-ref-bit (((dest :u8))
    489455                               ((src :address)
    490456                                (bit-index :lisp))
     
    498464
    499465
    500 (define-ppc-vinsn mem-ref-bit[fixnum] (((dest :lisp))
     466(define-ppc32-vinsn mem-ref-bit-fixnum (((dest :lisp))
    501467                                       ((src :address)
    502468                                        (bit-index :lisp))
     
    513479         (- ppc32::least-significant-bit ppc32::fixnum-shift)))
    514480
    515 (define-ppc-vinsn mem-ref-c-double-float (((dest :double-float))
     481(define-ppc32-vinsn mem-ref-c-double-float (((dest :double-float))
    516482                                          ((src :address)
    517483                                           (index :s16const)))
    518484  (lfd dest index src))
    519485
    520 (define-ppc-vinsn mem-ref-double-float (((dest :double-float))
     486(define-ppc32-vinsn mem-ref-double-float (((dest :double-float))
    521487                                        ((src :address)
    522488                                         (index :s32)))
    523489  (lfdx dest src index))
    524490
    525 (define-ppc-vinsn mem-set-c-double-float (()
     491(define-ppc32-vinsn mem-set-c-double-float (()
    526492                                          ((val :double-float)
    527493                                           (src :address)
     
    529495  (stfd val index src))
    530496
    531 (define-ppc-vinsn mem-set-double-float (()
     497(define-ppc32-vinsn mem-set-double-float (()
    532498                                        ((val :double-float)
    533499                                         (src :address)
     
    535501  (stfdx val src index))
    536502
    537 (define-ppc-vinsn mem-ref-c-single-float (((dest :single-float))
     503(define-ppc32-vinsn mem-ref-c-single-float (((dest :single-float))
    538504                                          ((src :address)
    539505                                           (index :s16const)))
    540506  (lfs dest index src))
    541507
    542 (define-ppc-vinsn mem-ref-single-float (((dest :single-float))
     508(define-ppc32-vinsn mem-ref-single-float (((dest :single-float))
    543509                                        ((src :address)
    544510                                         (index :s32)))
    545511  (lfsx dest src index))
    546512
    547 (define-ppc-vinsn mem-set-c-single-float (()
     513(define-ppc32-vinsn mem-set-c-single-float (()
    548514                                          ((val :single-float)
    549515                                           (src :address)
     
    551517  (stfs val index src))
    552518
    553 (define-ppc-vinsn mem-set-single-float (()
     519(define-ppc32-vinsn mem-set-single-float (()
    554520                                        ((val :single-float)
    555521                                         (src :address)
     
    558524
    559525                                           
    560 (define-ppc-vinsn mem-set-c-fullword (()
     526(define-ppc32-vinsn mem-set-c-fullword (()
    561527                                      ((val :u32)
    562528                                       (src :address)
     
    564530  (stw val index src))
    565531
    566 (define-ppc-vinsn mem-set-fullword (()
     532(define-ppc32-vinsn mem-set-fullword (()
    567533                                    ((val :u32)
    568534                                     (src :address)
     
    570536  (stwx val src index))
    571537
    572 (define-ppc-vinsn mem-set-c-halfword (()
     538(define-ppc32-vinsn mem-set-c-halfword (()
    573539                                      ((val :u16)
    574540                                       (src :address)
     
    576542  (sth val index src))
    577543
    578 (define-ppc-vinsn mem-set-halfword (()
     544(define-ppc32-vinsn mem-set-halfword (()
    579545                                    ((val :u16)
    580546                                     (src :address)
     
    582548  (sthx val src index))
    583549
    584 (define-ppc-vinsn mem-set-c-byte (()
     550(define-ppc32-vinsn mem-set-c-byte (()
    585551                                  ((val :u16)
    586552                                   (src :address)
     
    588554  (stb val index src))
    589555
    590 (define-ppc-vinsn mem-set-byte (()
     556(define-ppc32-vinsn mem-set-byte (()
    591557                                ((val :u8)
    592558                                 (src :address)
     
    594560  (stbx val src index))
    595561
    596 (define-ppc-vinsn mem-set-c-bit-0 (()
     562(define-ppc32-vinsn mem-set-c-bit-0 (()
    597563                                   ((src :address)
    598564                                    (byte-index :s16const)
     
    604570  (stb val byte-index src))
    605571
    606 (define-ppc-vinsn mem-set-c-bit-1 (()
     572(define-ppc32-vinsn mem-set-c-bit-1 (()
    607573                                   ((src :address)
    608574                                    (byte-index :s16const)
     
    613579  (stb val byte-index src))
    614580
    615 (define-ppc-vinsn mem-set-c-bit (()
     581(define-ppc32-vinsn mem-set-c-bit (()
    616582                                 ((src :address)
    617583                                  (byte-index :s16const)
     
    625591;;; Hey, they should be happy that it even works.  Who cares how big it is or how
    626592;;; long it takes ...
    627 (define-ppc-vinsn mem-set-bit (()
     593(define-ppc32-vinsn mem-set-bit (()
    628594                               ((src :address)
    629595                                (bit-index :lisp)
     
    653619; Tag and subtag extraction, comparison, checking, trapping ...
    654620
    655 (define-ppc-vinsn extract-tag (((tag :u8))
     621(define-ppc32-vinsn extract-tag (((tag :u8))
    656622                               ((object :lisp))
    657623                               ())
    658624  (clrlwi tag object (- ppc32::nbits-in-word ppc32::nlisptagbits)))
    659625
    660 (define-ppc-vinsn extract-tag[fixnum] (((tag :imm))
     626(define-ppc32-vinsn extract-tag-fixnum (((tag :imm))
    661627                                       ((object :lisp)))
    662628  (rlwinm tag
     
    667633          (- ppc32::least-significant-bit ppc32::fixnum-shift)))
    668634
    669 (define-ppc-vinsn extract-fulltag (((tag :u8))
     635(define-ppc32-vinsn extract-fulltag (((tag :u8))
    670636                                   ((object :lisp))
    671637                                   ())
     
    673639
    674640
    675 (define-ppc-vinsn extract-fulltag[fixnum] (((tag :imm))
     641(define-ppc32-vinsn extract-fulltag-fixnum (((tag :imm))
    676642                                           ((object :lisp)))
    677643  (rlwinm tag
     
    682648          (- ppc32::least-significant-bit ppc32::fixnum-shift)))
    683649
    684 (define-ppc-vinsn extract-typecode (((code :u8))
     650(define-ppc32-vinsn extract-typecode (((code :u8))
    685651                                    ((object :lisp))
    686652                                    ((crf :crf)))
     
    691657  :not-misc)
    692658
    693 (define-ppc-vinsn extract-typecode[fixnum] (((code :imm))
     659(define-ppc32-vinsn extract-typecode-fixnum (((code :imm))
    694660                                            ((object (:lisp (:ne code))))
    695661                                            ((crf :crf) (subtag :u8)))
     
    707673
    708674
    709 (define-ppc-vinsn require-fixnum (()
     675(define-ppc32-vinsn require-fixnum (()
    710676                                  ((object :lisp))
    711677                                  ((crf0 (:crf 0))
     
    718684  :got-it)
    719685
    720 (define-ppc-vinsn require-integer (()
     686(define-ppc32-vinsn require-integer (()
    721687                                   ((object :lisp))
    722688                                   ((crf0 (:crf 0))
     
    735701  :got-it)
    736702
    737 (define-ppc-vinsn require-simple-vector (()
     703(define-ppc32-vinsn require-simple-vector (()
    738704                                         ((object :lisp))
    739705                                         ((tag :u8)
     
    751717  :got-it)
    752718
    753 (define-ppc-vinsn require-simple-string (()
     719(define-ppc32-vinsn require-simple-string (()
    754720                                         ((object :lisp))
    755721                                         ((tag :u8)
     
    771737
    772738 
    773 (define-ppc-vinsn require-real (()
     739(define-ppc32-vinsn require-real (()
    774740                                ((object :lisp))
    775741                                ((crf0 (:crf 0))
     
    788754  :got-it)
    789755
    790 (define-ppc-vinsn require-number (()
     756(define-ppc32-vinsn require-number (()
    791757                                  ((object :lisp))
    792758                                  ((crf0 (:crf 0))
     
    806772
    807773
    808 (define-ppc-vinsn require-list (()
     774(define-ppc32-vinsn require-list (()
    809775                                ((object :lisp))
    810776                                ((tag :u8)
     
    818784  :got-it)
    819785
    820 (define-ppc-vinsn require-symbol (()
     786(define-ppc32-vinsn require-symbol (()
    821787                                  ((object :lisp))
    822788                                  ((tag :u8)
     
    836802  :got-it)
    837803
    838 (define-ppc-vinsn require-character (()
     804(define-ppc32-vinsn require-character (()
    839805                                     ((object :lisp))
    840806                                     ((tag :u8)
     
    849815
    850816
    851 (define-ppc-vinsn require-u8 (()
     817(define-ppc32-vinsn require-u8 (()
    852818                              ((object :lisp))
    853819                              ((crf0 (:crf 0))
     
    861827  :got-it)
    862828
    863 (define-ppc-vinsn box-fixnum (((dest :imm))
     829(define-ppc32-vinsn box-fixnum (((dest :imm))
    864830                              ((src :s32)))
    865831  (slwi dest src ppc32::fixnumshift))
    866832
    867 (define-ppc-vinsn fixnum->s32 (((dest :s32))
     833(define-ppc32-vinsn fixnum->s32 (((dest :s32))
    868834                               ((src :imm)))
    869835  (srawi dest src ppc32::fixnumshift))
    870836
    871 (define-ppc-vinsn fixnum->u32 (((dest :u32))
     837(define-ppc32-vinsn fixnum->u32 (((dest :u32))
    872838                               ((src :imm)))
    873839  (srwi dest src ppc32::fixnumshift))
     
    878844;  c) it's a bignum of length 2 and the sign-digit is 0.
    879845
    880 (define-ppc-vinsn unbox-u32 (((dest :u32))
     846(define-ppc32-vinsn unbox-u32 (((dest :u32))
    881847                             ((src :lisp))
    882848                             ((crf0 (:crf 0))
     
    909875; b) it's a bignum with exactly one digit.
    910876
    911 (define-ppc-vinsn unbox-s32 (((dest :s32))
     877(define-ppc32-vinsn unbox-s32 (((dest :s32))
    912878                             ((src :lisp))
    913879                             ((crfx :crf)
     
    931897; Return dest if src is either (signed-byte 32) or (unsigned-byte 32).
    932898; Say that it's not (signed-byte 32) if neither.
    933 (define-ppc-vinsn unbox-x32 (((dest :u32))
     899(define-ppc32-vinsn unbox-x32 (((dest :u32))
    934900                             ((src :lisp))
    935901                             ((crfx :crf)
     
    955921  :got-it)
    956922
    957 (define-ppc-vinsn unbox-u16 (((dest :u16))
     923(define-ppc32-vinsn unbox-u16 (((dest :u16))
    958924                             ((src :lisp))
    959925                             ((crf0 (:crf 0))))
     
    965931  :got-it)
    966932
    967 (define-ppc-vinsn unbox-s16 (((dest :s16))
     933(define-ppc32-vinsn unbox-s16 (((dest :s16))
    968934                             ((src :lisp))
    969935                             ((crf :crf)))
     
    982948 
    983949 
    984 (define-ppc-vinsn unbox-u8 (((dest :u8))
     950(define-ppc32-vinsn unbox-u8 (((dest :u8))
    985951                            ((src :lisp))
    986952                            ((crf0 (:crf 0))))
     
    992958  :got-it)
    993959
    994 (define-ppc-vinsn unbox-s8 (((dest :s8))
     960(define-ppc32-vinsn unbox-s8 (((dest :s8))
    995961                            ((src :lisp))
    996962                            ((crf :crf)))
     
    1007973  :got-it)
    1008974
    1009 (define-ppc-vinsn unbox-base-char (((dest :u32))
     975(define-ppc32-vinsn unbox-base-char (((dest :u32))
    1010976                                   ((src :lisp))
    1011977                                   ((crf :crf)))
     
    1017983  :got-it)
    1018984
    1019 (define-ppc-vinsn unbox-character (((dest :u32))
     985(define-ppc32-vinsn unbox-character (((dest :u32))
    1020986                                   ((src :lisp))
    1021987                                   ((crf :crf)))
     
    1027993  :got-it)
    1028994
    1029 (define-ppc-vinsn unbox-bit (((dest :u32))
     995(define-ppc32-vinsn unbox-bit (((dest :u32))
    1030996                             ((src :lisp))
    1031997                             ((crf :crf)))
     
    10361002  :got-it)
    10371003
    1038 (define-ppc-vinsn unbox-bit-bit0 (((dest :u32))
     1004(define-ppc32-vinsn unbox-bit-bit0 (((dest :u32))
    10391005                                  ((src :lisp))
    10401006                                  ((crf :crf)))
     
    10451011  :got-it)
    10461012
    1047 (define-ppc-vinsn fixnum->fpr (((dest :double-float))
     1013(define-ppc32-vinsn fixnum->fpr (((dest :double-float))
    10481014                               ((src :lisp))
    10491015                               ((imm :s32)))
     
    10591025
    10601026
    1061 (define-ppc-vinsn shift-right-variable-word (((dest :u32))
     1027(define-ppc32-vinsn shift-right-variable-word (((dest :u32))
    10621028                                             ((src :u32)
    10631029                                              (sh :u32)))
    10641030  (srw dest src sh))
    10651031
    1066 (define-ppc-vinsn u32logandc2 (((dest :u32))
     1032(define-ppc32-vinsn u32logandc2 (((dest :u32))
    10671033                               ((x :u32)
    10681034                                (y :u32)))
    10691035  (andc dest x y))
    10701036
    1071 (define-ppc-vinsn u32logior (((dest :u32))
     1037(define-ppc32-vinsn u32logior (((dest :u32))
    10721038                             ((x :u32)
    10731039                              (y :u32)))
    10741040  (or dest x y))
    10751041
    1076 (define-ppc-vinsn rotate-left-variable-word (((dest :u32))
     1042(define-ppc32-vinsn rotate-left-variable-word (((dest :u32))
    10771043                                             ((src :u32)
    10781044                                              (rot :u32)))
    10791045  (rlwnm dest src rot 0 31))
    10801046
    1081 (define-ppc-vinsn complement-shift-count (((dest :u32))
     1047(define-ppc32-vinsn complement-shift-count (((dest :u32))
    10821048                                          ((src :u32)))
    10831049  (subfic dest src 32))
    10841050
    1085 (define-ppc-vinsn extract-lowbyte (((dest :u32))
     1051(define-ppc32-vinsn extract-lowbyte (((dest :u32))
    10861052                                   ((src :lisp)))
    10871053  (clrlwi dest src (- ppc32::nbits-in-word ppc32::num-subtag-bits)))
    10881054
    10891055; Set DEST to the difference between the low byte of SRC and BYTEVAL.
    1090 (define-ppc-vinsn extract-compare-lowbyte (((dest :u32))
     1056(define-ppc32-vinsn extract-compare-lowbyte (((dest :u32))
    10911057                                           ((src :lisp)
    10921058                                            (byteval :u8const)))
     
    10981064; a fixnum.  Leave the object's tag in TAG.
    10991065; This is a little easier if CRF is CR0.
    1100 (define-ppc-vinsn eq-if-fixnum (((crf :crf)
     1066(define-ppc32-vinsn eq-if-fixnum (((crf :crf)
    11011067                                 (tag :u8))
    11021068                                ((object :lisp))
     
    11081074   (cmpwi crf tag ppc32::tag-fixnum)))
    11091075
    1110 (define-ppc-vinsn trap-unless-tag= (()
     1076(define-ppc32-vinsn trap-unless-tag= (()
    11111077                                    ((object :lisp)
    11121078                                     (tagval :u16const))
     
    11151081  (twnei tag tagval))
    11161082
    1117 (define-ppc-vinsn trap-unless-fulltag= (()
     1083(define-ppc32-vinsn trap-unless-fulltag= (()
    11181084                                        ((object :lisp)
    11191085                                         (tagval :u16const))
     
    11221088  (twnei tag tagval))
    11231089
    1124 (define-ppc-vinsn trap-unless-lowbyte= (()
     1090(define-ppc32-vinsn trap-unless-lowbyte= (()
    11251091                                        ((object :lisp)
    11261092                                         (tagval :u16const))
     
    11291095  (twnei tag tagval))
    11301096
    1131 (define-ppc-vinsn trap-unless-typecode= (()
     1097(define-ppc32-vinsn trap-unless-typecode= (()
    11321098                                         ((object :lisp)
    11331099                                          (tagval :u16const))
     
    11411107  (twnei tag tagval))
    11421108 
    1143 (define-ppc-vinsn subtract-constant (((dest :imm))
     1109(define-ppc32-vinsn subtract-constant (((dest :imm))
    11441110                                     ((src :imm)
    11451111                                      (const :s16const)))
    11461112  (subi dest src const))
    11471113
    1148 (define-ppc-vinsn trap-unless-numeric-type (()
     1114(define-ppc32-vinsn trap-unless-numeric-type (()
    11491115                                            ((object :lisp)
    11501116                                             (maxtype :u16const))
     
    11771143;; 31.))
    11781144
    1179 (define-ppc-vinsn extract-variable-bit (((dest :u8))
     1145(define-ppc32-vinsn extract-variable-bit (((dest :u8))
    11801146                                        ((src :u32)
    11811147                                         (bitnum :u8))
     
    11851151
    11861152
    1187 (define-ppc-vinsn extract-variable-bit[fixnum] (((dest :imm))
     1153(define-ppc32-vinsn extract-variable-bit-fixnum (((dest :imm))
    11881154                                                ((src :u32)
    11891155                                                 (bitnum :u8))
     
    12031169;; between T and NIL) or 0.
    12041170
    1205 (define-ppc-vinsn bit31->truth (((dest :lisp)
     1171(define-ppc32-vinsn bit31->truth (((dest :lisp)
    12061172                                 (bits :u32))
    12071173                                ((bits :u32))
     
    12101176  (addi dest bits ppc32::nil-value))
    12111177
    1212 (define-ppc-vinsn invert-bit31 (((bits :u32))
     1178(define-ppc32-vinsn invert-bit31 (((bits :u32))
    12131179                                ((bits :u32))
    12141180                                ())
     
    12301196
    12311197
    1232 (define-ppc-vinsn eq0->bit31 (((bits :u32))
     1198(define-ppc32-vinsn eq0->bit31 (((bits :u32))
    12331199                              ((src (t (:ne bits)))))
    12341200  (cntlzw bits src)
    12351201  (srwi bits bits 5))                  ; bits = 0000...000X
    12361202
    1237 (define-ppc-vinsn ne0->bit31 (((bits :u32))
     1203(define-ppc32-vinsn ne0->bit31 (((bits :u32))
    12381204                              ((src (t (:ne bits)))))
    12391205  (cntlzw bits src)
     
    12411207  (srwi bits bits 31))                ; bits = 0000...000X
    12421208
    1243 (define-ppc-vinsn lt0->bit31 (((bits :u32))
     1209(define-ppc32-vinsn lt0->bit31 (((bits :u32))
    12441210                              ((src (t (:ne bits)))))
    12451211  (srwi bits src 31))                   ; bits = 0000...000X
    12461212
    12471213
    1248 (define-ppc-vinsn ge0->bit31 (((bits :u32))
     1214(define-ppc32-vinsn ge0->bit31 (((bits :u32))
    12491215                              ((src (t (:ne bits)))))
    12501216  (srwi bits src 31)       
     
    12521218
    12531219
    1254 (define-ppc-vinsn le0->bit31 (((bits :u32))
     1220(define-ppc32-vinsn le0->bit31 (((bits :u32))
    12551221                              ((src (t (:ne bits)))))
    12561222  (neg bits src)
     
    12581224  (srwi bits bits 31))                  ; bits = 0000...000X
    12591225
    1260 (define-ppc-vinsn gt0->bit31 (((bits :u32))
     1226(define-ppc32-vinsn gt0->bit31 (((bits :u32))
    12611227                              ((src (t (:ne bits)))))
    12621228  (subi bits src 1)       
     
    12641230  (srwi bits bits 31))                  ; bits = 0000...000X
    12651231
    1266 (define-ppc-vinsn ne->bit31 (((bits :u32))
     1232(define-ppc32-vinsn ne->bit31 (((bits :u32))
    12671233                             ((x t)
    12681234                              (y t))
     
    12731239  (srwi bits bits 31))                ; bits = 0000...000X
    12741240
    1275 (define-ppc-vinsn fulltag->bit31 (((bits :u32))
     1241(define-ppc32-vinsn fulltag->bit31 (((bits :u32))
    12761242                                  ((lispobj :lisp)
    12771243                                   (tagval :u8const))
     
    12831249
    12841250
    1285 (define-ppc-vinsn eq->bit31 (((bits :u32))
     1251(define-ppc32-vinsn eq->bit31 (((bits :u32))
    12861252                             ((x t)
    12871253                              (y t)))
     
    12901256  (srwi bits bits 5))                  ; bits = 0000...000X
    12911257
    1292 (define-ppc-vinsn eqnil->bit31 (((bits :u32))
     1258(define-ppc32-vinsn eqnil->bit31 (((bits :u32))
    12931259                                ((x t)))
    12941260  (subi bits x ppc32::nil-value)
     
    12961262  (srwi bits bits 5))
    12971263
    1298 (define-ppc-vinsn ne->bit31 (((bits :u32))
     1264(define-ppc32-vinsn ne->bit31 (((bits :u32))
    12991265                             ((x t)
    13001266                              (y t)))
     
    13041270  (xori bits bits 1))
    13051271
    1306 (define-ppc-vinsn nenil->bit31 (((bits :u32))
     1272(define-ppc32-vinsn nenil->bit31 (((bits :u32))
    13071273                                ((x t)))
    13081274  (subi bits x ppc32::nil-value)
     
    13111277  (xori bits bits 1))
    13121278
    1313 (define-ppc-vinsn lt->bit31 (((bits :u32))
     1279(define-ppc32-vinsn lt->bit31 (((bits :u32))
    13141280                             ((x (t (:ne bits)))
    13151281                              (y (t (:ne bits)))))
     
    13211287  (srwi bits bits 31))              ; bits = 0000...000X
    13221288
    1323 (define-ppc-vinsn ltu->bit31 (((bits :u32))
     1289(define-ppc32-vinsn ltu->bit31 (((bits :u32))
    13241290                              ((x :u32)
    13251291                               (y :u32)))
     
    13281294  (neg bits bits))
    13291295
    1330 (define-ppc-vinsn le->bit31 (((bits :u32))
     1296(define-ppc32-vinsn le->bit31 (((bits :u32))
    13311297                             ((x (t (:ne bits)))
    13321298                              (y (t (:ne bits)))))
     
    13381304  (srwi bits bits 31))              ; bits = 0000...000X
    13391305
    1340 (define-ppc-vinsn leu->bit31  (((bits :u32))
     1306(define-ppc32-vinsn leu->bit31  (((bits :u32))
    13411307                               ((x :u32)
    13421308                                (y :u32)))
     
    13441310  (addze bits ppc::rzero))
    13451311
    1346 (define-ppc-vinsn gt->bit31 (((bits :u32))
     1312(define-ppc32-vinsn gt->bit31 (((bits :u32))
    13471313                             ((x (t (:ne bits)))
    13481314                              (y (t (:ne bits)))))
     
    13541320  (srwi bits bits 31))              ; bits = 0000...000X
    13551321
    1356 (define-ppc-vinsn gtu->bit31 (((bits :u32))
     1322(define-ppc32-vinsn gtu->bit31 (((bits :u32))
    13571323                               ((x :u32)
    13581324                                (y :u32)))
     
    13611327  (neg bits bits))
    13621328
    1363 (define-ppc-vinsn ge->bit31 (((bits :u32))
     1329(define-ppc32-vinsn ge->bit31 (((bits :u32))
    13641330                             ((x (t (:ne bits)))
    13651331                              (y (t (:ne bits)))))
     
    13701336  (srwi bits bits 31))              ; bits = 0000...000X
    13711337
    1372 (define-ppc-vinsn geu->bit31 (((bits :u32))
     1338(define-ppc32-vinsn geu->bit31 (((bits :u32))
    13731339                               ((x :u32)
    13741340                                (y :u32)))
     
    13831349; MFCR takes three cycles and waits for previous instructions to complete.
    13841350; Of course, using a CR field costs us something as well.
    1385 (define-ppc-vinsn crbit->bit31 (((bits :u32))
     1351(define-ppc32-vinsn crbit->bit31 (((bits :u32))
    13861352                                ((crf :crf)
    13871353                                 (bitnum :crbit))
     
    13911357
    13921358
    1393 (define-ppc-vinsn compare (((crf :crf))
     1359(define-ppc32-vinsn compare (((crf :crf))
    13941360                           ((arg0 t)
    13951361                            (arg1 t))
     
    13971363  (cmpw crf arg0 arg1))
    13981364
    1399 (define-ppc-vinsn compare-to-nil (((crf :crf))
     1365(define-ppc32-vinsn compare-to-nil (((crf :crf))
    14001366                                  ((arg0 t)))
    14011367  (cmpwi crf arg0 ppc32::nil-value))
    14021368
    1403 (define-ppc-vinsn compare-logical (((crf :crf))
     1369(define-ppc32-vinsn compare-logical (((crf :crf))
    14041370                                   ((arg0 t)
    14051371                                    (arg1 t))
     
    14071373  (cmplw crf arg0 arg1))
    14081374
    1409 (define-ppc-vinsn double-float-compare (((crf :crf))
     1375(define-ppc32-vinsn double-float-compare (((crf :crf))
    14101376                                        ((arg0 :double-float)
    14111377                                         (arg1 :double-float))
     
    14141380             
    14151381
    1416 (define-ppc-vinsn double-float+-2 (((result :double-float))
     1382(define-ppc32-vinsn double-float+-2 (((result :double-float))
    14171383                                   ((x :double-float)
    14181384                                    (y :double-float))
     
    14201386  (fadd result x y))
    14211387
    1422 (define-ppc-vinsn double-float--2 (((result :double-float))
     1388(define-ppc32-vinsn double-float--2 (((result :double-float))
    14231389                                   ((x :double-float)
    14241390                                    (y :double-float))
     
    14261392  (fsub result x y))
    14271393
    1428 (define-ppc-vinsn double-float*-2 (((result :double-float))
     1394(define-ppc32-vinsn double-float*-2 (((result :double-float))
    14291395                                   ((x :double-float)
    14301396                                    (y :double-float))
     
    14321398  (fmul result x y))
    14331399
    1434 (define-ppc-vinsn double-float/-2 (((result :double-float))
     1400(define-ppc32-vinsn double-float/-2 (((result :double-float))
    14351401                                   ((x :double-float)
    14361402                                    (y :double-float))
     
    14381404  (fdiv result x y))
    14391405
    1440 (define-ppc-vinsn single-float+-2 (((result :single-float))
     1406(define-ppc32-vinsn single-float+-2 (((result :single-float))
    14411407                                   ((x :single-float)
    14421408                                    (y :single-float))
     
    14441410  (fadds result x y))
    14451411
    1446 (define-ppc-vinsn single-float--2 (((result :single-float))
     1412(define-ppc32-vinsn single-float--2 (((result :single-float))
    14471413                                   ((x :single-float)
    14481414                                    (y :single-float))
     
    14501416  (fsubs result x y))
    14511417
    1452 (define-ppc-vinsn single-float*-2 (((result :single-float))
     1418(define-ppc32-vinsn single-float*-2 (((result :single-float))
    14531419                                   ((x :single-float)
    14541420                                    (y :single-float))
     
    14561422  (fmuls result x y))
    14571423
    1458 (define-ppc-vinsn single-float/-2 (((result :single-float))
     1424(define-ppc32-vinsn single-float/-2 (((result :single-float))
    14591425                                   ((x :single-float)
    14601426                                    (y :single-float))
     
    14661432
    14671433
    1468 (define-ppc-vinsn compare-unsigned (((crf :crf))
     1434(define-ppc32-vinsn compare-unsigned (((crf :crf))
    14691435                                    ((arg0 :imm)
    14701436                                     (arg1 :imm))
     
    14721438  (cmplw crf arg0 arg1))
    14731439
    1474 (define-ppc-vinsn compare-signed-s16const (((crf :crf))
     1440(define-ppc32-vinsn compare-signed-s16const (((crf :crf))
    14751441                                           ((arg0 :imm)
    14761442                                            (imm :s16const))
     
    14781444  (cmpwi crf arg0 imm))
    14791445
    1480 (define-ppc-vinsn compare-unsigned-u16const (((crf :crf))
     1446(define-ppc32-vinsn compare-unsigned-u16const (((crf :crf))
    14811447                                             ((arg0 :u32)
    14821448                                              (imm :u16const))
     
    14881454;; Extract a constant bit (0-31) from src; make it be bit 31 of dest.
    14891455;; Bitnum is treated mod 32.
    1490 (define-ppc-vinsn extract-constant-ppc-bit (((dest :u32))
     1456(define-ppc32-vinsn extract-constant-ppc-bit (((dest :u32))
    14911457                                            ((src :imm)
    14921458                                             (bitnum :u16const))
     
    14951461
    14961462
    1497 (define-ppc-vinsn set-constant-ppc-bit-to-variable-value (((dest :u32))
     1463(define-ppc32-vinsn set-constant-ppc-bit-to-variable-value (((dest :u32))
    14981464                                                          ((src :u32)
    14991465                                                           (bitval :u32) ; 0 or 1
     
    15011467  (rlwimi dest bitval (:apply - 31 bitnum) bitnum bitnum))
    15021468
    1503 (define-ppc-vinsn set-constant-ppc-bit-to-1 (((dest :u32))
     1469(define-ppc32-vinsn set-constant-ppc-bit-to-1 (((dest :u32))
    15041470                                             ((src :u32)
    15051471                                              (bitnum :u8const)))
     
    15091475   (ori dest src (:apply ash #x8000 (:apply - (:apply - bitnum 16))))))
    15101476
    1511 (define-ppc-vinsn set-constant-ppc-bit-to-0 (((dest :u32))
     1477(define-ppc32-vinsn set-constant-ppc-bit-to-0 (((dest :u32))
    15121478                                             ((src :u32)
    15131479                                              (bitnum :u8const)))
     
    15151481
    15161482 
    1517 (define-ppc-vinsn insert-bit-0 (((dest :u32))
     1483(define-ppc32-vinsn insert-bit-0 (((dest :u32))
    15181484                                ((src :u32)
    15191485                                 (val :u32)))
     
    15271493; I think ...
    15281494; Actually, it'd be "unbox, then subtract from 30".
    1529 (define-ppc-vinsn extract-variable-non-insane-bit (((dest :u32))
     1495(define-ppc32-vinsn extract-variable-non-insane-bit (((dest :u32))
    15301496                                                   ((src :imm)
    15311497                                                    (bit :imm))
     
    15371503; Operations on lists and cons cells
    15381504
    1539 (define-ppc-vinsn %cdr (((dest :lisp))
     1505(define-ppc32-vinsn %cdr (((dest :lisp))
    15401506                        ((src :lisp)))
    15411507  (lwz dest ppc32::cons.cdr src))
    15421508
    1543 (define-ppc-vinsn %car (((dest :lisp))
     1509(define-ppc32-vinsn %car (((dest :lisp))
    15441510                        ((src :lisp)))
    15451511  (lwz dest ppc32::cons.car src))
    15461512
    1547 (define-ppc-vinsn %set-car (()
     1513(define-ppc32-vinsn %set-car (()
    15481514                            ((cell :lisp)
    15491515                             (new :lisp)))
    15501516  (stw new ppc32::cons.car cell))
    15511517
    1552 (define-ppc-vinsn %set-cdr (()
     1518(define-ppc32-vinsn %set-cdr (()
    15531519                            ((cell :lisp)
    15541520                             (new :lisp)))
    15551521  (stw new ppc32::cons.cdr cell))
    15561522
    1557 (define-ppc-vinsn load-adl (()
     1523(define-ppc32-vinsn load-adl (()
    15581524                            ((n :u32const)))
    15591525  (lis ppc::nargs (:apply ldb (byte 16 16) n))
    15601526  (ori ppc::nargs ppc::nargs (:apply ldb (byte 16 0) n)))
    15611527                           
    1562 (define-ppc-vinsn set-nargs (()
     1528(define-ppc32-vinsn set-nargs (()
    15631529                             ((n :s16const)))
    15641530  (li ppc::nargs (:apply ash n ppc32::word-shift)))
    15651531
    1566 (define-ppc-vinsn scale-nargs (()
     1532(define-ppc32-vinsn scale-nargs (()
    15671533                               ((nfixed :s16const)))
    15681534  ((:pred > nfixed 0)
     
    15711537
    15721538
    1573 (define-ppc-vinsn (vpush-register :push :node :vsp)
     1539(define-ppc32-vinsn (vpush-register :push :node :vsp)
    15741540    (()
    15751541     ((reg :lisp)))
    15761542  (stwu reg -4 ppc::vsp))
    15771543
    1578 (define-ppc-vinsn (vpush-register-arg :push :node :vsp :outgoing-argument)
     1544(define-ppc32-vinsn (vpush-register-arg :push :node :vsp :outgoing-argument)
    15791545    (()
    15801546     ((reg :lisp)))
    15811547  (stwu reg -4 ppc::vsp))
    15821548
    1583 (define-ppc-vinsn (vpop-register :pop :node :vsp)
     1549(define-ppc32-vinsn (vpop-register :pop :node :vsp)
    15841550    (((dest :lisp))
    15851551     ())
     
    15881554
    15891555
    1590 (define-ppc-vinsn copy-node-gpr (((dest :lisp))
     1556(define-ppc32-vinsn copy-node-gpr (((dest :lisp))
    15911557                                 ((src :lisp)))
    15921558  ((:not (:pred =
     
    15951561   (mr dest src)))
    15961562
    1597 (define-ppc-vinsn copy-gpr (((dest t))
     1563(define-ppc32-vinsn copy-gpr (((dest t))
    15981564                            ((src t)))
    15991565  ((:not (:pred =
     
    16031569
    16041570
    1605 (define-ppc-vinsn copy-fpr (((dest t))
     1571(define-ppc32-vinsn copy-fpr (((dest t))
    16061572                            ((src t)))
    16071573  ((:not (:pred =
     
    16101576   (fmr dest src)))
    16111577
    1612 (define-ppc-vinsn vcell-ref (((dest :lisp))
     1578(define-ppc32-vinsn vcell-ref (((dest :lisp))
    16131579                             ((vcell :lisp)))
    16141580  (lwz dest ppc32::misc-data-offset vcell))
    16151581
    1616 (define-ppc-vinsn vcell-set (()
     1582(define-ppc32-vinsn vcell-set (()
    16171583                             ((vcell :lisp)
    16181584                              (value :lisp)))
     
    16201586
    16211587
    1622 (define-ppc-vinsn make-vcell (((dest :lisp))
     1588(define-ppc32-vinsn make-vcell (((dest :lisp))
    16231589                              ((closed (:lisp :ne dest)))
    16241590                              ((header :u32)))
     
    16311597  (stw closed ppc32::value-cell.value dest))
    16321598
    1633 (define-ppc-vinsn make-tsp-vcell (((dest :lisp))
     1599(define-ppc32-vinsn make-tsp-vcell (((dest :lisp))
    16341600                                  ((closed :lisp))
    16351601                                  ((header :u32)))
     
    16431609  (la dest (+ 8 ppc32::fulltag-misc) ppc::tsp))
    16441610
    1645 (define-ppc-vinsn make-tsp-cons (((dest :lisp))
     1611(define-ppc32-vinsn make-tsp-cons (((dest :lisp))
    16461612                                 ((car :lisp) (cdr :lisp))
    16471613                                 ())
     
    16551621
    16561622
    1657 (define-ppc-vinsn %closure-code% (((dest :lisp))
     1623(define-ppc32-vinsn %closure-code% (((dest :lisp))
    16581624                                  ())
    16591625  (lwz dest (+ ppc32::symbol.vcell (ppc32::nrs-offset %closure-code%) ppc32::nil-value) 0))
    16601626
    16611627
    1662 (define-ppc-vinsn (call-subprim :call :subprim-call) (()
     1628(define-ppc32-vinsn (call-subprim :call :subprim-call) (()
    16631629                                                      ((spno :s32const)))
    16641630  (bla spno))
    16651631
    1666 (define-ppc-vinsn (jump-subprim :jumpLR) (()
     1632(define-ppc32-vinsn (jump-subprim :jumpLR) (()
    16671633                                          ((spno :s32const)))
    16681634  (ba spno))
     
    16701636; Same as "call-subprim", but gives us a place to
    16711637; track args, results, etc.
    1672 (define-ppc-vinsn (call-subprim-0 :call :subprim-call) (((dest t))
     1638(define-ppc32-vinsn (call-subprim-0 :call :subprim-call) (((dest t))
    16731639                                                        ((spno :s32const)))
    16741640  (bla spno))
    16751641
    1676 (define-ppc-vinsn (call-subprim-1 :call :subprim-call) (((dest t))
     1642(define-ppc32-vinsn (call-subprim-1 :call :subprim-call) (((dest t))
    16771643                                                        ((spno :s32const)
    16781644                                                         (z t)))
    16791645  (bla spno))
    16801646 
    1681 (define-ppc-vinsn (call-subprim-2 :call :subprim-call) (((dest t))
     1647(define-ppc32-vinsn (call-subprim-2 :call :subprim-call) (((dest t))
    16821648                                                        ((spno :s32const)
    16831649                                                         (y t)
     
    16851651  (bla spno))
    16861652
    1687 (define-ppc-vinsn (call-subprim-3 :call :subprim-call) (((dest t))
     1653(define-ppc32-vinsn (call-subprim-3 :call :subprim-call) (((dest t))
    16881654                                                        ((spno :s32const)
    16891655                                                         (x t)
     
    16921658  (bla spno))
    16931659
    1694 (define-ppc-vinsn event-poll (()
     1660(define-ppc32-vinsn event-poll (()
    16951661                              ())
    16961662  (lwz ppc::nargs ppc32::tcr.interrupt-level ppc::rcontext)
     
    16991665                         
    17001666; Unconditional (pc-relative) branch
    1701 (define-ppc-vinsn (jump :jump)
     1667(define-ppc32-vinsn (jump :jump)
    17021668    (()
    17031669     ((label :label)))
    17041670  (b label))
    17051671
    1706 (define-ppc-vinsn (call-label :call) (()
     1672(define-ppc32-vinsn (call-label :call) (()
    17071673                                      ((label :label)))
    17081674  (bl label))
     
    17101676; just like JUMP, only (implicitly) asserts that the following
    17111677; code is somehow reachable.
    1712 (define-ppc-vinsn (non-barrier-jump :xref) (()
     1678(define-ppc32-vinsn (non-barrier-jump :xref) (()
    17131679                                            ((label :label)))
    17141680  (b label))
    17151681
    17161682
    1717 (define-ppc-vinsn (cbranch-true :branch) (()
     1683(define-ppc32-vinsn (cbranch-true :branch) (()
    17181684                                          ((label :label)
    17191685                                           (crf :crf)
     
    17211687  (bt (:apply + crf crbit) label))
    17221688
    1723 (define-ppc-vinsn (cbranch-false :branch) (()
     1689(define-ppc32-vinsn (cbranch-false :branch) (()
    17241690                                           ((label :label)
    17251691                                            (crf :crf)
     
    17271693  (bf (:apply + crf crbit) label))
    17281694
    1729 (define-ppc-vinsn check-trap-error (()
     1695(define-ppc32-vinsn check-trap-error (()
    17301696                                    ())
    17311697  (beq+ 0 :no-error)
     
    17341700
    17351701
    1736 (define-ppc-vinsn lisp-word-ref (((dest t))
     1702(define-ppc32-vinsn lisp-word-ref (((dest t))
    17371703                                 ((base t)
    17381704                                  (offset t)))
    17391705  (lwzx dest base offset))
    17401706
    1741 (define-ppc-vinsn lisp-word-ref-c (((dest t))
     1707(define-ppc32-vinsn lisp-word-ref-c (((dest t))
    17421708                                   ((base t)
    17431709                                    (offset :s16const)))
     
    17471713
    17481714;; Load an unsigned, 32-bit constant into a destination register.
    1749 (define-ppc-vinsn (lwi :constant-ref) (((dest :imm))
     1715(define-ppc32-vinsn (lwi :constant-ref) (((dest :imm))
    17501716                                       ((intval :u32const))
    17511717                                       ())
     
    17641730
    17651731; Exactly the same thing, but take a signed integer value
    1766 (define-ppc-vinsn lwi-s32 (((dest :imm))
     1732(define-ppc32-vinsn lwi-s32 (((dest :imm))
    17671733                           ((intval :s32const))
    17681734                           ())
     
    17801746     (ori dest dest (:apply logand intval #xffff))))))
    17811747
    1782 (define-ppc-vinsn discard-temp-frame (()
     1748(define-ppc32-vinsn discard-temp-frame (()
    17831749                                      ())
    17841750  (lwz ppc::tsp 0 ppc::tsp))
     
    17921758;;; The caller always has to reserve a 24-byte linkage area
    17931759;;; (large chunks of which are unused).
    1794 (define-ppc-vinsn alloc-c-frame (()
     1760(define-ppc32-vinsn alloc-c-frame (()
    17951761                                 ((n-c-args :u16const)))
    17961762  ;; Always reserve space for at least 8 args and space for a lisp
     
    18201786  (stw ppc::rzero ppc32::c-frame.savelr ppc::sp))
    18211787
    1822 (define-ppc-vinsn alloc-eabi-c-frame (()
     1788(define-ppc32-vinsn alloc-eabi-c-frame (()
    18231789                                      ((n-c-args :u16const)))
    18241790                                        ; Always reserve space for at least 8 args and space for a lisp
     
    18451811; to do the memory reference than it would be to keep track of the size
    18461812; of each frame.
    1847 (define-ppc-vinsn discard-c-frame (()
     1813(define-ppc32-vinsn discard-c-frame (()
    18481814                                   ())
    18491815  (lwz ppc::sp 0 ppc::sp))
     
    18521818
    18531819
    1854 (define-ppc-vinsn set-c-arg (()
     1820(define-ppc32-vinsn set-c-arg (()
    18551821                             ((argval :u32)
    18561822                              (argnum :u16const)))
    18571823  (stw argval (:apply + ppc32::c-frame.param0 (:apply ash argnum ppc32::word-shift)) ppc::sp))
    18581824
    1859 (define-ppc-vinsn set-single-c-arg (()
     1825(define-ppc32-vinsn set-single-c-arg (()
    18601826                                    ((argval :single-float)
    18611827                                     (argnum :u16const)))
    18621828  (stfs argval (:apply + ppc32::c-frame.param0 (:apply ash argnum ppc32::word-shift)) ppc::sp))
    18631829
    1864 (define-ppc-vinsn set-double-c-arg (()
     1830(define-ppc32-vinsn set-double-c-arg (()
    18651831                                    ((argval :double-float)
    18661832                                     (argnum :u16const)))
    18671833  (stfd argval (:apply + ppc32::c-frame.param0 (:apply ash argnum ppc32::word-shift)) ppc::sp))
    18681834
    1869 (define-ppc-vinsn reload-single-c-arg (((argval :single-float))
     1835(define-ppc32-vinsn reload-single-c-arg (((argval :single-float))
    18701836                                       ((argnum :u16const)))
    18711837  (lfs argval (:apply + ppc32::c-frame.param0 (:apply ash argnum ppc32::word-shift)) ppc::sp))
    18721838
    1873 (define-ppc-vinsn reload-double-c-arg (((argval :double-float))
     1839(define-ppc32-vinsn reload-double-c-arg (((argval :double-float))
    18741840                                       ((argnum :u16const)))
    18751841  (lfd argval (:apply + ppc32::c-frame.param0 (:apply ash argnum ppc32::word-shift)) ppc::sp))
    18761842
    1877 (define-ppc-vinsn set-eabi-c-arg (()
     1843(define-ppc32-vinsn set-eabi-c-arg (()
    18781844                                  ((argval :u32)
    18791845                                   (argnum :u16const)))
    18801846  (stw argval (:apply + ppc32::eabi-c-frame.param0 (:apply ash argnum ppc32::word-shift)) ppc::sp))
    18811847
    1882 (define-ppc-vinsn set-single-eabi-c-arg (()
     1848(define-ppc32-vinsn set-single-eabi-c-arg (()
    18831849                                         ((argval :single-float)
    18841850                                          (argnum :u16const)))
    18851851  (stfs argval (:apply + ppc32::eabi-c-frame.param0 (:apply ash argnum ppc32::word-shift)) ppc::sp))
    18861852
    1887 (define-ppc-vinsn set-double-eabi-c-arg (()
     1853(define-ppc32-vinsn set-double-eabi-c-arg (()
    18881854                                         ((argval :double-float)
    18891855                                          (argnum :u16const)))
    18901856  (stfd argval (:apply + ppc32::eabi-c-frame.param0 (:apply ash argnum ppc32::word-shift)) ppc::sp))
    18911857
    1892 (define-ppc-vinsn reload-single-eabi-c-arg (((argval :single-float))
     1858(define-ppc32-vinsn reload-single-eabi-c-arg (((argval :single-float))
    18931859                                            ((argnum :u16const)))
    18941860  (lfs argval (:apply + ppc32::eabi-c-frame.param0 (:apply ash argnum ppc32::word-shift)) ppc::sp))
    18951861
    1896 (define-ppc-vinsn reload-double-eabi-c-arg (((argval :double-float))
     1862(define-ppc32-vinsn reload-double-eabi-c-arg (((argval :double-float))
    18971863                                            ((argnum :u16const)))
    18981864  (lfd argval (:apply + ppc32::eabi-c-frame.param0 (:apply ash argnum ppc32::word-shift)) ppc::sp))
    18991865
    1900 (define-ppc-vinsn (load-nil :constant-ref) (((dest t))
     1866(define-ppc32-vinsn (load-nil :constant-ref) (((dest t))
    19011867                                            ())
    19021868  (li dest ppc32::nil-value))
    19031869
    1904 (define-ppc-vinsn (load-t :constant-ref) (((dest t))
     1870(define-ppc32-vinsn (load-t :constant-ref) (((dest t))
    19051871                                          ())
    19061872  (li dest (+ ppc32::t-offset ppc32::nil-value)))
    19071873
    1908 (define-ppc-vinsn set-eq-bit (((dest :crf))
     1874(define-ppc32-vinsn set-eq-bit (((dest :crf))
    19091875                              ())
    19101876  (creqv (:apply + ppc::ppc-eq-bit dest)
     
    19121878         (:apply + ppc::ppc-eq-bit dest)))
    19131879
    1914 (define-ppc-vinsn (ref-constant :constant-ref) (((dest :lisp))
     1880(define-ppc32-vinsn (ref-constant :constant-ref) (((dest :lisp))
    19151881                                                ((src :s16const)))
    19161882  (lwz dest (:apply + ppc32::misc-data-offset (:apply ash (:apply 1+ src) 2)) ppc::fn))
    19171883
    1918 (define-ppc-vinsn ref-indexed-constant (((dest :lisp))
     1884(define-ppc32-vinsn ref-indexed-constant (((dest :lisp))
    19191885                                        ((idxreg :s32)))
    19201886  (lwzx dest ppc::fn idxreg))
    19211887
    19221888
    1923 (define-ppc-vinsn cons (((dest :lisp))
     1889(define-ppc32-vinsn cons (((dest :lisp))
    19241890                        ((newcar :lisp)
    19251891                         (newcdr :lisp)))
     
    19341900
    19351901;; subtag had better be a PPC-NODE-SUBTAG of some sort!
    1936 (define-ppc-vinsn %ppc-gvector (((dest :lisp))
     1902(define-ppc32-vinsn %ppc-gvector (((dest :lisp))
    19371903                                ((Rheader :u32)
    19381904                                 (nbytes :u32const))
     
    19591925
    19601926;; allocate a small (phys size <= 32K bytes) misc obj of known size/subtag
    1961 (define-ppc-vinsn %alloc-misc-fixed (((dest :lisp))
     1927(define-ppc32-vinsn %alloc-misc-fixed (((dest :lisp))
    19621928                                     ((Rheader :u32)
    19631929                                      (nbytes :u32const)))
     
    19711937  (clrrwi ppc::allocptr ppc::allocptr ppc32::ntagbits))
    19721938
    1973 (define-ppc-vinsn vstack-discard (()
     1939(define-ppc32-vinsn vstack-discard (()
    19741940                                  ((nwords :u32const)))
    19751941  ((:not (:pred = nwords 0))
     
    19771943
    19781944
    1979 (define-ppc-vinsn lcell-load (((dest :lisp))
     1945(define-ppc32-vinsn lcell-load (((dest :lisp))
    19801946                              ((cell :lcell)
    19811947                               (top :lcell)))
     
    19841950                    (:apply calc-lcell-offset cell)) ppc::vsp))
    19851951
    1986 (define-ppc-vinsn vframe-load (((dest :lisp))
     1952(define-ppc32-vinsn vframe-load (((dest :lisp))
    19871953                               ((frame-offset :u16const)
    19881954                                (cur-vsp :u16const)))
    19891955  (lwz dest (:apply - (:apply - cur-vsp 4) frame-offset) ppc::vsp))
    19901956
    1991 (define-ppc-vinsn lcell-store (()
     1957(define-ppc32-vinsn lcell-store (()
    19921958                               ((src :lisp)
    19931959                                (cell :lcell)
     
    19971963                   (:apply calc-lcell-offset cell)) ppc::vsp))
    19981964
    1999 (define-ppc-vinsn vframe-store (()
     1965(define-ppc32-vinsn vframe-store (()
    20001966                                ((src :lisp)
    20011967                                 (frame-offset :u16const)
     
    20031969  (stw src (:apply - (:apply - cur-vsp 4) frame-offset) ppc::vsp))
    20041970
    2005 (define-ppc-vinsn load-vframe-address (((dest :imm))
     1971(define-ppc32-vinsn load-vframe-address (((dest :imm))
    20061972                                       ((offset :s16const)))
    20071973  (la dest offset ppc::vsp))
    20081974
    2009 (define-ppc-vinsn copy-lexpr-argument (()
     1975(define-ppc32-vinsn copy-lexpr-argument (()
    20101976                                       ()
    20111977                                       ((temp :lisp)))
     
    20161982
    20171983; Treat the low 8 bits of VAL as an unsigned integer; set RESULT to the equivalent fixnum.
    2018 (define-ppc-vinsn u8->fixnum (((result :imm))
     1984(define-ppc32-vinsn u8->fixnum (((result :imm))
    20191985                              ((val :u8))
    20201986                              ())
     
    20221988
    20231989; Treat the low 8 bits of VAL as a signed integer; set RESULT to the equivalent fixnum.
    2024 (define-ppc-vinsn s8->fixnum (((result :imm))
     1990(define-ppc32-vinsn s8->fixnum (((result :imm))
    20251991                              ((val :s8))
    20261992                              ())
     
    20301996
    20311997; Treat the low 16 bits of VAL as an unsigned integer; set RESULT to the equivalent fixnum.
    2032 (define-ppc-vinsn u16->fixnum (((result :imm))
     1998(define-ppc32-vinsn u16->fixnum (((result :imm))
    20331999                               ((val :u16))
    20342000                               ())
     
    20362002
    20372003; Treat the low 16 bits of VAL as a signed integer; set RESULT to the equivalent fixnum.
    2038 (define-ppc-vinsn s16->fixnum (((result :imm))
     2004(define-ppc32-vinsn s16->fixnum (((result :imm))
    20392005                               ((val :s16))
    20402006                               ())
     
    20422008  (srawi result result (- (- ppc32::nbits-in-word 16) ppc32::fixnumshift)))
    20432009
    2044 (define-ppc-vinsn fixnum->s16 (((result :s16))
     2010(define-ppc32-vinsn fixnum->s16 (((result :s16))
    20452011                               ((src :imm)))
    20462012  (srawi result src ppc32::fixnumshift))
     
    20492015; There should be something very much like this that takes a stack-consed
    20502016; bignum result ...
    2051 (define-ppc-vinsn s32->integer (((result :lisp))
     2017(define-ppc32-vinsn s32->integer (((result :lisp))
    20522018                                ((src :s32))
    20532019                                ((crf (:crf 0)) ; a casualty
     
    20682034
    20692035; An unsigned 32-bit untagged value can be either a 1 or a 2-digit bignum.
    2070 (define-ppc-vinsn u32->integer (((result :lisp))
     2036(define-ppc32-vinsn u32->integer (((result :lisp))
    20712037                                ((src :u32))
    20722038                                ((crf (:crf 0)) ; a casualty
     
    20912057  :done)
    20922058
    2093 (define-ppc-vinsn u16->u32 (((dest :u32))
     2059(define-ppc32-vinsn u16->u32 (((dest :u32))
    20942060                            ((src :u16)))
    20952061  (clrlwi dest src 16))
    20962062
    2097 (define-ppc-vinsn u8->u32 (((dest :u32))
     2063(define-ppc32-vinsn u8->u32 (((dest :u32))
    20982064                           ((src :u8)))
    20992065  (clrlwi dest src 24))
    21002066
    21012067
    2102 (define-ppc-vinsn s16->s32 (((dest :s32))
     2068(define-ppc32-vinsn s16->s32 (((dest :s32))
    21032069                            ((src :s16)))
    21042070  (extsh dest src))
    21052071
    2106 (define-ppc-vinsn s8->s32 (((dest :s32))
     2072(define-ppc32-vinsn s8->s32 (((dest :s32))
    21072073                           ((src :s8)))
    21082074  (extsb dest src))
     
    21132079; Heap-cons a double-float to store contents of FPREG.  Hope that we don't do
    21142080; this blindly.
    2115 (define-ppc-vinsn double->heap (((result :lisp)) ; tagged as a double-float
     2081(define-ppc32-vinsn double->heap (((result :lisp)) ; tagged as a double-float
    21162082                                ((fpreg :double-float))
    21172083                                ((header-temp :u32)))
     
    21282094; Wouldn't kill us to do either/both out-of-line, but need to make visible to
    21292095; compiler so unnecessary heap-consing can be elided.
    2130 (define-ppc-vinsn single->heap (((result :lisp)) ; tagged as a single-float
     2096(define-ppc32-vinsn single->heap (((result :lisp)) ; tagged as a single-float
    21312097                                ((fpreg :single-float))
    21322098                                ((header-temp :u32)))
     
    21412107
    21422108; "dest" is preallocated, presumably on a stack somewhere.
    2143 (define-ppc-vinsn store-double (()
     2109(define-ppc32-vinsn store-double (()
    21442110                                ((dest :lisp)
    21452111                                 (source :double-float))
     
    21472113  (stfd source ppc32::double-float.value dest))
    21482114
    2149 (define-ppc-vinsn get-double (((target :double-float))
     2115(define-ppc32-vinsn get-double (((target :double-float))
    21502116                              ((source :lisp))
    21512117                              ())
     
    21562122;;; instead of replicating it ..
    21572123
    2158 (define-ppc-vinsn get-double? (((target :double-float))
     2124(define-ppc32-vinsn get-double? (((target :double-float))
    21592125                               ((source :lisp))
    21602126                               ((tag :u8)
     
    21692135 
    21702136
    2171 (define-ppc-vinsn store-single (()
     2137(define-ppc32-vinsn store-single (()
    21722138                                ((dest :lisp)
    21732139                                 (source :single-float))
     
    21752141  (stfs source ppc32::single-float.value dest))
    21762142
    2177 (define-ppc-vinsn get-single (((target :single-float))
     2143(define-ppc32-vinsn get-single (((target :single-float))
    21782144                              ((source :lisp))
    21792145                              ())
     
    21812147
    21822148; ... of characters ...
    2183 (define-ppc-vinsn charcode->u16 (((dest :u16))
     2149(define-ppc32-vinsn charcode->u16 (((dest :u16))
    21842150                                 ((src :imm))
    21852151                                 ())
    21862152  (srwi dest src ppc32::charcode-shift))
    21872153
    2188 (define-ppc-vinsn character->fixnum (((dest :lisp))
     2154(define-ppc32-vinsn character->fixnum (((dest :lisp))
    21892155                                     ((src :lisp))
    21902156                                     ())
     
    21952161          (- ppc32::least-significant-bit ppc32::fixnumshift)))
    21962162
    2197 (define-ppc-vinsn character->code (((dest :u32))
     2163(define-ppc32-vinsn character->code (((dest :u32))
    21982164                                   ((src :lisp)))
    21992165  (rlwinm dest src ppc32::charcode-shift ppc32::charcode-shift ppc32::least-significant-bit))
    22002166
    2201 (define-ppc-vinsn charcode->fixnum (((dest :lisp))
     2167(define-ppc32-vinsn charcode->fixnum (((dest :lisp))
    22022168                                    ((src :imm))
    22032169                                    ())
     
    22082174          (- ppc32::least-significant-bit ppc32::fixnumshift)))
    22092175
    2210 (define-ppc-vinsn fixnum->char (((dest :lisp))
     2176(define-ppc32-vinsn fixnum->char (((dest :lisp))
    22112177                                ((src :imm))
    22122178                                ())
     
    22142180  (addi dest dest ppc32::subtag-character))
    22152181
    2216 (define-ppc-vinsn u8->char (((dest :lisp))
     2182(define-ppc32-vinsn u8->char (((dest :lisp))
    22172183                            ((src :u8))
    22182184                            ())
     
    22222188;; ... Macptrs ...
    22232189
    2224 (define-ppc-vinsn deref-macptr (((addr :address))
     2190(define-ppc32-vinsn deref-macptr (((addr :address))
    22252191                                ((src :lisp))
    22262192                                ())
    22272193  (lwz addr ppc32::macptr.address src))
    22282194
    2229 (define-ppc-vinsn set-macptr-address (()
     2195(define-ppc32-vinsn set-macptr-address (()
    22302196                                      ((addr :address)
    22312197                                       (src :lisp))
     
    22342200
    22352201
    2236 (define-ppc-vinsn macptr->heap (((dest :lisp))
     2202(define-ppc32-vinsn macptr->heap (((dest :lisp))
    22372203                                ((address :address))
    22382204                                ((header :u32)))
     
    22472213  (stw address ppc32::macptr.address dest))
    22482214
    2249 (define-ppc-vinsn macptr->stack (((dest :lisp))
     2215(define-ppc32-vinsn macptr->stack (((dest :lisp))
    22502216                                 ((address :address))
    22512217                                 ((header :u32)))
     
    22612227
    22622228 
    2263 (define-ppc-vinsn adjust-stack-register (()
     2229(define-ppc32-vinsn adjust-stack-register (()
    22642230                                         ((reg t)
    22652231                                          (amount :s16const)))
    22662232  (la reg amount reg))
    22672233
    2268 (define-ppc-vinsn adjust-vsp (()
     2234(define-ppc32-vinsn adjust-vsp (()
    22692235                              ((amount :s16const)))
    22702236  (la ppc::vsp amount ppc::vsp))
     
    22722238;; Arithmetic on fixnums & unboxed numbers
    22732239
    2274 (define-ppc-vinsn u32-lognot (((dest :u32))
     2240(define-ppc32-vinsn u32-lognot (((dest :u32))
    22752241                              ((src :u32))
    22762242                              ())
    22772243  (not dest src))
    22782244
    2279 (define-ppc-vinsn fixnum-lognot (((dest :imm))
     2245(define-ppc32-vinsn fixnum-lognot (((dest :imm))
    22802246                                 ((src :imm))
    22812247                                 ((temp :u32)))
     
    22842250
    22852251
    2286 (define-ppc-vinsn negate-fixnum-overflow-inline (((dest :lisp))
     2252(define-ppc32-vinsn negate-fixnum-overflow-inline (((dest :lisp))
    22872253                                                 ((src :imm))
    22882254                                                 ((unboxed :s32)
     
    23022268  :done)
    23032269
    2304 (define-ppc-vinsn negate-fixnum-overflow-ool (()
     2270(define-ppc32-vinsn negate-fixnum-overflow-ool (()
    23052271                                              ((src :imm))
    23062272                                              )
     
    23112277                                                 
    23122278                                       
    2313 (define-ppc-vinsn negate-fixnum-no-ovf (((dest :lisp))
     2279(define-ppc32-vinsn negate-fixnum-no-ovf (((dest :lisp))
    23142280                                        ((src :imm)))
    23152281 
     
    23172283 
    23182284
    2319 (define-ppc-vinsn logior-high (((dest :imm))
     2285(define-ppc32-vinsn logior-high (((dest :imm))
    23202286                               ((src :imm)
    23212287                                (high :u16const)))
    23222288  (oris dest src high))
    23232289
    2324 (define-ppc-vinsn logior-low (((dest :imm))
     2290(define-ppc32-vinsn logior-low (((dest :imm))
    23252291                              ((src :imm)
    23262292                               (low :u16const)))
     
    23292295                           
    23302296                           
    2331 (define-ppc-vinsn %logior2 (((dest :imm))
     2297(define-ppc32-vinsn %logior2 (((dest :imm))
    23322298                            ((x :imm)
    23332299                             (y :imm))
     
    23352301  (or dest x y))
    23362302
    2337 (define-ppc-vinsn logand-high (((dest :imm))
     2303(define-ppc32-vinsn logand-high (((dest :imm))
    23382304                               ((src :imm)
    23392305                                (high :u16const))
     
    23412307  (andis. dest src high))
    23422308
    2343 (define-ppc-vinsn logand-low (((dest :imm))
     2309(define-ppc32-vinsn logand-low (((dest :imm))
    23442310                              ((src :imm)
    23452311                               (low :u16const))
     
    23482314
    23492315
    2350 (define-ppc-vinsn %logand2 (((dest :imm))
     2316(define-ppc32-vinsn %logand2 (((dest :imm))
    23512317                            ((x :imm)
    23522318                             (y :imm))
     
    23542320  (and dest x y))
    23552321
    2356 (define-ppc-vinsn logxor-high (((dest :imm))
     2322(define-ppc32-vinsn logxor-high (((dest :imm))
    23572323                               ((src :imm)
    23582324                                (high :u16const)))
    23592325  (xoris dest src high))
    23602326
    2361 (define-ppc-vinsn logxor-low (((dest :imm))
     2327(define-ppc32-vinsn logxor-low (((dest :imm))
    23622328                              ((src :imm)
    23632329                               (low :u16const)))
     
    23662332                           
    23672333
    2368 (define-ppc-vinsn %logxor2 (((dest :imm))
     2334(define-ppc32-vinsn %logxor2 (((dest :imm))
    23692335                            ((x :imm)
    23702336                             (y :imm))
     
    23722338  (xor dest x y))
    23732339
    2374 (define-ppc-vinsn %ilsl (((dest :imm))
     2340(define-ppc32-vinsn %ilsl (((dest :imm))
    23752341                         ((count :imm)
    23762342                          (src :imm))
     
    23842350  :foo)
    23852351
    2386 (define-ppc-vinsn %ilsl-c (((dest :imm))
     2352(define-ppc32-vinsn %ilsl-c (((dest :imm))
    23872353                           ((count :u8const)
    23882354                            (src :imm)))
     
    23912357
    23922358
    2393 (define-ppc-vinsn %ilsr-c (((dest :imm))
     2359(define-ppc32-vinsn %ilsr-c (((dest :imm))
    23942360                           ((count :u8const)
    23952361                            (src :imm)))
     
    24032369
    24042370
    2405 (define-ppc-vinsn %iasr (((dest :imm))
     2371(define-ppc32-vinsn %iasr (((dest :imm))
    24062372                         ((count :imm)
    24072373                          (src :imm))
     
    24162382  (clrrwi dest temp ppc32::fixnumshift))
    24172383
    2418 (define-ppc-vinsn %iasr-c (((dest :imm))
     2384(define-ppc32-vinsn %iasr-c (((dest :imm))
    24192385                           ((count :u8const)
    24202386                            (src :imm))
     
    24232389  (clrrwi dest temp ppc32::fixnumshift))
    24242390
    2425 (define-ppc-vinsn %ilsr (((dest :imm))
     2391(define-ppc32-vinsn %ilsr (((dest :imm))
    24262392                         ((count :imm)
    24272393                          (src :imm))
     
    24372403  )
    24382404
    2439 (define-ppc-vinsn %ilsr-c (((dest :imm))
     2405(define-ppc32-vinsn %ilsr-c (((dest :imm))
    24402406                           ((count :u8const)
    24412407                            (src :imm))
     
    24442410  (clrrwi dest temp ppc32::fixnumshift))
    24452411
    2446 (define-ppc-vinsn u32-shift-left (((dest :u32))
     2412(define-ppc32-vinsn u32-shift-left (((dest :u32))
    24472413                                  ((src :u32)
    24482414                                   (count :u8const)))
    24492415  (rlwinm dest src count 0 (:apply - 31 count)))
    24502416
    2451 (define-ppc-vinsn u32-shift-right (((dest :u32))
     2417(define-ppc32-vinsn u32-shift-right (((dest :u32))
    24522418                                   ((src :u32)
    24532419                                    (count :u8const)))
    24542420  (rlwinm dest src (:apply - 32 count) count 31))
    24552421
    2456 (define-ppc-vinsn sign-extend-halfword (((dest :imm))
     2422(define-ppc32-vinsn sign-extend-halfword (((dest :imm))
    24572423                                        ((src :imm)))
    24582424  (slwi dest src (- 16 ppc32::fixnumshift))
    24592425  (srawi dest dest (- 16 ppc32::fixnumshift)))
    24602426
    2461 (define-ppc-vinsn s32-highword (((dest :imm))
     2427(define-ppc32-vinsn s32-highword (((dest :imm))
    24622428                                ((src :s32))
    24632429                                ((temp :s32)))
     
    24672433                           
    24682434
    2469 (define-ppc-vinsn fixnum-add (((dest t))
     2435(define-ppc32-vinsn fixnum-add (((dest t))
    24702436                              ((x t)
    24712437                               (y t)))
     
    24732439
    24742440
    2475 (define-ppc-vinsn fixnum-add-overflow-ool (()
     2441(define-ppc32-vinsn fixnum-add-overflow-ool (()
    24762442                                           ((x :imm)
    24772443                                            (y :imm))
     
    24802446  (bsola- .SPfix-overflow))
    24812447
    2482 (define-ppc-vinsn fixnum-add-overflow-inline (((dest :lisp))
     2448(define-ppc32-vinsn fixnum-add-overflow-inline (((dest :lisp))
    24832449                                              ((x :imm)
    24842450                                               (y :imm))
     
    25042470
    25052471;  (setq dest (- x y))
    2506 (define-ppc-vinsn fixnum-sub (((dest t))
     2472(define-ppc32-vinsn fixnum-sub (((dest t))
    25072473                              ((x t)
    25082474                               (y t)))
    25092475  (subf dest y x))
    25102476
    2511 (define-ppc-vinsn fixnum-sub-from-constant (((dest :imm))
     2477(define-ppc32-vinsn fixnum-sub-from-constant (((dest :imm))
    25122478                                            ((x :s16const)
    25132479                                             (y :imm)))
     
    25172483
    25182484
    2519 (define-ppc-vinsn fixnum-sub-overflow-ool (()
     2485(define-ppc32-vinsn fixnum-sub-overflow-ool (()
    25202486                                           ((x :imm)
    25212487                                            (y :imm)))
     
    25232489  (bsola- .SPfix-overflow))
    25242490
    2525 (define-ppc-vinsn fixnum-sub-overflow-inline (((dest :lisp))
     2491(define-ppc32-vinsn fixnum-sub-overflow-inline (((dest :lisp))
    25262492                                              ((x :imm)
    25272493                                               (y :imm))
     
    25442510
    25452511; This is, of course, also "subtract-immediate."
    2546 (define-ppc-vinsn add-immediate (((dest t))
     2512(define-ppc32-vinsn add-immediate (((dest t))
    25472513                                 ((src t)
    25482514                                  (upper :u32const)
     
    25572523;This must unbox one reg, but hard to tell which is better.
    25582524;(The one with the smaller absolute value might be)
    2559 (define-ppc-vinsn multiply-fixnums (((dest :imm))
     2525(define-ppc32-vinsn multiply-fixnums (((dest :imm))
    25602526                                    ((a :imm)
    25612527                                     (b :imm))
     
    25642530  (mullw dest a unboxed))
    25652531
    2566 (define-ppc-vinsn multiply-immediate (((dest :imm))
     2532(define-ppc32-vinsn multiply-immediate (((dest :imm))
    25672533                                      ((boxed :imm)
    25682534                                       (const :s16const)))
     
    25712537; Mask out the code field of a base character; the result
    25722538; should be EXACTLY = to subtag-base-char
    2573 (define-ppc-vinsn mask-base-char (((dest :u32))
     2539(define-ppc32-vinsn mask-base-char (((dest :u32))
    25742540                                  ((src :imm)))
    25752541  (rlwinm dest src 0 (1+ (- ppc32::least-significant-bit ppc32::charcode-shift)) (1- (- ppc32::nbits-in-word (+ ppc32::charcode-shift 8)))))
     
    25772543                             
    25782544;; Boundp, fboundp stuff.
    2579 (define-ppc-vinsn (svar-ref-symbol-value :call :subprim-call)
     2545(define-ppc32-vinsn (svar-ref-symbol-value :call :subprim-call)
    25802546    (((val :lisp))
    25812547     ((sym (:lisp (:ne val)))))
    25822548  (bla .SPsvar-specrefcheck))
    25832549
    2584 (define-ppc-vinsn (%svar-ref-symbol-value :call :subprim-call)
     2550(define-ppc32-vinsn (%svar-ref-symbol-value :call :subprim-call)
    25852551    (((val :lisp))
    25862552     ((sym (:lisp (:ne val)))))
    25872553  (bla .SPsvar-specref))
    25882554
    2589 (define-ppc-vinsn (svar-setq-special :call :subprim-call)
     2555(define-ppc32-vinsn (svar-setq-special :call :subprim-call)
    25902556    (()
    25912557     ((sym :lisp)
     
    25942560
    25952561
    2596 (define-ppc-vinsn symbol-function (((val :lisp))
     2562(define-ppc32-vinsn symbol-function (((val :lisp))
    25972563                                   ((sym (:lisp (:ne val))))
    25982564                                   ((crf :crf)
     
    26092575  :good)
    26102576
    2611 (define-ppc-vinsn (temp-push-unboxed-word :push :word :tsp)
     2577(define-ppc32-vinsn (temp-push-unboxed-word :push :word :tsp)
    26122578    (()
    26132579     ((w :u32)))
     
    26162582  (stw w 8 ppc::tsp))
    26172583
    2618 (define-ppc-vinsn (temp-pop-unboxed-word :pop :word :tsp)
     2584(define-ppc32-vinsn (temp-pop-unboxed-word :pop :word :tsp)
    26192585    (((w :u32))
    26202586     ())
     
    26222588  (lwz ppc::tsp 0 ppc::tsp))
    26232589
    2624 (define-ppc-vinsn (temp-push-double-float :push :doubleword :tsp)
     2590(define-ppc32-vinsn (temp-push-double-float :push :doubleword :tsp)
    26252591    (((d :double-float))
    26262592     ())
     
    26292595  (stfd d 8 ppc::tsp))
    26302596
    2631 (define-ppc-vinsn (temp-pop-double-float :pop :doubleword :tsp)
     2597(define-ppc32-vinsn (temp-pop-double-float :pop :doubleword :tsp)
    26322598    (()
    26332599     ((d :double-float)))
     
    26352601  (lwz ppc::tsp 0 ppc::tsp))
    26362602
    2637 (define-ppc-vinsn (temp-push-single-float :push :word :tsp)
     2603(define-ppc32-vinsn (temp-push-single-float :push :word :tsp)
    26382604    (((s :single-float))
    26392605     ())
     
    26422608  (stfs s 8 ppc::tsp))
    26432609
    2644 (define-ppc-vinsn (temp-pop-single-float :pop :word :tsp)
     2610(define-ppc32-vinsn (temp-pop-single-float :pop :word :tsp)
    26452611    (()
    26462612     ((s :single-float)))
     
    26492615
    26502616
    2651 (define-ppc-vinsn (save-nvrs-individually :push :node :vsp :multiple)
     2617(define-ppc32-vinsn (save-nvrs-individually :push :node :vsp :multiple)
    26522618    (()
    26532619     ((first :u8const)))
     
    26682634      (stwu ppc::save7 -4 ppc::vsp)))))))))
    26692635
    2670 (define-ppc-vinsn (save-nvrs :push :node :vsp :multiple)
     2636(define-ppc32-vinsn (save-nvrs :push :node :vsp :multiple)
    26712637              (()
    26722638               ((first :u8const)))
     
    26822648
    26832649
    2684 (define-ppc-vinsn (restore-nvrs :pop :node :vsp :multiple)
     2650(define-ppc32-vinsn (restore-nvrs :pop :node :vsp :multiple)
    26852651    (()
    26862652     ((firstreg :u8const)
     
    26992665   (lwz ppc::save0 offset basereg)))
    27002666
    2701 (define-ppc-vinsn %current-frame-ptr (((dest :imm))
     2667(define-ppc32-vinsn %current-frame-ptr (((dest :imm))
    27022668                                    ())
    27032669  (mr dest ppc::sp))
    27042670
    2705 (define-ppc-vinsn %current-tcr (((dest :imm))
     2671(define-ppc32-vinsn %current-tcr (((dest :imm))
    27062672                                    ())
    27072673  (mr dest ppc::rcontext))
    27082674
    2709 (define-ppc-vinsn (svar-dpayback :call :subprim-call) (()
     2675(define-ppc32-vinsn (svar-dpayback :call :subprim-call) (()
    27102676                                                  ((n :s16const))
    27112677                                                  ((temp (:u32 #.ppc::imm0))))
     
    27162682   (bla .SPsvar-unbind)))
    27172683
    2718 (define-ppc-vinsn zero-double-float-register
     2684(define-ppc32-vinsn zero-double-float-register
    27192685    (((dest :double-float))
    27202686     ())
    27212687  (fmr dest ppc::fp-zero))
    27222688
    2723 (define-ppc-vinsn zero-single-float-register
     2689(define-ppc32-vinsn zero-single-float-register
    27242690    (((dest :single-float))
    27252691     ())
    27262692  (fmr dest ppc::fp-zero))
    27272693
    2728 (define-ppc-vinsn load-double-float-constant
     2694(define-ppc32-vinsn load-double-float-constant
    27292695    (((dest :double-float))
    27302696     ((high t)
     
    27372703  (lwz ppc::tsp 0 ppc::tsp))
    27382704
    2739 (define-ppc-vinsn load-single-float-constant
     2705(define-ppc32-vinsn load-single-float-constant
    27402706    (((dest :single-float))
    27412707     ((src t)))
     
    27462712  (lwz ppc::tsp 0 ppc::tsp))
    27472713
    2748 (define-ppc-vinsn load-indexed-node (((node :lisp))
     2714(define-ppc32-vinsn load-indexed-node (((node :lisp))
    27492715                                     ((base :lisp)
    27502716                                      (offset :s16const)))
    27512717  (lwz node offset base))
    27522718
    2753 (define-ppc-vinsn recover-saved-vsp (((dest :imm))
     2719(define-ppc32-vinsn recover-saved-vsp (((dest :imm))
    27542720                                     ())
    27552721  (lwz dest ppc32::lisp-frame.savevsp ppc::sp))
    27562722
    27572723
    2758 (define-ppc-vinsn check-exact-nargs (()
     2724(define-ppc32-vinsn check-exact-nargs (()
    27592725                                     ((n :u16const)))
    27602726  (twnei ppc::nargs (:apply ash n 2)))
    27612727
    2762 (define-ppc-vinsn check-min-nargs (()
     2728(define-ppc32-vinsn check-min-nargs (()
    27632729                                   ((min :u16const)))
    27642730  (twllti ppc::nargs (:apply ash min 2)))
    27652731
    2766 (define-ppc-vinsn check-max-nargs (()
     2732(define-ppc32-vinsn check-max-nargs (()
    27672733                                   ((max :u16const)))
    27682734  (twlgti ppc::nargs (:apply ash max 2)))
     
    27702736; Save context and establish FN.  The current VSP is the the
    27712737; same as the caller's, e.g., no arguments were vpushed.
    2772 (define-ppc-vinsn save-lisp-context-vsp (()
     2738(define-ppc32-vinsn save-lisp-context-vsp (()
    27732739                                         ()
    27742740                                         ((imm :u32)))
     
    27832749
    27842750; Do the same thing via a subprim call.
    2785 (define-ppc-vinsn (save-lisp-context-vsp-ool :call :subprim-call)
     2751(define-ppc32-vinsn (save-lisp-context-vsp-ool :call :subprim-call)
    27862752    (()
    27872753     ()
     
    27892755  (bla .SPsavecontextvsp))
    27902756
    2791 (define-ppc-vinsn save-lisp-context-offset (()
     2757(define-ppc32-vinsn save-lisp-context-offset (()
    27922758                                            ((nbytes-vpushed :u16const))
    27932759                                            ((imm :u32)))
     
    28022768  (twllt ppc::sp imm))
    28032769
    2804 (define-ppc-vinsn save-lisp-context-offset-ool (()
     2770(define-ppc32-vinsn save-lisp-context-offset-ool (()
    28052771                                                ((nbytes-vpushed :u16const))
    28062772                                                ((imm (:u32 #.ppc::imm0))))
     
    28092775
    28102776
    2811 (define-ppc-vinsn save-lisp-context-lexpr (()
     2777(define-ppc32-vinsn save-lisp-context-lexpr (()
    28122778                                           ()
    28132779                                           ((imm :u32)))
     
    28212787  (twllt ppc::sp imm))
    28222788 
    2823 (define-ppc-vinsn save-cleanup-context (()
     2789(define-ppc32-vinsn save-cleanup-context (()
    28242790                                        ())
    28252791  ;; SP was this deep just a second ago, so no need to do a stack-probe.
     
    28322798;; Vpush the argument registers.  We got at least "min-fixed" args;
    28332799;; that knowledge may help us generate better code.
    2834 (define-ppc-vinsn (save-lexpr-argregs :call :subprim-call)
     2800(define-ppc32-vinsn (save-lexpr-argregs :call :subprim-call)
    28352801    (()
    28362802     ((min-fixed :u16const))
     
    28832849
    28842850
    2885 (define-ppc-vinsn (jump-return-pc :jumpLR)
     2851(define-ppc32-vinsn (jump-return-pc :jumpLR)
    28862852    (()
    28872853     ())
    28882854  (blr))
    28892855
    2890 (define-ppc-vinsn (restore-full-lisp-context :lispcontext :pop :csp :lrRestore)
     2856(define-ppc32-vinsn (restore-full-lisp-context :lispcontext :pop :csp :lrRestore)
    28912857    (()
    28922858     ())
     
    28972863  (la ppc::sp ppc32::lisp-frame.size ppc::sp))
    28982864
    2899 (define-ppc-vinsn (restore-full-lisp-context-ool :lispcontext :pop :csp :lrRestore)
     2865(define-ppc32-vinsn (restore-full-lisp-context-ool :lispcontext :pop :csp :lrRestore)
    29002866    (()
    29012867     ())
     
    29032869  (mtlr ppc::loc-pc))
    29042870
    2905 (define-ppc-vinsn (popj :lispcontext :pop :csp :lrRestore :jumpLR)
     2871(define-ppc32-vinsn (popj :lispcontext :pop :csp :lrRestore :jumpLR)
    29062872    (()
    29072873     ())
     
    29102876; Exiting from an UNWIND-PROTECT cleanup is similar to
    29112877; (and a little simpler than) returning from a function.
    2912 (define-ppc-vinsn restore-cleanup-context (()
     2878(define-ppc32-vinsn restore-cleanup-context (()
    29132879                                           ())
    29142880  (lwz ppc::loc-pc ppc32::lisp-frame.savelr ppc::sp)
     
    29182884
    29192885
    2920 (define-ppc-vinsn default-1-arg (()
     2886(define-ppc32-vinsn default-1-arg (()
    29212887                                 ((min :u16const))
    29222888                                 ((crf :crf)))
     
    29322898  :done)
    29332899
    2934 (define-ppc-vinsn default-2-args (()
     2900(define-ppc32-vinsn default-2-args (()
    29352901                                  ((min :u16const))
    29362902                                  ((crf :crf)))
     
    29582924  :done)
    29592925
    2960 (define-ppc-vinsn default-3-args (()
     2926(define-ppc32-vinsn default-3-args (()
    29612927                                  ((min :u16const))
    29622928                                  ((crfx :crf)
     
    29962962  :done)
    29972963
    2998 (define-ppc-vinsn save-lr (()
     2964(define-ppc32-vinsn save-lr (()
    29992965                           ())
    30002966  (mflr ppc::loc-pc))
     
    30022968;; "n" is the sum of the number of required args +
    30032969;; the number of &optionals. 
    3004 (define-ppc-vinsn (default-optionals :call :subprim-call) (()
     2970(define-ppc32-vinsn (default-optionals :call :subprim-call) (()
    30052971                                                           ((n :u16const)))
    30062972  (li ppc::imm0 (:apply ash n 2))
     
    30082974
    30092975; fname contains a known symbol
    3010 (define-ppc-vinsn (call-known-symbol :call) (((result (:lisp ppc::arg_z)))
     2976(define-ppc32-vinsn (call-known-symbol :call) (((result (:lisp ppc::arg_z)))
    30112977                                             ())
    30122978  (lwz ppc::nfn ppc32::symbol.fcell ppc::fname)
     
    30152981  (bctrl))
    30162982
    3017 (define-ppc-vinsn (jump-known-symbol :jumplr) (()
     2983(define-ppc32-vinsn (jump-known-symbol :jumplr) (()
    30182984                                               ())
    30192985  (lwz ppc::nfn ppc32::symbol.fcell ppc::fname)
     
    30222988  (bctr))
    30232989
    3024 (define-ppc-vinsn (call-known-function :call) (()
     2990(define-ppc32-vinsn (call-known-function :call) (()
    30252991                                               ())
    30262992  (lwz ppc::temp0 ppc32::misc-data-offset ppc::nfn)
     
    30282994  (bctrl))
    30292995
    3030 (define-ppc-vinsn (jump-known-function :jumplr) (()
     2996(define-ppc32-vinsn (jump-known-function :jumplr) (()
    30312997                                                 ())
    30322998  (lwz ppc::temp0 ppc32::misc-data-offset ppc::nfn)
     
    30343000  (bctr))
    30353001
    3036 (define-ppc-vinsn %schar (((char :imm))
     3002(define-ppc32-vinsn %schar (((char :imm))
    30373003                          ((str :lisp)
    30383004                           (idx :imm))
     
    30453011  (addi char imm ppc32::subtag-character))
    30463012
    3047 (define-ppc-vinsn %set-schar (()
     3013(define-ppc32-vinsn %set-schar (()
    30483014                              ((str :lisp)
    30493015                               (idx :imm)
     
    30583024  )
    30593025
    3060 (define-ppc-vinsn %set-scharcode (()
     3026(define-ppc32-vinsn %set-scharcode (()
    30613027                                  ((str :lisp)
    30623028                                   (idx :imm)
     
    30723038
    30733039
    3074 (define-ppc-vinsn %scharcode (((code :imm))
     3040(define-ppc32-vinsn %scharcode (((code :imm))
    30753041                              ((str :lisp)
    30763042                               (idx :imm))
     
    30833049
    30843050; Clobbers LR
    3085 (define-ppc-vinsn (%debug-trap :call :subprim-call) (()
     3051(define-ppc32-vinsn (%debug-trap :call :subprim-call) (()
    30863052                                                     ())
    30873053  (bla .SPbreakpoint)
     
    30893055
    30903056
    3091 (define-ppc-vinsn eep.address (((dest t))
     3057(define-ppc32-vinsn eep.address (((dest t))
    30923058                               ((src (:lisp (:ne dest )))))
    30933059  (lwz dest (+ (ash 1 2) ppc32::misc-data-offset) src)
    30943060  (tweqi dest ppc32::nil-value))
    30953061                 
    3096 (define-ppc-vinsn %u32+ (((dest :u32))
     3062(define-ppc32-vinsn %u32+ (((dest :u32))
    30973063                         ((x :u32) (y :u32)))
    30983064  (add dest x y))
    30993065
    3100 (define-ppc-vinsn %u32+-c (((dest :u32))
     3066(define-ppc32-vinsn %u32+-c (((dest :u32))
    31013067                           ((x :u32) (y :u16const)))
    31023068  (addi dest x y))
    31033069
    3104 (define-ppc-vinsn %u32- (((dest :u32))
     3070(define-ppc32-vinsn %u32- (((dest :u32))
    31053071                         ((x :u32) (y :u32)))
    31063072  (sub dest x y))
    31073073
    3108 (define-ppc-vinsn %u32--c (((dest :u32))
     3074(define-ppc32-vinsn %u32--c (((dest :u32))
    31093075                           ((x :u32) (y :u16const)))
    31103076  (subi dest x y))
    31113077
    3112 (define-ppc-vinsn %u32-logior (((dest :u32))
     3078(define-ppc32-vinsn %u32-logior (((dest :u32))
    31133079                               ((x :u32) (y :u32)))
    31143080  (or dest x y))
    31153081
    3116 (define-ppc-vinsn %u32-logior-c (((dest :u32))
     3082(define-ppc32-vinsn %u32-logior-c (((dest :u32))
    31173083                                 ((x :u32) (high :u16const) (low :u16const)))
    31183084  ((:not (:pred = high 0))
     
    31213087   (ori dest x low)))
    31223088
    3123 (define-ppc-vinsn %u32-logxor (((dest :u32))
     3089(define-ppc32-vinsn %u32-logxor (((dest :u32))
    31243090                               ((x :u32) (y :u32)))
    31253091  (xor dest x y))
    31263092
    3127 (define-ppc-vinsn %u32-logxor-c (((dest :u32))
     3093(define-ppc32-vinsn %u32-logxor-c (((dest :u32))
    31283094                                 ((x :u32) (high :u16const) (low :u16const)))
    31293095  ((:not (:pred = high 0))
     
    31323098   (xori dest x low)))
    31333099
    3134 (define-ppc-vinsn %u32-logand (((dest :u32))
     3100(define-ppc32-vinsn %u32-logand (((dest :u32))
    31353101                               ((x :u32) (y :u32)))
    31363102  (and dest x y))
    31373103
    3138 (define-ppc-vinsn %u32-logand-high-c (((dest :u32))
     3104(define-ppc32-vinsn %u32-logand-high-c (((dest :u32))
    31393105                                      ((x :u32) (high :u16const))
    31403106                                      ((cr0 (:crf 0))))
    31413107  (andis. dest x high))
    31423108
    3143 (define-ppc-vinsn %u32-logand-low-c (((dest :u32))
     3109(define-ppc32-vinsn %u32-logand-low-c (((dest :u32))
    31443110                                     ((x :u32) (low :u16const))
    31453111                                     ((cr0 (:crf 0))))
    31463112  (andi. dest x low))
    31473113
    3148 (define-ppc-vinsn %u32-logand-mask-c (((dest :u32))
     3114(define-ppc32-vinsn %u32-logand-mask-c (((dest :u32))
    31493115                                      ((x :u32)
    31503116                                       (start :u8const)
     
    31523118  (rlwinm dest x 0 start end))
    31533119
    3154 (define-ppc-vinsn disable-interrupts (((dest :lisp))
     3120(define-ppc32-vinsn disable-interrupts (((dest :lisp))
    31553121                                      ()
    31563122                                      ((temp :imm)))
     
    31603126
    31613127;;; Subprim calls.  Done this way for the benefit of VINSN-OPTIMIZE.
    3162 (defmacro define-ppc-subprim-call-vinsn ((name &rest other-attrs) spno)
    3163   `(define-ppc-vinsn (,name :call :subprim-call ,@other-attrs) (() ())
     3128(defmacro define-ppc32-subprim-call-vinsn ((name &rest other-attrs) spno)
     3129  `(define-ppc32-vinsn (,name :call :subprim-call ,@other-attrs) (() ())
    31643130    (bla ,spno)))
    31653131
    3166 (defmacro define-ppc-subprim-jump-vinsn ((name &rest other-attrs) spno)
    3167   `(define-ppc-vinsn (,name :jump :jumpLR ,@other-attrs) (() ())
     3132(defmacro define-ppc32-subprim-jump-vinsn ((name &rest other-attrs) spno)
     3133  `(define-ppc32-vinsn (,name :jump :jumpLR ,@other-attrs) (() ())
    31683134    (ba ,spno)))
    31693135
    3170 (define-ppc-subprim-jump-vinsn (restore-interrupt-level) .SPrestoreintlevel)
    3171 
    3172 (define-ppc-subprim-call-vinsn (save-values) .SPsave-values)
    3173 
    3174 (define-ppc-subprim-call-vinsn (recover-values)  .SPrecover-values)
    3175 
    3176 (define-ppc-subprim-call-vinsn (add-values) .SPadd-values)
    3177 
    3178 (define-ppc-subprim-jump-vinsn (jump-known-symbol-ool) .SPjmpsym)
    3179 
    3180 (define-ppc-subprim-call-vinsn (call-known-symbol-ool)  .SPjmpsym)
    3181 
    3182 (define-ppc-subprim-call-vinsn (pass-multiple-values)  .SPmvpass)
    3183 
    3184 (define-ppc-subprim-call-vinsn (pass-multiple-values-symbol) .SPmvpasssym)
    3185 
    3186 (define-ppc-subprim-jump-vinsn (tail-call-sym-gen) .SPtcallsymgen)
    3187 
    3188 (define-ppc-subprim-jump-vinsn (tail-call-fn-gen) .SPtcallnfngen)
    3189 
    3190 (define-ppc-subprim-jump-vinsn (tail-call-sym-slide) .SPtcallsymslide)
    3191 
    3192 (define-ppc-subprim-jump-vinsn (tail-call-fn-slide) .SPtcallnfnslide)
    3193 
    3194 (define-ppc-subprim-jump-vinsn (tail-call-sym-vsp) .SPtcallsymvsp)
    3195 
    3196 (define-ppc-subprim-jump-vinsn (tail-call-fn-vsp) .SPtcallnfnvsp)
    3197 
    3198 (define-ppc-subprim-call-vinsn (funcall)  .SPfuncall)
    3199 
    3200 (define-ppc-subprim-jump-vinsn (tail-funcall-gen) .SPtfuncallgen)
    3201 
    3202 (define-ppc-subprim-jump-vinsn (tail-funcall-slide) .SPtfuncallslide)
    3203 
    3204 (define-ppc-subprim-jump-vinsn (tail-funcall-vsp) .SPtfuncallvsp)
    3205 
    3206 (define-ppc-subprim-call-vinsn (spread-lexpr)  .SPspread-lexpr-z)
    3207 
    3208 (define-ppc-subprim-call-vinsn (spread-list)  .SPspreadargz)
    3209 
    3210 (define-ppc-subprim-call-vinsn (pop-argument-registers)  .SPvpopargregs)
    3211 
    3212 (define-ppc-subprim-call-vinsn (getxlong)  .SPgetXlong)
    3213 
    3214 (define-ppc-subprim-call-vinsn (stack-cons-list)  .SPstkconslist)
    3215 
    3216 (define-ppc-subprim-call-vinsn (list) .SPconslist)
    3217 
    3218 (define-ppc-subprim-call-vinsn (stack-cons-list*)  .SPstkconslist-star)
    3219 
    3220 (define-ppc-subprim-call-vinsn (list*) .SPconslist-star)
    3221 
    3222 (define-ppc-subprim-call-vinsn (make-stack-block)  .SPmakestackblock)
    3223 
    3224 (define-ppc-subprim-call-vinsn (make-stack-block0)  .Spmakestackblock0)
    3225 
    3226 (define-ppc-subprim-call-vinsn (make-stack-list)  .Spmakestacklist)
    3227 
    3228 (define-ppc-subprim-call-vinsn (make-stack-vector)  .SPmkstackv)
    3229 
    3230 (define-ppc-subprim-call-vinsn (make-stack-gvector)  .SPstkgvector)
    3231 
    3232 (define-ppc-subprim-call-vinsn (stack-misc-alloc)  .SPstack-misc-alloc)
    3233 
    3234 (define-ppc-subprim-call-vinsn (stack-misc-alloc-init)  .SPstack-misc-alloc-init)
    3235 
    3236 (define-ppc-subprim-call-vinsn (svar-bind-nil)  .SPsvar-bind-nil)
    3237 
    3238 (define-ppc-subprim-call-vinsn (svar-bind-self)  .SPsvar-bind-self)
    3239 
    3240 (define-ppc-subprim-call-vinsn (svar-bind-self-boundp-check)  .SPsvar-bind-self-boundp-check)
    3241 
    3242 (define-ppc-subprim-call-vinsn (svar-bind)  .SPsvar-bind)
    3243 
    3244 (define-ppc-subprim-jump-vinsn (nvalret :jumpLR) .SPnvalret)
    3245 
    3246 (define-ppc-subprim-call-vinsn (nthrowvalues) .SPnthrowvalues)
    3247 
    3248 (define-ppc-subprim-call-vinsn (nthrow1value) .SPnthrow1value)
    3249 
    3250 (define-ppc-subprim-call-vinsn (slide-values) .SPmvslide)
    3251 
    3252 (define-ppc-subprim-call-vinsn (macro-bind) .SPmacro-bind)
    3253 
    3254 (define-ppc-subprim-call-vinsn (destructuring-bind-inner) .SPdestructuring-bind-inner)
    3255 
    3256 (define-ppc-subprim-call-vinsn (destructuring-bind) .SPdestructuring-bind)
    3257 
    3258 (define-ppc-subprim-call-vinsn (simple-keywords) .SPsimple-keywords)
    3259 
    3260 (define-ppc-subprim-call-vinsn (keyword-args) .SPkeyword-args)
    3261 
    3262 (define-ppc-subprim-call-vinsn (keyword-bind) .SPkeyword-bind)
    3263 
    3264 (define-ppc-subprim-call-vinsn (stack-rest-arg) .SPstack-rest-arg)
    3265 
    3266 (define-ppc-subprim-call-vinsn (req-stack-rest-arg) .SPreq-stack-rest-arg)
    3267 
    3268 (define-ppc-subprim-call-vinsn (stack-cons-rest-arg) .SPstack-cons-rest-arg)
    3269 
    3270 (define-ppc-subprim-call-vinsn (heap-rest-arg) .SPheap-rest-arg)
    3271 
    3272 (define-ppc-subprim-call-vinsn (req-heap-rest-arg) .SPreq-heap-rest-arg)
    3273 
    3274 (define-ppc-subprim-call-vinsn (heap-cons-rest-arg) .SPheap-cons-rest-arg)
    3275 
    3276 (define-ppc-subprim-call-vinsn (opt-supplied-p) .SPopt-supplied-p)
    3277 
    3278 (define-ppc-subprim-call-vinsn (gvector) .SPgvector)
    3279 
    3280 (define-ppc-vinsn (nth-value :call :subprim-call) (((result :lisp))
     3136(define-ppc32-subprim-jump-vinsn (restore-interrupt-level) .SPrestoreintlevel)
     3137
     3138(define-ppc32-subprim-call-vinsn (save-values) .SPsave-values)
     3139
     3140(define-ppc32-subprim-call-vinsn (recover-values)  .SPrecover-values)
     3141
     3142(define-ppc32-subprim-call-vinsn (add-values) .SPadd-values)
     3143
     3144(define-ppc32-subprim-jump-vinsn (jump-known-symbol-ool) .SPjmpsym)
     3145
     3146(define-ppc32-subprim-call-vinsn (call-known-symbol-ool)  .SPjmpsym)
     3147
     3148(define-ppc32-subprim-call-vinsn (pass-multiple-values)  .SPmvpass)
     3149
     3150(define-ppc32-subprim-call-vinsn (pass-multiple-values-symbol) .SPmvpasssym)
     3151
     3152(define-ppc32-subprim-jump-vinsn (tail-call-sym-gen) .SPtcallsymgen)
     3153
     3154(define-ppc32-subprim-jump-vinsn (tail-call-fn-gen) .SPtcallnfngen)
     3155
     3156(define-ppc32-subprim-jump-vinsn (tail-call-sym-slide) .SPtcallsymslide)
     3157
     3158(define-ppc32-subprim-jump-vinsn (tail-call-fn-slide) .SPtcallnfnslide)
     3159
     3160(define-ppc32-subprim-jump-vinsn (tail-call-sym-vsp) .SPtcallsymvsp)
     3161
     3162(define-ppc32-subprim-jump-vinsn (tail-call-fn-vsp) .SPtcallnfnvsp)
     3163
     3164(define-ppc32-subprim-call-vinsn (funcall)  .SPfuncall)
     3165
     3166(define-ppc32-subprim-jump-vinsn (tail-funcall-gen) .SPtfuncallgen)
     3167
     3168(define-ppc32-subprim-jump-vinsn (tail-funcall-slide) .SPtfuncallslide)
     3169
     3170(define-ppc32-subprim-jump-vinsn (tail-funcall-vsp) .SPtfuncallvsp)
     3171
     3172(define-ppc32-subprim-call-vinsn (spread-lexpr)  .SPspread-lexpr-z)
     3173
     3174(define-ppc32-subprim-call-vinsn (spread-list)  .SPspreadargz)
     3175
     3176(define-ppc32-subprim-call-vinsn (pop-argument-registers)  .SPvpopargregs)
     3177
     3178(define-ppc32-subprim-call-vinsn (getxlong)  .SPgetXlong)
     3179
     3180(define-ppc32-subprim-call-vinsn (stack-cons-list)  .SPstkconslist)
     3181
     3182(define-ppc32-subprim-call-vinsn (list) .SPconslist)
     3183
     3184(define-ppc32-subprim-call-vinsn (stack-cons-list*)  .SPstkconslist-star)
     3185
     3186(define-ppc32-subprim-call-vinsn (list*) .SPconslist-star)
     3187
     3188(define-ppc32-subprim-call-vinsn (make-stack-block)  .SPmakestackblock)
     3189
     3190(define-ppc32-subprim-call-vinsn (make-stack-block0)  .Spmakestackblock0)
     3191
     3192(define-ppc32-subprim-call-vinsn (make-stack-list)  .Spmakestacklist)
     3193
     3194(define-ppc32-subprim-call-vinsn (make-stack-vector)  .SPmkstackv)
     3195
     3196(define-ppc32-subprim-call-vinsn (make-stack-gvector)  .SPstkgvector)
     3197
     3198(define-ppc32-subprim-call-vinsn (stack-misc-alloc)  .SPstack-misc-alloc)
     3199
     3200(define-ppc32-subprim-call-vinsn (stack-misc-alloc-init)  .SPstack-misc-alloc-init)
     3201
     3202(define-ppc32-subprim-call-vinsn (svar-bind-nil)  .SPsvar-bind-nil)
     3203
     3204(define-ppc32-subprim-call-vinsn (svar-bind-self)  .SPsvar-bind-self)
     3205
     3206(define-ppc32-subprim-call-vinsn (svar-bind-self-boundp-check)  .SPsvar-bind-self-boundp-check)
     3207
     3208(define-ppc32-subprim-call-vinsn (svar-bind)  .SPsvar-bind)
     3209
     3210(define-ppc32-subprim-jump-vinsn (nvalret :jumpLR) .SPnvalret)
     3211
     3212(define-ppc32-subprim-call-vinsn (nthrowvalues) .SPnthrowvalues)
     3213
     3214(define-ppc32-subprim-call-vinsn (nthrow1value) .SPnthrow1value)
     3215
     3216(define-ppc32-subprim-call-vinsn (slide-values) .SPmvslide)
     3217
     3218(define-ppc32-subprim-call-vinsn (macro-bind) .SPmacro-bind)
     3219
     3220(define-ppc32-subprim-call-vinsn (destructuring-bind-inner) .SPdestructuring-bind-inner)
     3221
     3222(define-ppc32-subprim-call-vinsn (destructuring-bind) .SPdestructuring-bind)
     3223
     3224(define-ppc32-subprim-call-vinsn (simple-keywords) .SPsimple-keywords)
     3225
     3226(define-ppc32-subprim-call-vinsn (keyword-args) .SPkeyword-args)
     3227
     3228(define-ppc32-subprim-call-vinsn (keyword-bind) .SPkeyword-bind)
     3229
     3230(define-ppc32-subprim-call-vinsn (stack-rest-arg) .SPstack-rest-arg)
     3231
     3232(define-ppc32-subprim-call-vinsn (req-stack-rest-arg) .SPreq-stack-rest-arg)
     3233
     3234(define-ppc32-subprim-call-vinsn (stack-cons-rest-arg) .SPstack-cons-rest-arg)
     3235
     3236(define-ppc32-subprim-call-vinsn (heap-rest-arg) .SPheap-rest-arg)
     3237
     3238(define-ppc32-subprim-call-vinsn (req-heap-rest-arg) .SPreq-heap-rest-arg)
     3239
     3240(define-ppc32-subprim-call-vinsn (heap-cons-rest-arg) .SPheap-cons-rest-arg)
     3241
     3242(define-ppc32-subprim-call-vinsn (opt-supplied-p) .SPopt-supplied-p)
     3243
     3244(define-ppc32-subprim-call-vinsn (gvector) .SPgvector)
     3245
     3246(define-ppc32-vinsn (nth-value :call :subprim-call) (((result :lisp))
    32813247                                                   ())
    32823248  (bla .SPnthvalue))
    32833249
    3284 (define-ppc-subprim-call-vinsn (fitvals) .SPfitvals)
    3285 
    3286 (define-ppc-subprim-call-vinsn (misc-alloc) .SPmisc-alloc)
    3287 
    3288 (define-ppc-subprim-call-vinsn (misc-alloc-init) .SPmisc-alloc-init)
    3289 
    3290 (define-ppc-subprim-call-vinsn (integer-sign) .SPinteger-sign)
     3250(define-ppc32-subprim-call-vinsn (fitvals) .SPfitvals)
     3251
     3252(define-ppc32-subprim-call-vinsn (misc-alloc) .SPmisc-alloc)
     3253
     3254(define-ppc32-subprim-call-vinsn (misc-alloc-init) .SPmisc-alloc-init)
     3255
     3256(define-ppc32-subprim-call-vinsn (integer-sign) .SPinteger-sign)
    32913257
    32923258;;; Even though it's implemented by calling a subprim, THROW is really
     
    32943260;;; really known, it should probably be inlined (stack-cleanup, value
    32953261;;; transfer & jump ...)
    3296 (define-ppc-vinsn (throw :jump :jump-unknown) (()
     3262(define-ppc32-vinsn (throw :jump :jump-unknown) (()
    32973263                                               ())
    32983264  (bla .SPthrow))
    32993265
    3300 (define-ppc-subprim-call-vinsn (mkcatchmv) .SPmkcatchmv)
    3301 
    3302 (define-ppc-subprim-call-vinsn (mkcatch1v) .SPmkcatch1v)
    3303 
    3304 (define-ppc-subprim-call-vinsn (setqsym) .SPsvar-setqsym)
    3305 
    3306 (define-ppc-subprim-call-vinsn (ksignalerr) .SPksignalerr)
    3307 
    3308 (define-ppc-subprim-call-vinsn (subtag-misc-ref) .SPsubtag-misc-ref)
    3309 
    3310 (define-ppc-subprim-call-vinsn (subtag-misc-set) .SPsubtag-misc-set)
    3311 
    3312 (define-ppc-subprim-call-vinsn (mkunwind) .SPmkunwind)
    3313 
    3314 (define-ppc-subprim-call-vinsn (progvsave) .SPsvar-progvsave)
    3315 
    3316 (define-ppc-subprim-jump-vinsn (progvrestore) .SPsvar-progvrestore)
    3317 
    3318 (define-ppc-subprim-call-vinsn (syscall) .SPsyscall)
    3319 
    3320 (define-ppc-subprim-call-vinsn (newblocktag) .SPnewblocktag)
    3321 
    3322 (define-ppc-subprim-call-vinsn (newgotag) .SPnewgotag)
    3323 
    3324 (define-ppc-subprim-call-vinsn (misc-ref) .SPmisc-ref)
    3325 
    3326 (define-ppc-subprim-call-vinsn (misc-set) .SPmisc-set)
    3327 
    3328 (define-ppc-subprim-call-vinsn (gets64) .SPgets64)
    3329 
    3330 (define-ppc-subprim-call-vinsn (getu64) .SPgetu64)
    3331 
    3332 (define-ppc-subprim-call-vinsn (makeu64) .SPmakeu64)
    3333 
    3334 (define-ppc-subprim-call-vinsn (makes64) .SPmakes64)
    3335 
    3336 (define-ppc-vinsn (darwin-syscall :call :subprim-call) (()
     3266(define-ppc32-subprim-call-vinsn (mkcatchmv) .SPmkcatchmv)
     3267
     3268(define-ppc32-subprim-call-vinsn (mkcatch1v) .SPmkcatch1v)
     3269
     3270(define-ppc32-subprim-call-vinsn (setqsym) .SPsvar-setqsym)
     3271
     3272(define-ppc32-subprim-call-vinsn (ksignalerr) .SPksignalerr)
     3273
     3274(define-ppc32-subprim-call-vinsn (subtag-misc-ref) .SPsubtag-misc-ref)
     3275
     3276(define-ppc32-subprim-call-vinsn (subtag-misc-set) .SPsubtag-misc-set)
     3277
     3278(define-ppc32-subprim-call-vinsn (mkunwind) .SPmkunwind)
     3279
     3280(define-ppc32-subprim-call-vinsn (progvsave) .SPsvar-progvsave)
     3281
     3282(define-ppc32-subprim-jump-vinsn (progvrestore) .SPsvar-progvrestore)
     3283
     3284(define-ppc32-subprim-call-vinsn (syscall) .SPsyscall)
     3285
     3286(define-ppc32-subprim-call-vinsn (newblocktag) .SPnewblocktag)
     3287
     3288(define-ppc32-subprim-call-vinsn (newgotag) .SPnewgotag)
     3289
     3290(define-ppc32-subprim-call-vinsn (misc-ref) .SPmisc-ref)
     3291
     3292(define-ppc32-subprim-call-vinsn (misc-set) .SPmisc-set)
     3293
     3294(define-ppc32-subprim-call-vinsn (gets64) .SPgets64)
     3295
     3296(define-ppc32-subprim-call-vinsn (getu64) .SPgetu64)
     3297
     3298(define-ppc32-subprim-call-vinsn (makeu64) .SPmakeu64)
     3299
     3300(define-ppc32-subprim-call-vinsn (makes64) .SPmakes64)
     3301
     3302(define-ppc32-vinsn (darwin-syscall :call :subprim-call) (()
    33373303                                                        ())
    33383304  (stw ppc::rzero ppc32::c-frame.crsave ppc::sp)
    33393305  (bla .SPdarwin-syscall))
    33403306
    3341 (define-ppc-vinsn (darwin-syscall-s64 :call :subprim-call) (()
     3307(define-ppc32-vinsn (darwin-syscall-s64 :call :subprim-call) (()
    33423308                                                            ())
    33433309  (stw ppc::sp ppc32::c-frame.crsave ppc::sp)
    33443310  (bla .SPdarwin-syscall))
    33453311
    3346 (define-ppc-subprim-call-vinsn (eabi-ff-call) .SPeabi-ff-call)
    3347 
    3348 (define-ppc-subprim-call-vinsn (poweropen-ff-call) .SPffcall)
    3349 
    3350 (define-ppc-subprim-call-vinsn (poweropen-ff-callX) .SPffcallX)
     3312(define-ppc32-subprim-call-vinsn (eabi-ff-call) .SPeabi-ff-call)
     3313
     3314(define-ppc32-subprim-call-vinsn (poweropen-ff-call) .SPffcall)
     3315
     3316(define-ppc32-subprim-call-vinsn (poweropen-ff-callX) .SPffcallX)
    33513317
    33523318
Note: See TracChangeset for help on using the changeset viewer.