diff options
author | Francis Visoiu Mistrih <francisvm@yahoo.com> | 2018-12-10 16:04:56 +0000 |
---|---|---|
committer | Francis Visoiu Mistrih <francisvm@yahoo.com> | 2018-12-10 16:04:56 +0000 |
commit | 0ad1af72cd7e025b3ea6f7ccc7224449411a7ad6 (patch) | |
tree | ae5799a14724e4f38a385f5c77e4f28674906747 | |
parent | c5929138f58ee6a4fa779a39dff05d709ac21c60 (diff) | |
download | bcm5719-llvm-0ad1af72cd7e025b3ea6f7ccc7224449411a7ad6.tar.gz bcm5719-llvm-0ad1af72cd7e025b3ea6f7ccc7224449411a7ad6.zip |
[DAGCombiner] Simplify test case from r348759
Thanks Simon for pointing that out.
llvm-svn: 348765
-rw-r--r-- | llvm/test/CodeGen/X86/combine-concatvectors.ll | 44 |
1 files changed, 12 insertions, 32 deletions
diff --git a/llvm/test/CodeGen/X86/combine-concatvectors.ll b/llvm/test/CodeGen/X86/combine-concatvectors.ll index ce2ec1ab109..40568d23889 100644 --- a/llvm/test/CodeGen/X86/combine-concatvectors.ll +++ b/llvm/test/CodeGen/X86/combine-concatvectors.ll @@ -17,43 +17,23 @@ define void @PR32957(<2 x float>* %in, <8 x float>* %out) { ret void } +declare { i8, double } @fun() + ; Check that this does not fail to combine concat_vectors of a value from ; merge_values through a bitcast. -define void @d() personality i8* undef { +define void @d(i1 %cmp) { ; CHECK-LABEL: d: -; CHECK: # %bb.0: # %entry +; CHECK: # %bb.0: # %bar ; CHECK-NEXT: pushq %rax ; CHECK-NEXT: .cfi_def_cfa_offset 16 -; CHECK-NEXT: .Ltmp0: -; CHECK-NEXT: callq *%rax -; CHECK-NEXT: .Ltmp1: -; CHECK-NEXT: # %bb.1: # %bar -; CHECK-NEXT: .Ltmp2: -; CHECK-NEXT: callq *%rax -; CHECK-NEXT: .Ltmp3: -; CHECK-NEXT: # %bb.2: # %baz -; CHECK-NEXT: .LBB1_3: # %foo -; CHECK-NEXT: .Ltmp4: -entry: - %call16 = invoke { i8, double } undef() - to label %bar unwind label %foo - -foo: ; preds = %bar, %entry - %0 = landingpad { i8*, i32 } - cleanup - br label %bazr - -bar: ; preds = %entry - %1 = extractvalue { i8, double } %call16, 1 - %2 = bitcast double %1 to <2 x float> - invoke void undef() - to label %baz unwind label %foo - -baz: ; preds = %bar - %3 = extractelement <2 x float> %2, i64 0 - br label %bazr +; CHECK-NEXT: callq fun +bar: + %val = call { i8, double } @fun() + %extr = extractvalue { i8, double } %val, 1 + %bc = bitcast double %extr to <2 x float> + br label %baz -bazr: ; preds = %baz, %foo - %exn.obj = extractvalue { i8*, i32 } undef, 0 +baz: + %extr1 = extractelement <2 x float> %bc, i64 0 unreachable } |