xref: /llvm-project/llvm/test/Transforms/VectorCombine/pr88796.ll (revision 56c091ea7106507b36015297ee9005c9d5fab0bf)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2; RUN: opt -passes=vector-combine -S %s | FileCheck %s
3
4define i32 @test() {
5; CHECK-LABEL: define i32 @test() {
6; CHECK-NEXT:  entry:
7; CHECK-NEXT:    [[TMP0:%.*]] = tail call i16 @llvm.vector.reduce.and.nxv8i16(<vscale x 8 x i16> trunc (<vscale x 8 x i32> splat (i32 268435456) to <vscale x 8 x i16>))
8; CHECK-NEXT:    ret i32 0
9;
10entry:
11  %0 = tail call i16 @llvm.vector.reduce.and.nxv8i16(<vscale x 8 x i16> trunc (<vscale x 8 x i32> shufflevector (<vscale x 8 x i32> insertelement (<vscale x 8 x i32> poison, i32 268435456, i64 0), <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer) to <vscale x 8 x i16>))
12  ret i32 0
13}
14
15declare i16 @llvm.vector.reduce.and.nxv8i16(<vscale x 8 x i16>)
16
17