From 9774a1af3b46d8cb037f28f2b593eaf8d8950b50 Mon Sep 17 00:00:00 2001 From: Zvi Rackover Date: Sun, 2 Apr 2017 10:42:21 +0000 Subject: [PATCH] Add another interesting shufflevector test case for InstSimplify. NFC. Test case shows opportunity to constant fold a shuffle with one variable input vector operand. llvm-svn: 299327 --- test/Transforms/InstSimplify/shufflevector.ll | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/Transforms/InstSimplify/shufflevector.ll b/test/Transforms/InstSimplify/shufflevector.ll index 1baecd2e749..4a9c0dfb234 100644 --- a/test/Transforms/InstSimplify/shufflevector.ll +++ b/test/Transforms/InstSimplify/shufflevector.ll @@ -1,6 +1,15 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -instsimplify -S | FileCheck %s +define <4 x i32> @const_folding(<4 x i32> %x) { +; CHECK-LABEL: @const_folding( +; CHECK-NEXT: [[SHUF:%.*]] = shufflevector <4 x i32> [[X:%.*]], <4 x i32> zeroinitializer, <4 x i32> +; CHECK-NEXT: ret <4 x i32> [[SHUF]] +; + %shuf = shufflevector <4 x i32> %x, <4 x i32> zeroinitializer, <4 x i32> + ret <4 x i32> %shuf +} + define <4 x i32> @splat_operand(<4 x i32> %x) { ; CHECK-LABEL: @splat_operand( ; CHECK-NEXT: [[SPLAT:%.*]] = shufflevector <4 x i32> [[X:%.*]], <4 x i32> undef, <4 x i32> zeroinitializer