From 7d13015e3254a78dfc972b5722855fa8ac9062d7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 5 Dec 2007 22:58:19 +0000 Subject: [PATCH] add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44637 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 af73658bb36..7705c1ba31e 100644 --- a/lib/Target/X86/README.txt +++ b/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 +