summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
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
commit389d430c49eec9cc6a9318b7f64992f382a425c4 (patch)
tree4aea4e2f46f6de6a4b6c9483df8148e080e2c5f4 /llvm/lib/Target
parentbfd60eedd7d4365fa7399c8a37bdd59d34a1e04d (diff)
downloadbcm5719-llvm-389d430c49eec9cc6a9318b7f64992f382a425c4.tar.gz
bcm5719-llvm-389d430c49eec9cc6a9318b7f64992f382a425c4.zip
add a note
llvm-svn: 43642
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/README.txt20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/README.txt b/llvm/lib/Target/X86/README.txt
index 567d5c4ebbd..9a5ca427e1e 100644
--- a/llvm/lib/Target/X86/README.txt
+++ b/llvm/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
OpenPOWER on IntegriCloud