From b34487dcbac342512502894abee21d1dc874c767 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 8 Mar 2009 01:54:43 +0000 Subject: [PATCH] add a note. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66359 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/README.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index e8c2561d417..c4746d0c756 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -1818,3 +1818,25 @@ LBB1_1: ## bb1 jne LBB1_1 ## bb1 //===---------------------------------------------------------------------===// + +test/CodeGen/X86/2009-03-07-FPConstSelect.ll compiles to: + +_f: + xorl %eax, %eax + cmpl $0, 4(%esp) + movl $4, %ecx + cmovne %eax, %ecx + flds LCPI1_0(%ecx) + ret + +we should recognize cmov of 0 and a power of two and compile it into a +setcc+shift. This would give us something like: + +_f: + xorl %eax,%eax + cmpl $0, 4(%esp) + seteq %al + flds LCPI1_0(%ecx, %eax,4) + ret + +//===---------------------------------------------------------------------===// -- 2.11.0