Changeset 5500


Ignore:
Timestamp:
Nov 6, 2006, 9:02:53 PM (18 years ago)
Author:
Gary Byers
Message:

Add vinsns for misc-set-s* and variants. (Identical to the unsigned
versions, but it helps not to have to remember which are implemented
and which aren't.)

Location:
trunk/ccl/compiler/PPC
Files:
2 edited

Legend:

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

    r5478 r5500  
    118118  (stwx val v scaled-idx))
    119119
     120(define-ppc32-vinsn misc-set-s32 (()
     121                                  ((val :s32)
     122                                   (v :lisp)
     123                                   (scaled-idx :u32)))
     124  (stwx val v scaled-idx))
     125
    120126                             
    121127(define-ppc32-vinsn misc-ref-single-float  (((dest :single-float))
     
    202208  (lha dest (:apply + ppc32::misc-data-offset (:apply ash idx 1)) v))
    203209
     210
     211(define-ppc32-vinsn misc-set-c-s16  (((val :s16))
     212                                     ((v :lisp)
     213                                      (idx :u32const))
     214                                     ())
     215  (sth val (:apply + ppc32::misc-data-offset (:apply ash idx 1)) v))
     216
     217(define-ppc32-vinsn misc-set-s16 (((val :s16))
     218                                  ((v :lisp)
     219                                   (scaled-idx :s32)))
     220  (sthx val v scaled-idx))
     221
    204222(define-ppc32-vinsn misc-ref-u8  (((dest :u8))
    205223                                  ((v :lisp)
     
    240258  (extsb dest dest))
    241259
     260(define-ppc32-vinsn misc-set-c-s8  (((val :s8))
     261                                    ((v :lisp)
     262                                     (idx :u32const))
     263                                    ())
     264  (stb val (:apply + ppc32::misc-data-offset idx) v))
     265
     266(define-ppc32-vinsn misc-set-s8  (((val :s8))
     267                                  ((v :lisp)
     268                                   (scaled-idx :u32))
     269                                  ())
     270  (stbx val v scaled-idx))
    242271
    243272(define-ppc32-vinsn misc-ref-c-bit (((dest :u8))
  • trunk/ccl/compiler/PPC/PPC64/ppc64-vinsns.lisp

    r5478 r5500  
    165165  (stwx val v scaled-idx))
    166166
     167(define-ppc64-vinsn misc-set-c-s32 (()
     168                                    ((val :s32)
     169                                     (v :lisp)
     170                                     (idx :u32const)))
     171  (stw val (:apply + ppc64::misc-data-offset (:apply ash idx 2)) v))
     172
     173(define-ppc64-vinsn misc-set-s32 (()
     174                                  ((val :s32)
     175                                   (v :lisp)
     176                                   (scaled-idx :u64)))
     177  (stwx val v scaled-idx))
    167178                             
    168179(define-ppc64-vinsn misc-ref-single-float  (((dest :single-float))
     
    249260  (lha dest (:apply + ppc64::misc-data-offset (:apply ash idx 1)) v))
    250261
     262(define-ppc64-vinsn misc-set-c-s16  (((val :s16))
     263                                     ((v :lisp)
     264                                      (idx :u32const))
     265                                     ())
     266  (sth val (:apply + ppc64::misc-data-offset (:apply ash idx 1)) v))
     267
     268(define-ppc64-vinsn misc-set-s16 (((val :s16))
     269                                  ((v :lisp)
     270                                   (scaled-idx :s64)))
     271  (sthx val v scaled-idx))
     272
    251273(define-ppc64-vinsn misc-ref-u8  (((dest :u8))
    252274                                  ((v :lisp)
     
    287309  (extsb dest dest))
    288310
     311(define-ppc64-vinsn misc-set-c-s8  (((val :s8))
     312                                    ((v :lisp)
     313                                     (idx :u32const))
     314                                    ())
     315  (stb val (:apply + ppc64::misc-data-offset idx) v))
     316
     317(define-ppc64-vinsn misc-set-s8  (((val :s8))
     318                                  ((v :lisp)
     319                                   (scaled-idx :u64))
     320                                  ())
     321  (stbx val v scaled-idx))
    289322
    290323(define-ppc64-vinsn misc-ref-c-bit (((dest :u8))
Note: See TracChangeset for help on using the changeset viewer.