From 253945899ba32793894b9983bce7cce3cb90b6d6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 2 Nov 2007 17:04:20 +0000 Subject: [PATCH] add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43642 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/README.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 567d5c4ebbd..9a5ca427e1e 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 -- 2.34.1