brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.2 KiB · 3e9bd78 Raw
95 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S --passes=slp-vectorizer -slp-threshold=-300 -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s3 4define void @test() {5; CHECK-LABEL: define void @test() {6; CHECK-NEXT:    [[TMP1:%.*]] = insertelement <16 x i64> poison, i64 1, i32 37; CHECK-NEXT:    [[TMP6:%.*]] = shufflevector <16 x i64> <i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 1, i64 0, i64 undef, i64 undef, i64 undef, i64 undef>, <16 x i64> [[TMP1]], <16 x i32> <i32 0, i32 1, i32 2, i32 19, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 poison, i32 poison, i32 poison>8; CHECK-NEXT:    [[TMP7:%.*]] = shufflevector <16 x i64> [[TMP6]], <16 x i64> poison, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 3, i32 7, i32 8, i32 9, i32 3, i32 10, i32 11, i32 12, i32 3>9; CHECK-NEXT:    [[TMP8:%.*]] = trunc <16 x i64> [[TMP7]] to <16 x i1>10; CHECK-NEXT:    [[TMP9:%.*]] = or <16 x i1> [[TMP8]], zeroinitializer11; CHECK-NEXT:    [[TMP10:%.*]] = freeze <16 x i1> [[TMP9]]12; CHECK-NEXT:    [[TMP11:%.*]] = zext <16 x i1> [[TMP10]] to <16 x i16>13; CHECK-NEXT:    [[TMP12:%.*]] = icmp eq <16 x i16> [[TMP11]], zeroinitializer14; CHECK-NEXT:    ret void15;16  %xor108.i.i.i = xor i64 0, 117  %conv115.i.i.i = trunc i64 %xor108.i.i.i to i1618  %add.i.i.i.i = or i16 %conv115.i.i.i, 019  %add.i.frozen.i.i.i = freeze i16 %add.i.i.i.i20  %.cmp.not.i.i.i = icmp eq i16 %add.i.frozen.i.i.i, 021  %cond.i1002.1.i.i.i = lshr i64 0, 022  %conv115.1.i.i.i = trunc i64 %cond.i1002.1.i.i.i to i1623  %add.i.1.i.i.i = or i16 %conv115.1.i.i.i, 024  %add.i.frozen.1.i.i.i = freeze i16 %add.i.1.i.i.i25  %.cmp.not.1.i.i.i = icmp eq i16 %add.i.frozen.1.i.i.i, 026  %cond.i1002.2.i.i.i = lshr i64 %xor108.i.i.i, 027  %conv115.2.i.i.i = trunc i64 %cond.i1002.2.i.i.i to i1628  %add.i.2.i.i.i = or i16 %conv115.2.i.i.i, 029  %add.i.frozen.2.i.i.i = freeze i16 %add.i.2.i.i.i30  %.cmp.not.2.i.i.i = icmp eq i16 %add.i.frozen.2.i.i.i, 031  %cond.i1002.3.i.i.i = lshr i64 0, 032  %conv115.3.i.i.i = trunc i64 %cond.i1002.3.i.i.i to i1633  %add.i.3.i.i.i = or i16 %conv115.3.i.i.i, 034  %add.i.frozen.3.i.i.i = freeze i16 %add.i.3.i.i.i35  %.cmp.not.3.i.i.i = icmp eq i16 %add.i.frozen.3.i.i.i, 036  %conv115.i.i.i.1 = trunc i64 %xor108.i.i.i to i1637  %add.i.i.i.i.1 = or i16 %conv115.i.i.i.1, 038  %add.i.frozen.i.i.i.1 = freeze i16 %add.i.i.i.i.139  %.cmp.not.i.i.i.1 = icmp eq i16 %add.i.frozen.i.i.i.1, 040  %cond.i1002.1.i.i.i.1 = lshr i64 0, 041  %conv115.1.i.i.i.1 = trunc i64 %cond.i1002.1.i.i.i.1 to i1642  %add.i.1.i.i.i.1 = or i16 %conv115.1.i.i.i.1, 043  %add.i.frozen.1.i.i.i.1 = freeze i16 %add.i.1.i.i.i.144  %.cmp.not.1.i.i.i.1 = icmp eq i16 %add.i.frozen.1.i.i.i.1, 045  %cond.i1002.2.i.i.i.1 = lshr i64 0, 046  %conv115.2.i.i.i.1 = trunc i64 %cond.i1002.2.i.i.i.1 to i1647  %add.i.2.i.i.i.1 = or i16 %conv115.2.i.i.i.1, 048  %add.i.frozen.2.i.i.i.1 = freeze i16 %add.i.2.i.i.i.149  %.cmp.not.2.i.i.i.1 = icmp eq i16 %add.i.frozen.2.i.i.i.1, 050  %cond.i1002.3.i.i.i.1 = lshr i64 0, 051  %conv115.3.i.i.i.1 = trunc i64 %cond.i1002.3.i.i.i.1 to i1652  %add.i.3.i.i.i.1 = or i16 %conv115.3.i.i.i.1, 053  %add.i.frozen.3.i.i.i.1 = freeze i16 %add.i.3.i.i.i.154  %.cmp.not.3.i.i.i.1 = icmp eq i16 %add.i.frozen.3.i.i.i.1, 055  %conv115.i.i.i.2 = trunc i64 %xor108.i.i.i to i1656  %add.i.i.i.i.2 = or i16 %conv115.i.i.i.2, 057  %add.i.frozen.i.i.i.2 = freeze i16 %add.i.i.i.i.258  %.cmp.not.i.i.i.2 = icmp eq i16 %add.i.frozen.i.i.i.2, 059  %cond.i1002.1.i.i.i.2 = lshr i64 0, 060  %conv115.1.i.i.i.2 = trunc i64 %cond.i1002.1.i.i.i.2 to i1661  %add.i.1.i.i.i.2 = or i16 %conv115.1.i.i.i.2, 062  %add.i.frozen.1.i.i.i.2 = freeze i16 %add.i.1.i.i.i.263  %.cmp.not.1.i.i.i.2 = icmp eq i16 %add.i.frozen.1.i.i.i.2, 064  %cond.i1002.2.i.i.i.2 = lshr i64 0, 065  %conv115.2.i.i.i.2 = trunc i64 %cond.i1002.2.i.i.i.2 to i1666  %add.i.2.i.i.i.2 = or i16 %conv115.2.i.i.i.2, 067  %add.i.frozen.2.i.i.i.2 = freeze i16 %add.i.2.i.i.i.268  %.cmp.not.2.i.i.i.2 = icmp eq i16 %add.i.frozen.2.i.i.i.2, 069  %cond.i1002.3.i.i.i.2 = lshr i64 0, 070  %conv115.3.i.i.i.2 = trunc i64 %cond.i1002.3.i.i.i.2 to i1671  %add.i.3.i.i.i.2 = or i16 %conv115.3.i.i.i.2, 072  %add.i.frozen.3.i.i.i.2 = freeze i16 %add.i.3.i.i.i.273  %.cmp.not.3.i.i.i.2 = icmp eq i16 %add.i.frozen.3.i.i.i.2, 074  %conv115.i.i.i.3 = trunc i64 %xor108.i.i.i to i1675  %add.i.i.i.i.3 = or i16 %conv115.i.i.i.3, 076  %add.i.frozen.i.i.i.3 = freeze i16 %add.i.i.i.i.377  %.cmp.not.i.i.i.3 = icmp eq i16 %add.i.frozen.i.i.i.3, 078  %cond.i1002.1.i.i.i.3 = lshr i64 0, 079  %conv115.1.i.i.i.3 = trunc i64 %cond.i1002.1.i.i.i.3 to i1680  %add.i.1.i.i.i.3 = or i16 %conv115.1.i.i.i.3, 081  %add.i.frozen.1.i.i.i.3 = freeze i16 %add.i.1.i.i.i.382  %.cmp.not.1.i.i.i.3 = icmp eq i16 %add.i.frozen.1.i.i.i.3, 083  %cond.i1002.2.i.i.i.3 = lshr i64 0, 084  %conv115.2.i.i.i.3 = trunc i64 %cond.i1002.2.i.i.i.3 to i1685  %add.i.2.i.i.i.3 = or i16 %conv115.2.i.i.i.3, 086  %add.i.frozen.2.i.i.i.3 = freeze i16 %add.i.2.i.i.i.387  %.cmp.not.2.i.i.i.3 = icmp eq i16 %add.i.frozen.2.i.i.i.3, 088  %cond.i1002.3.i.i.i.3 = lshr i64 0, 089  %conv115.3.i.i.i.3 = trunc i64 %cond.i1002.3.i.i.i.3 to i1690  %add.i.3.i.i.i.3 = or i16 %conv115.3.i.i.i.3, 091  %add.i.frozen.3.i.i.i.3 = freeze i16 %add.i.3.i.i.i.392  %.cmp.not.3.i.i.i.3 = icmp eq i16 %add.i.frozen.3.i.i.i.3, 093  ret void94}95