Changeset 13437
- Timestamp:
- Feb 6, 2010, 11:00:33 PM (15 years ago)
- File:
-
- 1 edited
-
trunk/source/compiler/nx1.lisp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/compiler/nx1.lisp
r13262 r13437 2190 2190 (defnx1 nx1-symvector ((%symptr->symvector) (%symvector->symptr)) (arg) 2191 2191 (make-acode (%nx1-default-operator) (nx1-form arg))) 2192 2192 2193 2193 2194 (defnx1 nx1-ash (ash) (&whole call &environment env num amt) 2194 2195 (let* ((unsigned-natural-type (target-word-size-case … … 2208 2209 (nx1-form num)) 2209 2210 (if (nx-form-typep num unsigned-natural-type env) 2210 (make-acode (%nx1-operator natural-shift-right) 2211 (nx1-form num) 2212 (make-acode (%nx1-operator fixnum) 2213 (min (1- max) (- amt)))) 2211 (if (< (- amt) max) 2212 (make-acode (%nx1-operator natural-shift-right) 2213 (nx1-form num) 2214 (make-acode (%nx1-operator fixnum) 2215 (- amt))) 2216 (nx1-form `(progn (require-type ,num 'integer) 0) env)) 2214 2217 (nx1-treat-as-call call)))) 2215 2218 ((and (fixnump amt)
Note:
See TracChangeset
for help on using the changeset viewer.
