Changeset 14762
- Timestamp:
- Apr 30, 2011, 1:37:21 AM (14 years ago)
- File:
-
- 1 edited
-
trunk/source/compiler/ARM/arm-vinsns.lisp (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/compiler/ARM/arm-vinsns.lisp
r14707 r14762 656 656 (((dest :double-float)) 657 657 ((src :address) 658 (index :s16const)) 659 ((low (:u32 #.arm::imm0)) 660 (high (:u32 #.arm::imm1)))) 661 (ldrd low (:@ src (:$ index))) 662 (fmdrr dest low high)) 658 (index :s16const))) 659 (fldd dest (:@ src (:$ index))) 660 ) 663 661 664 662 (define-arm-vinsn (mem-ref-double-float :predicatable) 665 (((dest :double-float)) 663 (((dest :double-float) 664 (src :address)) 666 665 ((src :address) 667 (index :s32)) 668 ((low (:u32 #.arm::imm0)) 669 (high (:u32 #.arm::imm1)))) 670 (ldrd low (:@ src index)) 671 (fmdrr dest low high)) 666 (index :s32))) 667 (add src src index) 668 (fldd dest (:@ src (:$ 0)))) 672 669 673 670 (define-arm-vinsn (mem-set-c-double-float :predicatable) … … 700 697 (((dest :single-float)) 701 698 ((src :address) 702 (index : s32))699 (index :lisp)) 703 700 ((temp :u32))) 704 (ldr temp (:@ src index))701 (ldr temp (:@ src (:asr index (:$ arm::fixnumshift)))) 705 702 (fmsr dest temp)) 706 703 … … 1589 1586 (bla .SPcheck-fpu-exception)) 1590 1587 1588 (define-arm-vinsn (double-float-negate :predicatable) (((dest :double-float)) 1589 ((src :double-float))) 1590 (fnegd dest src)) 1591 1592 1591 1593 1592 1594 (define-arm-vinsn single-float-compare (((crf :crf)) … … 1666 1668 (bla .SPcheck-fpu-exception)) 1667 1669 1670 (define-arm-vinsn (single-float-negate :predicatable) (((dest :single-float)) 1671 ((src :single-float))) 1672 (fnegs dest src)) 1668 1673 1669 1674 … … 3070 3075 :defined) 3071 3076 3072 (define-arm-vinsn (temp-push-unboxed-word :push :word : sp :predicatable)3077 (define-arm-vinsn (temp-push-unboxed-word :push :word :csp :predicatable) 3073 3078 3074 3079 (() … … 3079 3084 (str w (:@ sp (:$ 4)))) 3080 3085 3081 (define-arm-vinsn (temp-pop-unboxed-word :pop :word : sp :predicatable)3086 (define-arm-vinsn (temp-pop-unboxed-word :pop :word :csp :predicatable) 3082 3087 3083 3088 (((w :u32)) … … 3086 3091 (add sp sp (:$ arm::dnode-size))) 3087 3092 3088 (define-arm-vinsn (temp-push-double-float :push :doubleword : sp :predicatable)3093 (define-arm-vinsn (temp-push-double-float :push :doubleword :csp :predicatable) 3089 3094 3090 3095 (() … … 3095 3100 (fstd d (:@ sp (:$ 8)))) 3096 3101 3097 (define-arm-vinsn (temp-pop-double-float :pop :doubleword : sp :predicatable)3102 (define-arm-vinsn (temp-pop-double-float :pop :doubleword :csp :predicatable) 3098 3103 3099 3104 (() … … 3113 3118 3114 3119 3115 (define-arm-vinsn (temp-pop-single-float :pop :word : sp :predicatable)3120 (define-arm-vinsn (temp-pop-single-float :pop :word :csp :predicatable) 3116 3121 3117 3122 (()
Note:
See TracChangeset
for help on using the changeset viewer.
