OSDN Git Service

add a note
authorChris Lattner <sabre@nondot.org>
Tue, 30 Jun 2009 04:20:46 +0000 (04:20 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 30 Jun 2009 04:20:46 +0000 (04:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74508 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/README.txt

index 4464878..711f1d2 100644 (file)
@@ -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.
+
+//===---------------------------------------------------------------------===//