brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 42271fa Raw
32 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -mtriple=x86_64-unknown-linux-gnu -mattr=+avx10.1 -passes=slp-vectorizer -S -slp-revec < %s | FileCheck %s3 4define void @test(ptr %in) {5; CHECK-LABEL: @test(6; CHECK-NEXT:  entry:7; CHECK-NEXT:    [[TMP0:%.*]] = getelementptr i8, ptr [[IN:%.*]], i64 328; CHECK-NEXT:    [[TMP1:%.*]] = getelementptr i8, ptr [[IN]], i64 649; CHECK-NEXT:    [[TMP2:%.*]] = call <32 x i16> @llvm.masked.load.v32i16.p0(ptr align 2 [[TMP1]], <32 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 false, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true>, <32 x i16> poison)10; CHECK-NEXT:    [[TMP3:%.*]] = shufflevector <32 x i16> [[TMP2]], <32 x i16> poison, <16 x i32> <i32 0, i32 1, 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 30, i32 31>11; CHECK-NEXT:    [[TMP7:%.*]] = or <16 x i16> zeroinitializer, [[TMP3]]12; CHECK-NEXT:    store <16 x i16> [[TMP7]], ptr [[TMP0]], align 213; CHECK-NEXT:    ret void14;15entry:16  %0 = getelementptr i8, ptr %in, i64 11217  %wide.load = load <8 x i16>, ptr %0, align 218  %1 = sext <8 x i16> %wide.load to <8 x i32>19  %2 = getelementptr i8, ptr %in, i64 4820  %3 = or <8 x i32> zeroinitializer, %121  %4 = getelementptr i8, ptr %in, i64 3222  %5 = getelementptr i8, ptr %in, i64 6423  %wide.load155 = load <8 x i16>, ptr %5, align 224  %6 = sext <8 x i16> %wide.load155 to <8 x i32>25  %7 = or <8 x i32> zeroinitializer, %626  %8 = trunc <8 x i32> %3 to <8 x i16>27  store <8 x i16> %8, ptr %2, align 228  %9 = trunc <8 x i32> %7 to <8 x i16>29  store <8 x i16> %9, ptr %4, align 230  ret void31}32