From 087e721dd8a7bf447b55bb041e5e85c587b6d22e Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Tue, 1 Nov 2022 08:24:13 -0400 Subject: [PATCH] [InstCombine] add test for mul with shl; NFC --- llvm/test/Transforms/InstCombine/mul.ll | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/llvm/test/Transforms/InstCombine/mul.ll b/llvm/test/Transforms/InstCombine/mul.ll index 29508e5..5f0e6ce 100644 --- a/llvm/test/Transforms/InstCombine/mul.ll +++ b/llvm/test/Transforms/InstCombine/mul.ll @@ -296,6 +296,19 @@ define i32 @shl1_decrement_use(i32 %x, i32 %y) { ret i32 %m } +define <2 x i8> @shl1_decrement_vec(<2 x i8> %x) { +; CHECK-LABEL: @shl1_decrement_vec( +; CHECK-NEXT: [[POW2X:%.*]] = shl <2 x i8> , [[X:%.*]] +; CHECK-NEXT: [[X1:%.*]] = xor <2 x i8> [[POW2X]], +; CHECK-NEXT: [[M:%.*]] = mul <2 x i8> [[X1]], +; CHECK-NEXT: ret <2 x i8> [[M]] +; + %pow2x = shl <2 x i8> , %x + %x1 = xor <2 x i8> %pow2x, + %m = mul <2 x i8> %x1, + ret <2 x i8> %m +} + ; X * Y (when Y is a boolean) --> Y ? X : 0 define i32 @mul_bool(i32 %x, i1 %y) { -- 2.7.4