brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 6629b12 Raw
54 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt -passes=slp-vectorizer -S -slp-threshold=-100 -mtriple=aarch64-unknown-linux-gnu < %s | FileCheck %s3 4define ptr @test(ptr %d, i64 %v) {5; CHECK-LABEL: define ptr @test(6; CHECK-SAME: ptr [[D:%.*]], i64 [[V:%.*]]) {7; CHECK-NEXT:  [[ENTRY:.*:]]8; CHECK-NEXT:    [[TMP0:%.*]] = load i8, ptr [[D]], align 19; CHECK-NEXT:    [[CMP4_2:%.*]] = icmp eq i8 [[TMP0]], 010; CHECK-NEXT:    [[TMP1:%.*]] = select i1 [[CMP4_2]], i64 0, i64 411; CHECK-NEXT:    [[TMP2:%.*]] = xor i64 0, [[V]]12; CHECK-NEXT:    [[TMP3:%.*]] = udiv i64 [[TMP2]], 313; CHECK-NEXT:    [[TMP4:%.*]] = udiv i64 1, [[V]]14; CHECK-NEXT:    [[TMP5:%.*]] = insertelement <6 x i64> poison, i64 [[TMP1]], i32 015; CHECK-NEXT:    [[TMP6:%.*]] = insertelement <6 x i64> [[TMP5]], i64 [[TMP3]], i32 116; CHECK-NEXT:    [[TMP7:%.*]] = insertelement <6 x i64> [[TMP6]], i64 [[TMP4]], i32 417; CHECK-NEXT:    [[TMP8:%.*]] = shufflevector <6 x i64> [[TMP7]], <6 x i64> poison, <6 x i32> <i32 0, i32 1, i32 0, i32 1, i32 4, i32 4>18; CHECK-NEXT:    [[TMP9:%.*]] = mul <6 x i64> [[TMP8]], <i64 2, i64 6, i64 4, i64 3, i64 5, i64 4>19; CHECK-NEXT:    [[TMP10:%.*]] = extractelement <6 x i64> [[TMP9]], i32 020; CHECK-NEXT:    [[TMP11:%.*]] = getelementptr i8, ptr [[D]], i64 [[TMP10]]21; CHECK-NEXT:    [[TMP12:%.*]] = extractelement <6 x i64> [[TMP9]], i32 122; CHECK-NEXT:    [[TMP13:%.*]] = getelementptr i8, ptr [[D]], i64 [[TMP12]]23; CHECK-NEXT:    [[TMP14:%.*]] = extractelement <6 x i64> [[TMP9]], i32 224; CHECK-NEXT:    [[SCEVGEP42:%.*]] = getelementptr i8, ptr [[D]], i64 [[TMP14]]25; CHECK-NEXT:    [[TMP15:%.*]] = extractelement <6 x i64> [[TMP9]], i32 326; CHECK-NEXT:    [[TMP16:%.*]] = getelementptr i8, ptr [[D]], i64 [[TMP15]]27; CHECK-NEXT:    [[TMP17:%.*]] = extractelement <6 x i64> [[TMP9]], i32 428; CHECK-NEXT:    [[TMP18:%.*]] = getelementptr i8, ptr [[D]], i64 [[TMP17]]29; CHECK-NEXT:    [[TMP19:%.*]] = extractelement <6 x i64> [[TMP9]], i32 530; CHECK-NEXT:    [[TMP20:%.*]] = getelementptr i8, ptr [[D]], i64 [[TMP19]]31; CHECK-NEXT:    ret ptr [[TMP20]]32;33entry:34  %0 = load i8, ptr %d, align 135  %cmp4.2 = icmp eq i8 %0, 036  %1 = select i1 %cmp4.2, i64 0, i64 437  %2 = shl i64 %1, 138  %3 = getelementptr i8, ptr %d, i64 %239  %4 = xor i64 0, %v40  %5 = udiv i64 %4, 341  %6 = mul i64 %5, 642  %7 = getelementptr i8, ptr %d, i64 %643  %8 = shl i64 %1, 244  %scevgep42 = getelementptr i8, ptr %d, i64 %845  %9 = mul i64 %5, 346  %10 = getelementptr i8, ptr %d, i64 %947  %11 = udiv i64 1, %v48  %12 = mul i64 %11, 549  %13 = getelementptr i8, ptr %d, i64 %1250  %14 = mul i64 %11, 451  %15 = getelementptr i8, ptr %d, i64 %1452  ret ptr %1553}54