Changeset 15121
- Timestamp:
- Dec 8, 2011, 10:23:53 AM (13 years ago)
- File:
-
- 1 edited
-
trunk/source/compiler/ARM/arm2.lisp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/compiler/ARM/arm2.lisp
r15111 r15121 3921 3921 (! single->node dest src)))))) 3922 3922 (if (and src-fpr dest-fpr) 3923 (unless (eql dest-fpr src-fpr) 3923 (unless (and (eql dest-fpr src-fpr) 3924 (eql dest-mode src-mode)) 3924 3925 (case src-mode 3925 3926 (#.hard-reg-class-fpr-mode-single … … 3928 3929 (! single-to-single dest src)) 3929 3930 (#.hard-reg-class-fpr-mode-double 3930 (! single-to-double dest src)))) 3931 (if *arm2-float-safety* 3932 (! single-to-double-safe dest src) 3933 (! single-to-double dest src))))) 3931 3934 (#.hard-reg-class-fpr-mode-double 3932 3935 (case dest-mode … … 9155 9158 (if (null vreg) 9156 9159 (arm2-form seg vreg xfer arg) 9157 (if (and (= (hard-regspec-class vreg) hard-reg-class-fpr) 9158 (= (get-regspec-mode vreg) hard-reg-class-fpr-mode-double)) 9159 (progn 9160 (arm2-one-untargeted-reg-form 9161 seg arg 9162 (make-wired-lreg (hard-regspec-value vreg) 9163 :class hard-reg-class-fpr 9164 :mode hard-reg-class-fpr-mode-single)) 9165 (^)) 9166 (with-fp-target () (sreg :single-float) 9167 (arm2-one-targeted-reg-form seg arg sreg) 9168 (<- (set-regspec-mode sreg hard-reg-class-fpr-mode-double)) 9169 (^))))) 9160 (with-fp-target () (sreg :single-float) 9161 (setq sreg (arm2-one-untargeted-reg-form seg arg sreg)) 9162 (if (and (= (hard-regspec-class vreg) hard-reg-class-fpr) 9163 (= (get-regspec-mode vreg) hard-reg-class-fpr-mode-double)) 9164 (<- sreg) 9165 (with-fp-target (sreg) (dreg :double-float) 9166 (arm2-copy-register seg dreg sreg) 9167 (<- dreg))) 9168 (^)))) 9170 9169 9171 9170 (defarm2 arm2-%symptr->symvector %symptr->symvector (seg vreg xfer arg)
Note:
See TracChangeset
for help on using the changeset viewer.
