[llvm-commits] CVS: llvm/lib/Target/X86/README.txt 
    Chris Lattner 
    lattner at cs.uiuc.edu
       
    Thu Feb  2 11:16:45 PST 2006
    
    
  
Changes in directory llvm/lib/Target/X86:
README.txt updated: 1.43 -> 1.44
---
Log message:
add a note, I have no idea how important this is.
---
Diffs of the changes:  (+24 -0)
 README.txt |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+)
Index: llvm/lib/Target/X86/README.txt
diff -u llvm/lib/Target/X86/README.txt:1.43 llvm/lib/Target/X86/README.txt:1.44
--- llvm/lib/Target/X86/README.txt:1.43	Thu Feb  2 00:36:48 2006
+++ llvm/lib/Target/X86/README.txt	Thu Feb  2 13:16:34 2006
@@ -350,3 +350,27 @@
 None of the FPStack instructions are handled in
 X86RegisterInfo::foldMemoryOperand, which prevents the spiller from
 folding spill code into the instructions.
+
+//===---------------------------------------------------------------------===//
+
+In many cases, LLVM generates code like this:
+
+_test:
+        movl 8(%esp), %eax
+        cmpl %eax, 4(%esp)
+        setl %al
+        movzbl %al, %eax
+        ret
+
+on some processors (which ones?), it is more efficient to do this:
+
+_test:
+        movl 8(%esp), %ebx
+	xor %eax, %eax
+        cmpl %ebx, 4(%esp)
+        setl %al
+        ret
+
+Doing this correctly is tricky though, as the xor clobbers the flags.
+
+
    
    
More information about the llvm-commits
mailing list