X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fppc%2Fmove.lisp;h=9ef06419d73a38613a17c8c972089866604e152c;hb=774bf2a2d0442bd8d854ae83db86a65bd9914f26;hp=8d00afcb92bc4d15f06e97d15ae82de1c5244341;hpb=cab2c71bb1bb8a575d9eebdae335e731daa64183;p=sbcl.git diff --git a/src/compiler/ppc/move.lisp b/src/compiler/ppc/move.lisp index 8d00afc..9ef0641 100644 --- a/src/compiler/ppc/move.lisp +++ b/src/compiler/ppc/move.lisp @@ -208,7 +208,7 @@ (:generator 20 (move x arg) (let ((done (gen-label))) - (inst mcrxr :cr0) ; clear sticky overflow bits in XER, CR0 + (inst mtxer zero-tn) ; clear sticky overflow bit in XER, CR0 (inst addo temp x x) ; set XER OV if top two bits differ (inst addo. temp temp temp) ; set CR0 SO if any top three bits differ (inst slwi y x 2) ; assume fixnum (tagged ok, maybe lost some high bits)