summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-12-05 22:58:19 +0000
committerChris Lattner <sabre@nondot.org>2007-12-05 22:58:19 +0000
commitad05e1749169c01953da819ded8b85d448fee2d2 (patch)
tree786acde9121faa97cb38650cad93f64e33582dce /llvm/lib
parent152dd812b2308c1908c1956ac8ae4e6f31b47e13 (diff)
downloadbcm5719-llvm-ad05e1749169c01953da819ded8b85d448fee2d2.tar.gz
bcm5719-llvm-ad05e1749169c01953da819ded8b85d448fee2d2.zip
add a note
llvm-svn: 44637
Diffstat (limited to 'llvm/lib')
-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 af73658bb36..7705c1ba31e 100644
--- a/llvm/lib/Target/X86/README.txt
+++ b/llvm/lib/Target/X86/README.txt
@@ -1532,3 +1532,23 @@ _test:
ret
This should just fldl directly from the input stack slot.
+
+//===---------------------------------------------------------------------===//
+
+This code:
+int foo (int x) { return (x & 65535) | 255; }
+
+Should compile into:
+
+_foo:
+ movzwl 4(%esp), %eax
+ orb $-1, %al ;; 'orl 255' is also fine :)
+ ret
+
+instead of:
+_foo:
+ movl $255, %eax
+ orl 4(%esp), %eax
+ andl $65535, %eax
+ ret
+
OpenPOWER on IntegriCloud