[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