summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-06-21 23:53:01 +0000
committerSanjay Patel <spatel@rotateright.com>2018-06-21 23:53:01 +0000
commit23408c25f3c3bc5e80effe3d4750392f96d397ad (patch)
tree66ba21ee58fa1cc41e708b166ae800a936b2beb8
parentf34ffd58d98d301f9802cb63267f16a4e5ffa7b3 (diff)
downloadbcm5719-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.ll14
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
+}
+
OpenPOWER on IntegriCloud