brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · dbf24bc Raw
72 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; RUN: opt -S --passes=slp-vectorizer < %s | FileCheck %s3 4define void @test(i8 %0, i8 %1) {5; CHECK-LABEL: define void @test(6; CHECK-SAME: i8 [[TMP0:%.*]], i8 [[TMP1:%.*]]) {7; CHECK-NEXT:  entry:8; CHECK-NEXT:    [[TMP2:%.*]] = load <8 x i8>, ptr getelementptr (i8, ptr null, i32 8), align 19; CHECK-NEXT:    [[TMP3:%.*]] = shufflevector <8 x i8> [[TMP2]], <8 x i8> poison, <16 x i32> <i32 7, i32 6, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 poison, i32 poison>10; CHECK-NEXT:    [[LUPTO132421:%.*]] = shufflevector <16 x i8> zeroinitializer, <16 x i8> [[TMP3]], <16 x i32> <i32 16, i32 17, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 24, i32 25, i32 26, i32 27, i32 28, i32 29, i32 14, i32 15>11; CHECK-NEXT:    [[TMP6:%.*]] = shufflevector <16 x i8> [[LUPTO132421]], <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison>, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 23, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>12; CHECK-NEXT:    [[TMP4:%.*]] = insertelement <16 x i8> [[TMP6]], i8 [[TMP0]], i32 013; CHECK-NEXT:    [[TMP5:%.*]] = insertelement <16 x i8> [[TMP4]], i8 [[TMP1]], i32 114; CHECK-NEXT:    [[TMP7:%.*]] = shufflevector <8 x i8> [[TMP2]], <8 x i8> poison, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison, i32 poison>15; CHECK-NEXT:    [[TMP8:%.*]] = shufflevector <16 x i8> [[TMP5]], <16 x i8> [[TMP7]], <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 17, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>16; CHECK-NEXT:    [[TMP9:%.*]] = shufflevector <16 x i8> [[TMP8]], <16 x i8> poison, <16 x i32> <i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 7, i32 0, i32 9, i32 0, i32 0, i32 0, i32 0, i32 0, i32 15>17; CHECK-NEXT:    [[TMP10:%.*]] = icmp ne <16 x i8> zeroinitializer, [[TMP9]]18; CHECK-NEXT:    ret void19;20entry:21  %li8 = load i8, ptr getelementptr (i8, ptr null, i32 8), align 122  %li9163 = load i8, ptr getelementptr (i8, ptr null, i32 9), align 123  %li10 = load i8, ptr getelementptr (i8, ptr null, i32 10), align 124  %li11164 = load i8, ptr getelementptr (i8, ptr null, i32 11), align 125  %li12 = load i8, ptr getelementptr (i8, ptr null, i32 12), align 126  %li13 = load i8, ptr getelementptr (i8, ptr null, i32 13), align 127  %li14 = load i8, ptr getelementptr (i8, ptr null, i32 14), align 128  %li15165 = load i8, ptr getelementptr (i8, ptr null, i32 15), align 129  %lupto8237 = insertelement <16 x i8> zeroinitializer, i8 %li8, i64 830  %lupto9238 = insertelement <16 x i8> %lupto8237, i8 %li9163, i64 931  %lupto10239 = insertelement <16 x i8> %lupto9238, i8 %li10, i64 1032  %lupto11240 = insertelement <16 x i8> %lupto10239, i8 %li11164, i64 1133  %lupto12241 = insertelement <16 x i8> %lupto11240, i8 %li12, i64 1234  %lupto13242 = insertelement <16 x i8> %lupto12241, i8 %li13, i64 1335  %lupto14243 = insertelement <16 x i8> %lupto13242, i8 %li14, i64 136  %l = insertelement <16 x i8> %lupto14243, i8 %li15165, i64 037  %li15 = extractelement <16 x i8> %l, i64 1538  %2 = icmp ne i8 %0, 039  %3 = icmp ne i8 %1, 040  %4 = icmp ne i8 %0, 041  %.i3 = icmp ne i8 %0, 042  %.i4 = icmp ne i8 %0, 043  %5 = icmp ne i8 %0, 044  %6 = icmp ne i8 %0, 045  %7 = icmp ne i8 0, 046  %8 = icmp ne i8 %0, 047  %.i9 = icmp ne i8 %li9163, 048  %9 = icmp ne i8 %0, 049  %10 = icmp ne i8 %0, 050  %11 = icmp ne i8 %0, 051  %12 = icmp ne i8 %0, 052  %13 = icmp ne i8 %0, 053  %.i15 = icmp ne i8 %li15, 054  %i0244 = insertelement <16 x i1> zeroinitializer, i1 %2, i64 055  %i1245 = insertelement <16 x i1> %i0244, i1 %3, i64 156  %i2246 = insertelement <16 x i1> %i1245, i1 %4, i64 257  %i3247 = insertelement <16 x i1> %i2246, i1 %.i3, i64 358  %i4248 = insertelement <16 x i1> %i3247, i1 %.i4, i64 459  %i5249 = insertelement <16 x i1> %i4248, i1 %5, i64 560  %i6250 = insertelement <16 x i1> %i5249, i1 %6, i64 661  %i7251 = insertelement <16 x i1> %i6250, i1 %7, i64 762  %i8252 = insertelement <16 x i1> %i7251, i1 %8, i64 863  %i9253 = insertelement <16 x i1> %i8252, i1 %.i9, i64 964  %i10254 = insertelement <16 x i1> %i9253, i1 %9, i64 1065  %i11255 = insertelement <16 x i1> %i10254, i1 %10, i64 1166  %i12256 = insertelement <16 x i1> %i11255, i1 %11, i64 1267  %i13257 = insertelement <16 x i1> %i12256, i1 %12, i64 1368  %i14 = insertelement <16 x i1> %i13257, i1 %13, i64 1469  %14 = insertelement <16 x i1> %i14, i1 %.i15, i64 1570  ret void71}72