Changeset 15059


Ignore:
Timestamp:
Nov 5, 2011, 8:32:00 AM (8 years ago)
Author:
gb
Message:

Same as r15058, for x86.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/compiler/X86/x862.lisp

    r15052 r15059  
    72927292           (otherform (when fiximm (if fix1 form2 form1)))
    72937293           (out-of-line (backend-get-next-label))
    7294            (done (backend-get-next-label)))
     7294           (done (backend-get-next-label))
     7295           (continue (backend-get-next-label)))
     7296       
    72957297      (if otherform
    72967298        (x862-one-targeted-reg-form seg otherform ($ *x862-arg-y*))
     
    73137315          (unless (or (and fix2 (not fix1)) (eq cr-bit x86::x86-e-bits))
    73147316            (setq cr-bit (x862-reverse-cr-bit cr-bit))))
    7315         (if (not true-p)
    7316           (setq cr-bit (logxor 1 cr-bit)))
    7317         (! cr-bit->boolean ($ *x862-arg-z*) cr-bit)
    7318         (-> done)
     7317        (if (and vreg (eq (hard-regspec-class vreg) hard-reg-class-crf))
     7318          (x862-branch seg (x862-cd-merge xfer continue) cr-bit true-p)
     7319          (progn
     7320            (if (not true-p)
     7321              (setq cr-bit (logxor 1 cr-bit)))
     7322            (! cr-bit->boolean ($ *x862-arg-z*) cr-bit)
     7323            (-> done)))
    73197324        (@ out-of-line)
    73207325        (when otherform
     
    73277332        (@ done)
    73287333        (<- ($ *x862-arg-z*))
    7329         (^)))))
     7334        (^)
     7335        (@ continue)))))
    73307336         
    73317337       
Note: See TracChangeset for help on using the changeset viewer.