summaryrefslogtreecommitdiffstats
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
commit78b9851a3a6f5d26e46576f65b1dc4dc5360aa90 (patch)
tree17bc8e5730713e8fa208a064785ee96e2c13115b
parentb94ad3ec2248077fa42355e658df0f92ae64fb25 (diff)
downloadbcm5719-llvm-78b9851a3a6f5d26e46576f65b1dc4dc5360aa90.tar.gz
bcm5719-llvm-78b9851a3a6f5d26e46576f65b1dc4dc5360aa90.zip
Minor x86 README updates.
llvm-svn: 126054
-rw-r--r--llvm/lib/Target/X86/README.txt34
1 files changed, 14 insertions, 20 deletions
diff --git a/llvm/lib/Target/X86/README.txt b/llvm/lib/Target/X86/README.txt
index a7a477d2d5b..c10e1709f66 100644
--- a/llvm/lib/Target/X86/README.txt
+++ b/llvm/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
//===---------------------------------------------------------------------===//
OpenPOWER on IntegriCloud