aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/README.txt
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-06-30 04:20:46 +0000
committerChris Lattner <sabre@nondot.org>2009-06-30 04:20:46 +0000
commita05ec61684fa56f4028761d9a0beddc70bee473e (patch)
tree320347188989c1e7cfe78aaa61d87d22fa2ff487 /lib/Target/X86/README.txt
parent9cdd4f57c85908e82e12cb996f71fd34fb43bccc (diff)
downloadexternal_llvm-a05ec61684fa56f4028761d9a0beddc70bee473e.zip
external_llvm-a05ec61684fa56f4028761d9a0beddc70bee473e.tar.gz
external_llvm-a05ec61684fa56f4028761d9a0beddc70bee473e.tar.bz2
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74508 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/README.txt')
-rw-r--r--lib/Target/X86/README.txt20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt
index 4464878..711f1d2 100644
--- a/lib/Target/X86/README.txt
+++ b/lib/Target/X86/README.txt
@@ -1932,3 +1932,23 @@ Replacing an icmp+select with a shift should always be considered profitable in
instcombine.
//===---------------------------------------------------------------------===//
+
+It looks like we don't have patterns (or they aren't matching) for adc with
+immediate:
+
+define i64 @f1(i64 %a) nounwind {
+ %tmp = sub i64 %a, 734439407618
+ ret i64 %tmp
+}
+$ llvm-as < t.ll | llc -march=x86
+
+_f1:
+ movl 4(%esp), %eax
+ addl $4294967294, %eax
+ movl $4294967124, %edx
+ adcl 8(%esp), %edx
+ ret
+
+There is no need to clobber %edx there.
+
+//===---------------------------------------------------------------------===//