Minor x86 README updates.
authorEli Friedman <eli.friedman@gmail.com>
Sat, 19 Feb 2011 21:54:28 +0000 (21:54 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Sat, 19 Feb 2011 21:54:28 +0000 (21:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126054 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/README.txt

index a7a477d2d5b833b5509af047cf454fd7fb865b1c..c10e1709f667792b4588019a674e30a410839db2 100644 (file)
@@ -710,23 +710,17 @@ This:
         { return !full_add(a, b).second; }
 
 Should compile to:
+       addl    %esi, %edi
+       setae   %al
+       movzbl  %al, %eax
+       ret
 
-
-        _Z11no_overflowjj:
-                addl    %edi, %esi
-                setae   %al
-                ret
-
-FIXME: That code looks wrong; bool return is normally defined as zext.
-
-on x86-64, not:
-
-__Z11no_overflowjj:
-        addl    %edi, %esi
-        cmpl    %edi, %esi
-        setae   %al
-        movzbl  %al, %eax
-        ret
+on x86-64, instead of the rather stupid-looking:
+       addl    %esi, %edi
+       setb    %al
+       xorb    $1, %al
+       movzbl  %al, %eax
+       ret
 
 
 //===---------------------------------------------------------------------===//
@@ -994,10 +988,10 @@ _foo:
 
 instead of:
 _foo:
-        movl    $255, %eax
-        orl     4(%esp), %eax
-        andl    $65535, %eax
-        ret
+       movl    $65280, %eax
+       andl    4(%esp), %eax
+       orl     $255, %eax
+       ret
 
 //===---------------------------------------------------------------------===//