<div dir="ltr">Adding Chandler too. He was looking into this a while back after we determined this wasn't the right way to fix the codegen problems it was trying to address.</div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Wed, Feb 19, 2014 at 12:08 AM, Sergey Okunev <span dir="ltr"><<a href="mailto:sergey.k.okunev@gmail.com" target="_blank">sergey.k.okunev@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi grosbach,<br>
<br>
Added 'Atom' check in 'X86TargetLowering::EmitCmp' func.<br>
<br>
<a href="http://llvm-reviews.chandlerc.com/D2824" target="_blank">http://llvm-reviews.chandlerc.com/D2824</a><br>
<br>
Files:<br>
  lib/Target/X86/X86ISelLowering.cpp<br>
<br>
Index: lib/Target/X86/X86ISelLowering.cpp<br>
===================================================================<br>
--- lib/Target/X86/X86ISelLowering.cpp<br>
+++ lib/Target/X86/X86ISelLowering.cpp<br>
@@ -9774,12 +9774,14 @@<br>
<br>
   if ((Op0.getValueType() == MVT::i8 || Op0.getValueType() == MVT::i16 ||<br>
        Op0.getValueType() == MVT::i32 || Op0.getValueType() == MVT::i64)) {<br>
-    // Do the comparison at i32 if it's smaller. This avoids subregister<br>
-    // aliasing issues. Keep the smaller reference if we're optimizing for<br>
-    // size, however, as that'll allow better folding of memory operations.<br>
+    // Do the comparison at i32 if it's smaller, besides the Atom case.<br>
+    // This avoids subregister aliasing issues. Keep the smaller reference<br>
+    // if we're optimizing for size, however, as that'll allow better folding<br>
+    // of memory operations.<br>
     if (Op0.getValueType() != MVT::i32 && Op0.getValueType() != MVT::i64 &&<br>
         !DAG.getMachineFunction().getFunction()->getAttributes().hasAttribute(<br>
-             AttributeSet::FunctionIndex, Attribute::MinSize)) {<br>
+             AttributeSet::FunctionIndex, Attribute::MinSize) &&<br>
+        !Subtarget->isAtom()) {<br>
       unsigned ExtendOp =<br>
           isX86CCUnsigned(X86CC) ? ISD::ZERO_EXTEND : ISD::SIGN_EXTEND;<br>
       Op0 = DAG.getNode(ExtendOp, dl, MVT::i32, Op0);<br>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>~Craig
</div>