Changeset 16235 for release


Ignore:
Timestamp:
Sep 25, 2014, 3:48:32 PM (4 years ago)
Author:
rme
Message:

Merge from trunk. (See ticket:1237)

Location:
release/1.10/source
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • release/1.10/source

  • release/1.10/source/compiler/X86/X8632/x8632-vinsns.lisp

    r16192 r16235  
    113113                                    (unscaled-idx :imm))
    114114                                   ())
    115   (movq (:%xmm val) (:@ x8632::complex-single-float.realpart (:%l  v) (:%l unscaled-idx))))
     115  (movq (:%xmm val) (:@ x8632::complex-single-float.realpart (:%l  v) (:%l unscaled-idx) 2)))
    116116
    117117(define-x8632-vinsn misc-set-complex-double-float (()
     
    119119                                                    (v :lisp)
    120120                                                    (unscaled-idx :imm))
    121                                    ())
    122   (movdqu (:%xmm val) (:@ x8632::complex-double-float.realpart (:%l  v) (:%l unscaled-idx) 2)))
     121                                   ())
     122  (movdqu (:%xmm val) (:@ x8632::complex-double-float.realpart (:%l  v) (:%l unscaled-idx) 4)))
    123123
    124124(define-x8632-vinsn misc-ref-u8 (((dest :u8))
     
    160160                                                    ((v :lisp)
    161161                                                     (scaled-idx :imm)))
    162   (movq (:@ x8632::complex-single-float.realpart (:%l v) (:%l scaled-idx)) (:%xmm dest)))
    163 
    164 (define-x8632-vinsn misc-ref-c-complex-single--float  (((dest :complex-single-float))
     162  (movq (:@ x8632::complex-single-float.realpart (:%l v) (:%l scaled-idx) 2) (:%xmm dest)))
     163
     164(define-x8632-vinsn misc-ref-c-complex-single-float  (((dest :complex-single-float))
    165165                                                       ((v :lisp)
    166166                                                        (idx :s32const)))
     
    170170                                                    ((v :lisp)
    171171                                                     (scaled-idx :imm)))
    172   (movdqu (:@ x8632::complex-double-float.realpart (:%l v) (:%l scaled-idx) 2) (:%xmm dest)))
     172  (movdqu (:@ x8632::complex-double-float.realpart (:%l v) (:%l scaled-idx) 4) (:%xmm dest)))
    173173
    174174(define-x8632-vinsn misc-ref-s32 (((dest :s32))
  • release/1.10/source/compiler/X86/X8664/x8664-vinsns.lisp

    r16183 r16235  
    7171                                                    ((v :lisp)
    7272                                                     (scaled-idx :imm)))
    73   (movq (:@ x8664::misc-data-offset (:%q v) (:%q scaled-idx)) (:%xmm dest)))
     73  (movq (:@ x8664::complex-single-float.realpart (:%q v) (:%q scaled-idx)) (:%xmm dest)))
    7474
    7575(define-x8664-vinsn misc-ref-complex-double-float  (((dest :complex-double-float))
    7676                                                    ((v :lisp)
    7777                                                     (scaled-idx :imm)))
    78   (movapd (:@ x8664::misc-data-offset (:%q v) (:%q scaled-idx) 2) (:%xmm dest)))
     78  (movapd (:@ x8664::complex-double-float.realpart (:%q v) (:%q scaled-idx) 2) (:%xmm dest)))
    7979
    8080(define-x8664-vinsn misc-ref-c-double-float  (((dest :double-float))
     
    8484
    8585
    86 (define-x8664-vinsn misc-ref-c-complex-single--float  (((dest :complex-single-float))
     86(define-x8664-vinsn misc-ref-c-complex-single-float  (((dest :complex-single-float))
    8787                                                       ((v :lisp)
    8888                                                        (idx :s32const)))
    89   (movq (:@ (:apply + x8664::misc-data-offset (:apply ash idx x8664::word-shift)) (:%q v)) (:%xmm dest)))
     89  (movq (:@ (:apply + x8664::complex-single-float.realpart (:apply ash idx x8664::word-shift)) (:%q v)) (:%xmm dest)))
    9090
    9191(define-x8664-vinsn misc-ref-node  (((dest :lisp))
     
    126126                                    (unscaled-idx :imm))
    127127                                   ())
    128   (movq (:%xmm val) (:@ x8664::misc-data-offset (:%q  v) (:%q unscaled-idx))))
     128  (movq (:%xmm val) (:@ x8664::complex-single-float.realpart (:%q  v) (:%q unscaled-idx))))
    129129
    130130(define-x8664-vinsn misc-set-complex-double-float (()
  • release/1.10/source/compiler/X86/x862.lisp

    r16192 r16235  
    20712071                    (x862-box-u64 seg target u64-reg)))))))
    20722072          (is-128-bit
    2073            (with-fp-target () (fp-val :complex-single-float)
     2073           (with-fp-target () (fp-val :complex-double-float)
    20742074             (if (and (eql vreg-class hard-reg-class-fpr)
    2075                       (eql vreg-mode hard-reg-class-fpr-mode-complex-single-float))
     2075                      (eql vreg-mode hard-reg-class-fpr-mode-complex-double-float))
    20762076               (setq fp-val vreg))
    20772077             (if index-known-fixnum
     
    28292829               (is-128-bit
    28302830                (if index-known-fixnum
    2831                       (x862-absolute-natural seg unscaled-idx nil (ash index-known-fixnum (target-word-size-case (32 2) (64 3))))
     2831                      (x862-absolute-natural seg unscaled-idx nil (ash index-known-fixnum (target-word-size-case (32 2) (64 1))))
    28322832                      (! misc-set-complex-double-float unboxed-val-reg src unscaled-idx)))
    28332833                (is-64-bit
Note: See TracChangeset for help on using the changeset viewer.