[DAGCombiner] Added CTPOP vector constant folding support.
[oota-llvm.git] / test / CodeGen / X86 / isel-sink.ll
index 7a480b2b31bafe89f084c2972b05d67e4f64453b..27abe051a9b3aaba83c4f4a50c14f186e896ba8c 100644 (file)
@@ -1,18 +1,23 @@
-; RUN: llvm-as < %s | llc -march=x86 | not grep lea
-; RUN: llvm-as < %s | llc -march=x86 -mtriple=i686-apple-darwin8 | \
-; RUN:   grep {movl \$4, (.*,.*,4)}
+; RUN: llc < %s -march=x86 | FileCheck %s
+; RUN: llc < %s -march=x86 -addr-sink-using-gep=1 | FileCheck %s
 
 define i32 @test(i32* %X, i32 %B) {
+; CHECK-LABEL: test:
+; CHECK-NOT: ret
+; CHECK-NOT: lea
+; CHECK: mov{{.}} $4, ({{.*}},{{.*}},4)
+; CHECK: ret
+; CHECK: mov{{.}} ({{.*}},{{.*}},4),
+; CHECK: ret
+
        ; This gep should be sunk out of this block into the load/store users.
-       %P = getelementptr i32* %X, i32 %B
+       %P = getelementptr i32, i32* %X, i32 %B
        %G = icmp ult i32 %B, 1234
        br i1 %G, label %T, label %F
 T:
        store i32 4, i32* %P
        ret i32 141
 F:
-       %V = load i32* %P
+       %V = load i32, i32* %P
        ret i32 %V
 }
-       
-