brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.1 KiB · 41c79f9 Raw
133 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -ppc-asm-full-reg-names -mtriple=powerpc64-- -mattr=+vsx \3; RUN:   -verify-machineinstrs < %s | FileCheck %s4%struct.anon = type { i64, i64 }5 6@d = local_unnamed_addr global %struct.anon zeroinitializer, align 87 8; Function Attrs: norecurse nounwind readonly9define i64 @e(ptr nocapture readonly %f) local_unnamed_addr #0 {10; CHECK-LABEL: e:11; CHECK:       # %bb.0: # %entry12; CHECK-NEXT:    ld r3, 0(r3)13; CHECK-NEXT:    blr14entry:15  %0 = load i8, ptr %f, align 116  %conv = zext i8 %0 to i6417  %shl = shl nuw i64 %conv, 5618  %arrayidx1 = getelementptr inbounds i8, ptr %f, i64 119  %1 = load i8, ptr %arrayidx1, align 120  %conv2 = zext i8 %1 to i6421  %shl3 = shl nuw nsw i64 %conv2, 4822  %or = or i64 %shl3, %shl23  %arrayidx4 = getelementptr inbounds i8, ptr %f, i64 224  %2 = load i8, ptr %arrayidx4, align 125  %conv5 = zext i8 %2 to i6426  %shl6 = shl nuw nsw i64 %conv5, 4027  %or7 = or i64 %or, %shl628  %arrayidx8 = getelementptr inbounds i8, ptr %f, i64 329  %3 = load i8, ptr %arrayidx8, align 130  %conv9 = zext i8 %3 to i6431  %shl10 = shl nuw nsw i64 %conv9, 3232  %or11 = or i64 %or7, %shl1033  %arrayidx12 = getelementptr inbounds i8, ptr %f, i64 434  %4 = load i8, ptr %arrayidx12, align 135  %conv13 = zext i8 %4 to i6436  %shl14 = shl nuw nsw i64 %conv13, 2437  %or15 = or i64 %or11, %shl1438  %arrayidx16 = getelementptr inbounds i8, ptr %f, i64 539  %5 = load i8, ptr %arrayidx16, align 140  %conv17 = zext i8 %5 to i6441  %shl18 = shl nuw nsw i64 %conv17, 1642  %or20 = or i64 %or15, %shl1843  %arrayidx21 = getelementptr inbounds i8, ptr %f, i64 644  %6 = load i8, ptr %arrayidx21, align 145  %conv22 = zext i8 %6 to i6446  %shl23 = shl nuw nsw i64 %conv22, 847  %or25 = or i64 %or20, %shl2348  %arrayidx26 = getelementptr inbounds i8, ptr %f, i64 749  %7 = load i8, ptr %arrayidx26, align 150  %conv27 = zext i8 %7 to i6451  %or28 = or i64 %or25, %conv2752  ret i64 %or2853}54 55; Function Attrs: nofree norecurse nounwind56define void @g() local_unnamed_addr #0 {57; CHECK-LABEL: g:58; CHECK:       # %bb.0: # %entry59; CHECK-NEXT:    addis r3, r2, .LC0@toc@ha60; CHECK-NEXT:    addis r4, r2, .LC1@toc@ha61; CHECK-NEXT:    ld r3, .LC0@toc@l(r3)62; CHECK-NEXT:    ld r4, .LC1@toc@l(r4)63; CHECK-NEXT:    lxvd2x vs0, 0, r364; CHECK-NEXT:    stxvd2x vs0, 0, r465; CHECK-NEXT:    blr66entry:67  %0 = load i8, ptr getelementptr inbounds (i8, ptr @g, i64 8), align 168  %conv.i = zext i8 %0 to i6469  %shl.i = shl nuw i64 %conv.i, 5670  %1 = load i8, ptr getelementptr (i8, ptr @g, i64 9), align 171  %conv2.i = zext i8 %1 to i6472  %shl3.i = shl nuw nsw i64 %conv2.i, 4873  %or.i = or i64 %shl3.i, %shl.i74  %2 = load i8, ptr getelementptr (i8, ptr @g, i64 10), align 175  %conv5.i = zext i8 %2 to i6476  %shl6.i = shl nuw nsw i64 %conv5.i, 4077  %or7.i = or i64 %or.i, %shl6.i78  %3 = load i8, ptr getelementptr (i8, ptr @g, i64 11), align 179  %conv9.i = zext i8 %3 to i6480  %shl10.i = shl nuw nsw i64 %conv9.i, 3281  %or11.i = or i64 %or7.i, %shl10.i82  %4 = load i8, ptr getelementptr (i8, ptr @g, i64 12), align 183  %conv13.i = zext i8 %4 to i6484  %shl14.i = shl nuw nsw i64 %conv13.i, 2485  %or15.i = or i64 %or11.i, %shl14.i86  %5 = load i8, ptr getelementptr (i8, ptr @g, i64 13), align 187  %conv17.i = zext i8 %5 to i6488  %shl18.i = shl nuw nsw i64 %conv17.i, 1689  %or20.i = or i64 %or15.i, %shl18.i90  %6 = load i8, ptr getelementptr (i8, ptr @g, i64 14), align 191  %conv22.i = zext i8 %6 to i6492  %shl23.i = shl nuw nsw i64 %conv22.i, 893  %or25.i = or i64 %or20.i, %shl23.i94  %7 = load i8, ptr getelementptr (i8, ptr @g, i64 15), align 195  %conv27.i = zext i8 %7 to i6496  %or28.i = or i64 %or25.i, %conv27.i97  store i64 %or28.i, ptr getelementptr inbounds (%struct.anon, ptr @d, i64 0, i32 1), align 898  %8 = load i8, ptr @g, align 199  %conv.i2 = zext i8 %8 to i64100  %shl.i3 = shl nuw i64 %conv.i2, 56101  %9 = load i8, ptr getelementptr (i8, ptr @g, i64 1), align 1102  %conv2.i4 = zext i8 %9 to i64103  %shl3.i5 = shl nuw nsw i64 %conv2.i4, 48104  %or.i6 = or i64 %shl3.i5, %shl.i3105  %10 = load i8, ptr getelementptr (i8, ptr @g, i64 2), align 1106  %conv5.i7 = zext i8 %10 to i64107  %shl6.i8 = shl nuw nsw i64 %conv5.i7, 40108  %or7.i9 = or i64 %or.i6, %shl6.i8109  %11 = load i8, ptr getelementptr (i8, ptr @g, i64 3), align 1110  %conv9.i10 = zext i8 %11 to i64111  %shl10.i11 = shl nuw nsw i64 %conv9.i10, 32112  %or11.i12 = or i64 %or7.i9, %shl10.i11113  %12 = load i8, ptr getelementptr (i8, ptr @g, i64 4), align 1114  %conv13.i13 = zext i8 %12 to i64115  %shl14.i14 = shl nuw nsw i64 %conv13.i13, 24116  %or15.i15 = or i64 %or11.i12, %shl14.i14117  %13 = load i8, ptr getelementptr (i8, ptr @g, i64 5), align 1118  %conv17.i16 = zext i8 %13 to i64119  %shl18.i17 = shl nuw nsw i64 %conv17.i16, 16120  %or20.i18 = or i64 %or15.i15, %shl18.i17121  %14 = load i8, ptr getelementptr (i8, ptr @g, i64 6), align 1122  %conv22.i19 = zext i8 %14 to i64123  %shl23.i20 = shl nuw nsw i64 %conv22.i19, 8124  %or25.i21 = or i64 %or20.i18, %shl23.i20125  %15 = load i8, ptr getelementptr (i8, ptr @g, i64 7), align 1126  %conv27.i22 = zext i8 %15 to i64127  %or28.i23 = or i64 %or25.i21, %conv27.i22128  store i64 %or28.i23, ptr @d, align 8129  ret void130}131 132attributes #0 = { nounwind }133