brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · 8f738c3 Raw
77 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=riscv64-unknown-linux-gnu -mattr=+v < %s | FileCheck %s3 4@r = external global [8 x i8]5 6define void @test(i64 %0, ptr %1) {7; CHECK-LABEL: define void @test(8; CHECK-SAME: i64 [[TMP0:%.*]], ptr [[TMP1:%.*]]) #[[ATTR0:[0-9]+]] {9; CHECK-NEXT:    [[TMP3:%.*]] = load i8, ptr @r, align 110; CHECK-NEXT:    [[TMP4:%.*]] = trunc i8 [[TMP3]] to i111; CHECK-NEXT:    [[TMP5:%.*]] = select i1 [[TMP4]], i64 [[TMP0]], i64 012; CHECK-NEXT:    [[TMP6:%.*]] = getelementptr i8, ptr @r, i64 [[TMP5]]13; CHECK-NEXT:    [[TMP7:%.*]] = load i8, ptr [[TMP6]], align 114; CHECK-NEXT:    [[TMP8:%.*]] = icmp ule i8 [[TMP3]], [[TMP7]]15; CHECK-NEXT:    [[TMP9:%.*]] = sext i1 [[TMP8]] to i3216; CHECK-NEXT:    [[TMP10:%.*]] = load i8, ptr getelementptr (i8, ptr @r, i64 -8049), align 117; CHECK-NEXT:    [[TMP11:%.*]] = trunc i8 [[TMP10]] to i118; CHECK-NEXT:    [[TMP12:%.*]] = select i1 [[TMP11]], i64 [[TMP0]], i64 019; CHECK-NEXT:    [[TMP13:%.*]] = getelementptr i8, ptr @r, i64 [[TMP12]]20; CHECK-NEXT:    [[TMP14:%.*]] = load i8, ptr [[TMP13]], align 121; CHECK-NEXT:    [[TMP15:%.*]] = icmp ule i8 [[TMP10]], [[TMP14]]22; CHECK-NEXT:    [[TMP16:%.*]] = sext i1 [[TMP15]] to i3223; CHECK-NEXT:    [[TMP17:%.*]] = add i32 [[TMP9]], [[TMP16]]24; CHECK-NEXT:    [[TMP18:%.*]] = load i8, ptr getelementptr (i8, ptr @r, i64 -16098), align 125; CHECK-NEXT:    [[TMP19:%.*]] = trunc i8 [[TMP18]] to i126; CHECK-NEXT:    [[TMP20:%.*]] = select i1 [[TMP19]], i64 [[TMP0]], i64 027; CHECK-NEXT:    [[TMP21:%.*]] = getelementptr i8, ptr @r, i64 [[TMP20]]28; CHECK-NEXT:    [[TMP22:%.*]] = load i8, ptr [[TMP21]], align 129; CHECK-NEXT:    [[TMP23:%.*]] = icmp ule i8 [[TMP18]], [[TMP22]]30; CHECK-NEXT:    [[TMP24:%.*]] = sext i1 [[TMP23]] to i3231; CHECK-NEXT:    [[TMP25:%.*]] = add i32 [[TMP17]], [[TMP24]]32; CHECK-NEXT:    [[TMP26:%.*]] = load i8, ptr getelementptr (i8, ptr @r, i64 -24147), align 133; CHECK-NEXT:    [[TMP27:%.*]] = trunc i8 [[TMP26]] to i134; CHECK-NEXT:    [[TMP28:%.*]] = select i1 [[TMP27]], i64 [[TMP0]], i64 035; CHECK-NEXT:    [[TMP29:%.*]] = getelementptr i8, ptr @r, i64 [[TMP28]]36; CHECK-NEXT:    [[TMP30:%.*]] = load i8, ptr [[TMP29]], align 137; CHECK-NEXT:    [[TMP31:%.*]] = icmp ule i8 [[TMP26]], [[TMP30]]38; CHECK-NEXT:    [[TMP32:%.*]] = sext i1 [[TMP31]] to i3239; CHECK-NEXT:    [[TMP33:%.*]] = add i32 [[TMP25]], [[TMP32]]40; CHECK-NEXT:    store i32 [[TMP33]], ptr [[TMP1]], align 441; CHECK-NEXT:    ret void42;43  %3 = load i8, ptr @r, align 144  %4 = trunc i8 %3 to i145  %5 = select i1 %4, i64 %0, i64 046  %6 = getelementptr i8, ptr @r, i64 %547  %7 = load i8, ptr %6, align 148  %8 = icmp ule i8 %3, %749  %9 = sext i1 %8 to i3250  %10 = load i8, ptr getelementptr (i8, ptr @r, i64 -8049), align 151  %11 = trunc i8 %10 to i152  %12 = select i1 %11, i64 %0, i64 053  %13 = getelementptr i8, ptr @r, i64 %1254  %14 = load i8, ptr %13, align 155  %15 = icmp ule i8 %10, %1456  %16 = sext i1 %15 to i3257  %17 = add i32 %9, %1658  %18 = load i8, ptr getelementptr (i8, ptr @r, i64 -16098), align 159  %19 = trunc i8 %18 to i160  %20 = select i1 %19, i64 %0, i64 061  %21 = getelementptr i8, ptr @r, i64 %2062  %22 = load i8, ptr %21, align 163  %23 = icmp ule i8 %18, %2264  %24 = sext i1 %23 to i3265  %25 = add i32 %17, %2466  %26 = load i8, ptr getelementptr (i8, ptr @r, i64 -24147), align 167  %27 = trunc i8 %26 to i168  %28 = select i1 %27, i64 %0, i64 069  %29 = getelementptr i8, ptr @r, i64 %2870  %30 = load i8, ptr %29, align 171  %31 = icmp ule i8 %26, %3072  %32 = sext i1 %31 to i3273  %33 = add i32 %25, %3274  store i32 %33, ptr %1, align 475  ret void76}77