Changeset 14776
- Timestamp:
- May 2, 2011, 4:08:22 PM (14 years ago)
- Location:
- trunk/source/compiler/X86
- Files:
-
- 3 edited
-
X8632/x8632-vinsns.lisp (modified) (1 diff)
-
X8664/x8664-vinsns.lisp (modified) (1 diff)
-
x862.lisp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/compiler/X86/X8632/x8632-vinsns.lisp
r14338 r14776 4137 4137 ) 4138 4138 4139 (define-x8632-vinsn double-float-negate (((reg :double-float)) 4140 ((reg :double-float))) 4141 (pxor (:@ (:^ :const) (:% x8632::fn)) (:%xmm reg)) 4142 (:uuo-section) 4143 (:align 4) 4144 :const 4145 (:long 0) 4146 (:long #x-80000000) 4147 (:long 0) 4148 (:long 0)) 4149 4150 (define-x8632-vinsn single-float-negate (((reg :single-float)) 4151 ((reg :single-float))) 4152 (pxor (:@ (:^ :const) (:% x8632::fn)) (:%xmm reg)) 4153 (:uuo-section) 4154 (:align 4) 4155 :const 4156 (:long #x80000000) 4157 (:long 0) 4158 (:long 0) 4159 (:long 0)) 4160 4139 4161 (queue-fixup 4140 4162 (fixup-x86-vinsn-templates -
trunk/source/compiler/X86/X8664/x8664-vinsns.lisp
r14457 r14776 4557 4557 ())) 4558 4558 4559 (define-x8664-vinsn double-float-negate (((reg :double-float)) 4560 ((reg :double-float))) 4561 (pxor (:@ (:^ :const) (:% x8664::fn)) (:%xmm reg)) 4562 (:uuo-section) 4563 (:align 4) 4564 :const 4565 (:long 0) 4566 (:long #x-80000000) 4567 (:long 0) 4568 (:long 0)) 4569 4570 (define-x8664-vinsn single-float-negate (((reg :single-float)) 4571 ((reg :single-float))) 4572 (pxor (:@ (:^ :const) (:% x8664::fn)) (:%xmm reg)) 4573 (:uuo-section) 4574 (:align 4) 4575 :const 4576 (:long #x80000000) 4577 (:long 0) 4578 (:long 0) 4579 (:long 0)) 4580 4559 4581 (queue-fixup 4560 4582 (fixup-x86-vinsn-templates -
trunk/source/compiler/X86/x862.lisp
r14695 r14776 7351 7351 7352 7352 (defx862 x862-minus1 minus1 (seg vreg xfer form) 7353 (x862-unary-builtin seg vreg xfer '%negate form)) 7353 (or (acode-optimize-minus1 seg vreg xfer form *x862-trust-declarations*) 7354 (x862-unary-builtin seg vreg xfer '%negate form))) 7355 7356 (defx862 x862-%double-float-negate %double-float-negate (seg vreg xfer form) 7357 (if (and vreg 7358 (= (hard-regspec-class vreg) hard-reg-class-fpr) 7359 (= (get-regspec-mode vreg) hard-reg-class-fpr-mode-double)) 7360 (progn 7361 (x862-one-targeted-reg-form seg form vreg) 7362 (! double-float-negate vreg)) 7363 (with-fp-target () (r1 :double-float) 7364 (setq r1 (x862-one-untargeted-reg-form seg form r1)) 7365 (! double-float-negate r1) 7366 (ensuring-node-target (target vreg) 7367 (x862-copy-register seg target r1)))) 7368 (^)) 7369 7370 (defx862 x862-%single-float-negate %single-float-negate (seg vreg xfer form) 7371 (if (and vreg 7372 (= (hard-regspec-class vreg) hard-reg-class-fpr) 7373 (= (get-regspec-mode vreg) hard-reg-class-fpr-mode-single)) 7374 (progn 7375 (x862-one-targeted-reg-form seg form vreg) 7376 (! single-float-negate vreg)) 7377 (with-fp-target () (r1 :single-float) 7378 (setq r1 (x862-one-untargeted-reg-form seg form r1)) 7379 (! single-float-negate r1) 7380 (ensuring-node-target (target vreg) 7381 (x862-copy-register seg target r1)))) 7382 (^)) 7354 7383 7355 7384 ;;; Return T if form is declare to be something that couldn't be a fixnum.
Note:
See TracChangeset
for help on using the changeset viewer.
