diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-08-18 22:07:25 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-08-18 22:07:25 +0000 |
commit | c6bb0e2a511dcb0adc57821f79b83fe00d3fb4da (patch) | |
tree | 282f7b133ac2b06052dfe2257de2fa45ffcd5424 /llvm/test | |
parent | 5eaf08ff1f3a6897d15ac0d19f219f6654f56a4a (diff) | |
download | bcm5719-llvm-c6bb0e2a511dcb0adc57821f79b83fe00d3fb4da.tar.gz bcm5719-llvm-c6bb0e2a511dcb0adc57821f79b83fe00d3fb4da.zip |
[InstSimplify] Don't assume getAggregateElement will succeed
It isn't always possible to get a value from getAggregateElement.
This fixes PR24488.
llvm-svn: 245365
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Transforms/InstSimplify/2011-09-05-InsertExtractValue.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstSimplify/2011-09-05-InsertExtractValue.ll b/llvm/test/Transforms/InstSimplify/2011-09-05-InsertExtractValue.ll index 7e391aba304..441bc1adca7 100644 --- a/llvm/test/Transforms/InstSimplify/2011-09-05-InsertExtractValue.ll +++ b/llvm/test/Transforms/InstSimplify/2011-09-05-InsertExtractValue.ll @@ -36,3 +36,13 @@ define i32 @test3(i32 %a, float %b) { ; CHECK-LABEL: @test3( ; CHECK: ret i32 %a } + +define i8 @test4(<8 x i8> %V) { + %add = add <8 x i8> %V, bitcast (double 0x319BEB8FD172E36 to <8 x i8>) + %extract = extractelement <8 x i8> %add, i32 6 + ret i8 %extract +; CHECK-LABEL: @test4( +; CHECK: %[[add:.*]] = add <8 x i8> %V, bitcast (<1 x double> <double 0x319BEB8FD172E36> to <8 x i8>) +; CHECK-NEXT: %[[extract:.*]] = extractelement <8 x i8> %[[add]], i32 6 +; CHECK-NEXT: ret i8 %[[extract]] +} |