Changeset 5512


Ignore:
Timestamp:
Nov 7, 2006, 7:37:49 PM (18 years ago)
Author:
Gary Byers
Message:

More (often redundant) vector-store vinsns.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/compiler/X86/X8664/x8664-vinsns.lisp

    r5450 r5512  
    8484  (movq (:%q val) (:@ x8664::misc-data-offset (:%q  v) (:%q unscaled-idx))))
    8585
     86(define-x8664-vinsn misc-set-immediate-node (()
     87                                             ((val :s32const)
     88                                              (v :lisp)
     89                                              (unscaled-idx :imm))
     90                                             ())
     91  (movq (:$l val) (:@ x8664::misc-data-offset (:%q  v) (:%q unscaled-idx))))
     92
    8693
    8794(define-x8664-vinsn misc-set-double-float (()
     
    198205  (movq (:%q val) (:@ x8664::misc-data-offset (:%q v) (:%q idx))))
    199206
     207(define-x8664-vinsn misc-set-immediate-u64 (()
     208                                            ((val :u32const)
     209                                             (v :lisp)
     210                                             (idx :u64)))
     211  (movq (:$l val) (:@ x8664::misc-data-offset (:%q v) (:%q idx))))
     212
    200213(define-x8664-vinsn misc-set-c-u64 (()
    201214                                    ((val :u64)
     
    204217  (movq (:%q val) (:@ (:apply + x8664::misc-data-offset (:apply ash idx 3)) (:%q v))))
    205218
     219(define-x8664-vinsn misc-set-immediate-c-u64 (()
     220                                              ((val :u32const)
     221                                               (v :lisp)
     222                                               (idx :u32const)))
     223  (movq (:$l val) (:@ (:apply + x8664::misc-data-offset (:apply ash idx 3)) (:%q v))))
     224
    206225(define-x8664-vinsn misc-set-s64 (()
    207226                                  ((val :s64)
     
    210229  (movq (:%q val) (:@ x8664::misc-data-offset  (:%q v) (:%q scaled-idx))))
    211230
     231(define-x8664-vinsn misc-set-immediate-s64 (()
     232                                            ((val :s32const)
     233                                             (v :lisp)
     234                                             (scaled-idx :imm)))
     235  (movq (:$l val) (:@ x8664::misc-data-offset  (:%q v) (:%q scaled-idx))))
     236
    212237
    213238(define-x8664-vinsn misc-set-c-s64 (()
     
    217242  (movq (:%q val) (:@ (:apply + x8664::misc-data-offset (:apply ash idx 3)) (:%q v))))
    218243
     244(define-x8664-vinsn misc-set-immediate-c-s64 (()
     245                                              ((val :s32const)
     246                                               (v :lisp)
     247                                               (idx :s32const)))
     248  (movq (:$l val) (:@ (:apply + x8664::misc-data-offset (:apply ash idx 3)) (:%q v))))
     249
    219250
    220251(define-x8664-vinsn misc-set-c-node (()
     
    223254                                     (idx :s32const)))
    224255  (movq (:%q val) (:@ (:apply + x8664::misc-data-offset (:apply ash idx 3)) (:%q v))))
     256
     257(define-x8664-vinsn misc-set-immediate-c-node (()
     258                                               ((val :s32const)
     259                                                (v :lisp)
     260                                                (idx :s32const)))
     261  (movq (:$l val) (:@ (:apply + x8664::misc-data-offset (:apply ash idx 3)) (:%q v))))
    225262
    226263(define-x8664-vinsn set-closure-forward-reference (()
     
    22642301   (movsbq (:@ index (:%q src)) (:%q dest))))
    22652302
     2303(define-x8664-vinsn misc-set-c-s8  (((val :s8))
     2304                                    ((v :lisp)
     2305                                     (idx :u32const))
     2306                                    ())
     2307  (movb (:%b val) (:@ (:apply + x8664::misc-data-offset idx) (:%q v))))
     2308
     2309(define-x8664-vinsn misc-set-s8  (((val :s8))
     2310                                  ((v :lisp)
     2311                                   (scaled-idx :s64))
     2312                                  ())
     2313  (movb (:%b val) (:@ x8664::misc-data-offset (:%q v) (:%q scaled-idx))))
     2314
    22662315(define-x8664-vinsn mem-ref-s8 (((dest :s8))
    22672316                                ((src :address)
     
    23342383  (movw (:%w val) (:@ x8664::misc-data-offset (:%q v) (:%q scaled-idx))))
    23352384
     2385(define-x8664-vinsn misc-set-c-s16  (()
     2386                                    ((val :s16)
     2387                                     (v :lisp)
     2388                                     (idx :s32const))
     2389                                    ())
     2390  (movw (:%w val) (:@ (:apply + x8664::misc-data-offset (:apply * 2 idx)) (:%q v))))
     2391
     2392
     2393(define-x8664-vinsn misc-set-s16  (()
     2394                                   ((val :s16)
     2395                                    (v :lisp)
     2396                                    (scaled-idx :s64))
     2397                                   ())
     2398  (movw (:%w val) (:@ x8664::misc-data-offset (:%q v) (:%q scaled-idx))))
     2399
    23362400(define-x8664-vinsn misc-set-c-u32  (()
    23372401                                     ((val :u32)
     
    23432407(define-x8664-vinsn misc-set-u32  (()
    23442408                                   ((val :u32)
     2409                                    (v :lisp)
     2410                                    (scaled-idx :s64))
     2411                                   ())
     2412  (movl (:%l val) (:@ x8664::misc-data-offset (:%q v) (:%q scaled-idx))))
     2413
     2414(define-x8664-vinsn misc-set-c-s32  (()
     2415                                     ((val :s32)
     2416                                      (v :lisp)
     2417                                      (idx :u32const)) ; sic
     2418                                     ())
     2419  (movl (:%l val) (:@ (:apply + x8664::misc-data-offset (:apply ash idx 2)) (:%q v))))
     2420
     2421(define-x8664-vinsn misc-set-s32  (()
     2422                                   ((val :s32)
    23452423                                    (v :lisp)
    23462424                                    (scaled-idx :s64))
Note: See TracChangeset for help on using the changeset viewer.