aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/README.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-11-02 17:04:20 +0000
committerChris Lattner <sabre@nondot.org>2007-11-02 17:04:20 +0000
commite7037c26b6ea939dbb9df9bf655ac4ea8232c23d (patch)
tree250499df5eeae464bbf9df2d35d218f6095171d5 /lib/Target/X86/README.txt
parentee9c9b0d7868ada6d88e959d6959f6848e320002 (diff)
downloadexternal_llvm-e7037c26b6ea939dbb9df9bf655ac4ea8232c23d.zip
external_llvm-e7037c26b6ea939dbb9df9bf655ac4ea8232c23d.tar.gz
external_llvm-e7037c26b6ea939dbb9df9bf655ac4ea8232c23d.tar.bz2
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43642 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/README.txt')
-rw-r--r--lib/Target/X86/README.txt20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt
index 567d5c4..9a5ca42 100644
--- a/lib/Target/X86/README.txt
+++ b/lib/Target/X86/README.txt
@@ -651,6 +651,26 @@ _f:
etc.
+Another is:
+int usesbb(unsigned int a, unsigned int b) {
+ return (a < b ? -1 : 0);
+}
+to:
+_usesbb:
+ movl 8(%esp), %eax
+ cmpl %eax, 4(%esp)
+ sbbl %eax, %eax
+ ret
+
+instead of:
+_usesbb:
+ xorl %eax, %eax
+ movl 8(%esp), %ecx
+ cmpl %ecx, 4(%esp)
+ movl $4294967295, %ecx
+ cmovb %ecx, %eax
+ ret
+
//===---------------------------------------------------------------------===//
Currently we don't have elimination of redundant stack manipulations. Consider