aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/README.txt
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-02-19 21:54:28 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-02-19 21:54:28 +0000
commit86b115c78b6c50c7fedbeab80128b2dcbc3cfc57 (patch)
treecebce34ef762c0c5b730dc73488384f1fa8456e7 /lib/Target/X86/README.txt
parent37d42f8a5072bfd216445b8c1f983686dea0ea1c (diff)
downloadexternal_llvm-86b115c78b6c50c7fedbeab80128b2dcbc3cfc57.zip
external_llvm-86b115c78b6c50c7fedbeab80128b2dcbc3cfc57.tar.gz
external_llvm-86b115c78b6c50c7fedbeab80128b2dcbc3cfc57.tar.bz2
Minor x86 README updates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126054 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/README.txt')
-rw-r--r--lib/Target/X86/README.txt34
1 files changed, 14 insertions, 20 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt
index a7a477d..c10e170 100644
--- a/lib/Target/X86/README.txt
+++ b/lib/Target/X86/README.txt
@@ -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
//===---------------------------------------------------------------------===//