Changeset 5450
- Timestamp:
- Nov 3, 2006, 11:47:00 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/ccl/compiler/X86/X8664/x8664-vinsns.lisp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/compiler/X86/X8664/x8664-vinsns.lisp
r5370 r5450 202 202 (v :lisp) 203 203 (idx :u32const))) 204 (movq (:%q val) (:@ idx(:%q v))))204 (movq (:%q val) (:@ (:apply + x8664::misc-data-offset (:apply ash idx 3)) (:%q v)))) 205 205 206 206 (define-x8664-vinsn misc-set-s64 (() … … 3803 3803 (shrq (:$ub amt) (:%q dest))) 3804 3804 3805 (define-x8664-vinsn trap-unless-simple-array-2 (() 3806 ((object :lisp) 3807 (expected-flags :u32const) 3808 (type-error :u8const)) 3809 ((tag :u8))) 3810 3811 (movb (:%b object) (:%b tag)) 3812 (andb (:$b x8664::tagmask) (:%b tag)) 3813 (cmpb (:$b x8664::tag-misc) (:%b tag)) 3814 (jne :bad) 3815 (cmpb (:$b x8664::subtag-arrayH) (:@ x8664::misc-subtag-offset (:%q object))) 3816 (jne :bad) 3817 (cmpq (:$b (ash 2 x8664::fixnumshift)) (:@ x8664::arrayH.rank (:%q object))) 3818 (jne :bad) 3819 (cmpq (:$l (:apply ash expected-flags x8664::fixnumshift)) (:@ x8664::arrayH.flags (:%q object))) 3820 (je.pt :good) 3821 :bad 3822 (uuo-error-reg-not-type (:%q object) (:$ub type-error)) 3823 :good) 3824 3805 3825 (define-x8664-vinsn trap-unless-array-header (() 3806 3826 ((object :lisp)) … … 4006 4026 4007 4027 4008 (define-x8664-vinsn 2d-unscaled-index (((dest :u64)) 4009 ((array :lisp) 4010 (i :imm) 4011 (j :imm) 4012 (dim1 :u64))) 4013 ((:not (:pred = 4014 (:apply %hard-regspec-value dim1) 4015 (:apply %hard-regspec-value dest))) 4016 (movq (:% dim1) (:% dest))) 4017 (imulq (:%q i) (:%q dest)) 4018 (addq (:%q j) (:%q dest))) 4028 (define-x8664-vinsn 2d-unscaled-index (((dest :imm) 4029 (dim1 :u64)) 4030 ((dim1 :u64) 4031 (i :imm) 4032 (j :imm))) 4033 4034 (imulq (:%q i) (:%q dim1)) 4035 (leaq (:@ (:%q j) (:%q dim1)) (:%q dest))) 4019 4036 4020 4037 (define-x8664-vinsn branch-unless-both-args-fixnums (()
Note:
See TracChangeset
for help on using the changeset viewer.
