diff options
| author | Sanjay Patel <spatel@rotateright.com> | 2018-06-21 23:53:01 +0000 |
|---|---|---|
| committer | Sanjay Patel <spatel@rotateright.com> | 2018-06-21 23:53:01 +0000 |
| commit | 23408c25f3c3bc5e80effe3d4750392f96d397ad (patch) | |
| tree | 66ba21ee58fa1cc41e708b166ae800a936b2beb8 | |
| parent | f34ffd58d98d301f9802cb63267f16a4e5ffa7b3 (diff) | |
| download | bcm5719-llvm-23408c25f3c3bc5e80effe3d4750392f96d397ad.tar.gz bcm5719-llvm-23408c25f3c3bc5e80effe3d4750392f96d397ad.zip | |
[InstCombine] add test for shuffle-of-binops; NFC
This shows a miscompile that was missed in rL335283.
llvm-svn: 335311
| -rw-r--r-- | llvm/test/Transforms/InstCombine/shuffle_select.ll | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstCombine/shuffle_select.ll b/llvm/test/Transforms/InstCombine/shuffle_select.ll index bba5124c28e..e3e2dde0915 100644 --- a/llvm/test/Transforms/InstCombine/shuffle_select.ll +++ b/llvm/test/Transforms/InstCombine/shuffle_select.ll @@ -224,3 +224,17 @@ define <4 x double> @fdiv(<4 x double> %v0) { ret <4 x double> %t3 } +; FIXME: +; The variable operand must be either the first operand or second operand in both binops. + +define <4 x double> @frem(<4 x double> %v0) { +; CHECK-LABEL: @frem( +; CHECK-NEXT: [[T3:%.*]] = frem <4 x double> <double 1.000000e+00, double 2.000000e+00, double 7.000000e+00, double 8.000000e+00>, [[V0:%.*]] +; CHECK-NEXT: ret <4 x double> [[T3]] +; + %t1 = frem <4 x double> <double 1.0, double 2.0, double 3.0, double 4.0>, %v0 + %t2 = frem <4 x double> %v0, <double 5.0, double 6.0, double 7.0, double 8.0> + %t3 = shufflevector <4 x double> %t1, <4 x double> %t2, <4 x i32> <i32 0, i32 1, i32 6, i32 7> + ret <4 x double> %t3 +} + |

