From ad05e1749169c01953da819ded8b85d448fee2d2 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 5 Dec 2007 22:58:19 +0000 Subject: [PATCH] add a note llvm-svn: 44637 --- llvm/lib/Target/X86/README.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/llvm/lib/Target/X86/README.txt b/llvm/lib/Target/X86/README.txt index af73658bb362..7705c1ba31e2 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 +