66 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s3 4define i16 @test() {5; CHECK-LABEL: define i16 @test() {6; CHECK-NEXT: [[ENTRY:.*:]]7; CHECK-NEXT: [[TMP9:%.*]] = call i16 @llvm.vector.reduce.and.v4i16(<4 x i16> zeroinitializer)8; CHECK-NEXT: ret i16 [[TMP9]]9;10entry:11 %conv73 = xor i64 0, 012 %and.i = and i64 0, 013 %xor2.i = or i64 %and.i, 014 %sub.i = or i64 %xor2.i, 015 %xor3.i = xor i64 %sub.i, %conv7316 %and4.i = and i64 %xor3.i, 017 %cmp.i = icmp slt i64 %and4.i, 018 %0 = trunc i64 %conv73 to i1619 %1 = or i16 0, %020 %conv73i = xor i64 0, 021 %andi.i = and i64 0, 022 %xor2i.i = or i64 %andi.i, 023 %subi.i = or i64 %xor2i.i, 024 %xor3i.i = xor i64 %subi.i, %conv73i25 %and4i.i = and i64 %xor3i.i, 026 %cmpi.i = icmp slt i64 %and4i.i, 027 %2 = trunc i64 %conv73i to i1628 %3 = or i16 0, %229 %4 = select i1 %cmpi.i, i16 0, i16 %330 %5 = select i1 %cmp.i, i16 0, i16 %131 %6 = zext i32 0 to i6432 %add.ip = or i64 %6, 033 %orp = or i64 %add.ip, 034 %conv72p = shl i64 %orp, 035 %sextp = ashr i64 %conv72p, 036 %conv73p = xor i64 %sextp, 037 %and.ip = and i64 0, 038 %xor2.ip = or i64 %and.ip, 039 %sub.ip = or i64 %xor2.ip, 040 %xor3.ip = xor i64 %sub.ip, %conv73p41 %and4.ip = and i64 %xor3.ip, 042 %cmp.ip = icmp slt i64 %and4.ip, 043 %7 = trunc i64 %conv73p to i1644 %8 = or i16 0, %745 %9 = select i1 %cmp.ip, i16 0, i16 %846 %conv76i = and i16 %4, %547 %conv76p = and i16 %conv76i, %948 %10 = zext i32 0 to i6449 %add.ip1 = or i64 %10, 050 %orp1 = or i64 %add.ip1, 051 %conv72p1 = shl i64 %orp1, 052 %sextp1 = ashr i64 %conv72p1, 053 %conv73p1 = xor i64 %sextp1, 054 %and.ip1 = and i64 0, 055 %xor2.ip1 = or i64 %and.ip1, 056 %sub.ip1 = or i64 %xor2.ip1, 057 %xor3.ip1 = xor i64 %sub.ip1, %conv73p158 %and4.ip1 = and i64 %xor3.ip1, 059 %cmp.ip1 = icmp slt i64 %and4.ip1, 060 %11 = trunc i64 %conv73p1 to i1661 %12 = or i16 0, %1162 %13 = select i1 %cmp.ip1, i16 0, i16 %1263 %conv76p2 = and i16 %conv76p, %1364 ret i16 %conv76p265}66