Changeset 5349
- Timestamp:
- Oct 14, 2006, 6:39:15 AM (18 years ago)
- Location:
- trunk/ccl/compiler/PPC
- Files:
-
- 2 edited
-
PPC32/ppc32-vinsns.lisp (modified) (1 diff)
-
PPC64/ppc64-vinsns.lisp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/compiler/PPC/PPC32/ppc32-vinsns.lisp
r5257 r5349 2855 2855 (stw unboxed ppc32::misc-data-offset dest) 2856 2856 :done) 2857 2858 (define-ppc32-vinsn fixnum-sub-overflow-inline-skip (((dest :lisp)) 2859 ((x :imm) 2860 (y :imm) 2861 (target :label)) 2862 ((cr0 (:crf 0)) 2863 (unboxed :s32) 2864 (header :u32))) 2865 (subo. dest x y) 2866 (bns+ cr0 target) 2867 (mtxer ppc::rzero) 2868 (srawi unboxed dest ppc32::fixnumshift) 2869 (li header ppc32::one-digit-bignum-header) 2870 (xoris unboxed unboxed (logand #xffff (ash #xffff (- 32 16 ppc32::fixnumshift)))) 2871 (la ppc::allocptr (- ppc32::fulltag-misc 8) ppc::allocptr) 2872 (twllt ppc::allocptr ppc::allocbase) 2873 (stw header ppc32::misc-header-offset ppc::allocptr) 2874 (mr dest ppc::allocptr) 2875 (clrrwi ppc::allocptr ppc::allocptr ppc32::ntagbits) 2876 (stw unboxed ppc32::misc-data-offset dest) 2877 (b target)) 2857 2878 2858 2879 ;;; This is, of course, also "subtract-immediate." -
trunk/ccl/compiler/PPC/PPC64/ppc64-vinsns.lisp
r5257 r5349 2792 2792 (std unboxed ppc64::misc-data-offset dest) 2793 2793 :done) 2794 2795 (define-ppc64-vinsn fixnum-sub-overflow-inline-skip (((dest :lisp)) 2796 ((x :imm) 2797 (y :imm) 2798 (done :label)) 2799 ((cr0 (:crf 0)) 2800 (unboxed :s64) 2801 (header :u64))) 2802 (subo. dest x y) 2803 (bns+ cr0 done) 2804 (mtxer ppc::rzero) 2805 (sradi unboxed dest ppc64::fixnumshift) 2806 (li header ppc64::two-digit-bignum-header) 2807 (rotldi unboxed unboxed 32) 2808 (xoris unboxed unboxed (logand #xffff (ash #xffff (- 32 16 ppc64::fixnumshift)))) 2809 (la ppc::allocptr (- ppc64::fulltag-misc 16) ppc::allocptr) 2810 (tdlt ppc::allocptr ppc::allocbase) 2811 (std header ppc64::misc-header-offset ppc::allocptr) 2812 (mr dest ppc::allocptr) 2813 (clrrdi ppc::allocptr ppc::allocptr ppc64::ntagbits) 2814 (std unboxed ppc64::misc-data-offset dest) 2815 (b done)) 2794 2816 2795 2817 ;;; This is, of course, also "subtract-immediate."
Note:
See TracChangeset
for help on using the changeset viewer.
