diff options
author | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2019-10-18 07:41:53 +0000 |
---|---|---|
committer | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2019-10-18 07:41:53 +0000 |
commit | 459134064daeef03a762979ab162587f94361cdc (patch) | |
tree | 4eb3faeb7572478dc552834b6698dfd5df67d25f /llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp | |
parent | 9a5ad9bd5ad1fc2cc39039661491dbd8705a5626 (diff) | |
download | bcm5719-llvm-459134064daeef03a762979ab162587f94361cdc.tar.gz bcm5719-llvm-459134064daeef03a762979ab162587f94361cdc.zip |
[InstCombine] Pre-commit of test case showing miscompile bug in canEvaluateShuffled
Adding the reproducer from https://bugs.llvm.org/show_bug.cgi?id=43689,
showing that instcombine is doing a bad transform. It transforms
%0 = insertelement <2 x i16> undef, i16 %a, i32 0
%1 = srem <2 x i16> %0, <i16 2, i16 1>
%2 = shufflevector <2 x i16> %1, <2 x i16> undef, <2 x i32> <i32 undef, i32 0>
into
%1 = insertelement <2 x i16> undef, i16 %a, i32 1
%2 = srem <2 x i16> %1, <i16 undef, i16 2>
The undef denominator makes the whole srem undefined.
llvm-svn: 375207
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp')
0 files changed, 0 insertions, 0 deletions