Changeset 15347


Ignore:
Timestamp:
Apr 28, 2012, 10:43:24 AM (7 years ago)
Author:
gb
Message:

Remove unused FIXNUM-SUBTRACT-FROM vinsn.
In FIXNUM-SUB2, avoid copies/use of temp reg unless necessary.

Location:
trunk/source/compiler/X86
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/X86/X8632/x8632-vinsns.lisp

    r15259 r15347  
    10541054  (movl (:$self 0) (:% x8632::fn)))
    10551055
    1056 (define-x8632-vinsn fixnum-subtract-from (((dest t)
    1057                                            (y t))
    1058                                           ((y t)
    1059                                            (x t)))
    1060   (subl (:%l y) (:%l x)))
    10611056
    10621057(define-x8632-vinsn %ilognot (((dest :imm)
     
    12961291                                   (y :imm))
    12971292                                  ((temp :imm)))
    1298   (movl (:%l x) (:%l temp))
    1299   (subl (:%l y) (:%l temp))
    1300   (movl (:%l temp) (:%l dest)))
     1293  ((:pred = (:apply %hard-regspec-value x) (:apply %hard-regspec-value dest))
     1294   (subl (:%l y) (:%l dest)))
     1295  ((:not (:pred = (:apply %hard-regspec-value x) (:apply %hard-regspec-value dest)))
     1296   ((:pred = (:apply %hard-regspec-value y) (:apply %hard-regspec-value dest))
     1297    (movl (:%l x) (:%l temp))
     1298    (subl (:%l y) (:%l temp))
     1299    (movl (:%l temp) (:%l dest)))
     1300   ((:not (:pred = (:apply %hard-regspec-value y) (:apply %hard-regspec-value dest)))
     1301    (movl (:%l x) (:%l dest))
     1302    (subl (:%l y) (:%l dest)))))
    13011303
    13021304(define-x8632-vinsn fixnum-add3 (((dest :imm))
  • trunk/source/compiler/X86/X8664/x8664-vinsns.lisp

    r15283 r15347  
    12011201  (leaq (:@ (:^ entry) (:% x8664::rip)) (:%q x8664::fn)))
    12021202
    1203 (define-x8664-vinsn fixnum-subtract-from (((dest t)
    1204                                            (y t))
    1205                                           ((y t)
    1206                                            (x t)))
    1207   (subq (:%q y) (:%q x)))
    12081203
    12091204(define-x8664-vinsn %logand-c (((dest t)
     
    14291424                                   (y :imm))
    14301425                                  ((temp :imm)))
    1431   (movq (:%q x) (:%q temp))
    1432   (subq (:%q y) (:%q temp))
    1433   (movq (:%q temp) (:%q dest)))
     1426  ((:pred = (:apply %hard-regspec-value x) (:apply %hard-regspec-value dest))
     1427   (subq (:%q y) (:%q dest)))
     1428  ((:not (:pred = (:apply %hard-regspec-value x) (:apply %hard-regspec-value dest)))
     1429   ((:pred = (:apply %hard-regspec-value y) (:apply %hard-regspec-value dest))
     1430    (movq (:%q x) (:%q temp))
     1431    (subq (:%q y) (:%q temp))
     1432    (movq (:%q temp) (:%q dest)))
     1433   ((:not (:pred = (:apply %hard-regspec-value y) (:apply %hard-regspec-value dest)))
     1434    (movq (:%q x) (:%q dest))
     1435    (subq (:%q y) (:%q dest)))))
    14341436
    14351437
Note: See TracChangeset for help on using the changeset viewer.