38 lines · plain
1; RUN: llc -mcpu=pwr8 -mtriple=powerpc64le-unknown-unknown -verify-machineinstrs < %s | FileCheck %s2; RUN: llc -mcpu=pwr8 -mtriple=powerpc64-unknown-unknown -verify-machineinstrs < %s | FileCheck %s3 4; Function Attrs: norecurse nounwind readonly5define float @testSingleAccess(ptr nocapture readonly %arr) local_unnamed_addr #0 {6; CHECK-LABEL: testSingleAccess:7; CHECK: # %bb.0: # %entry8; CHECK-NEXT: addi 3, 3, 89; CHECK-NEXT: lfiwax 0, 0, 310; CHECK-NEXT: xscvsxdsp 1, 011; CHECK-NEXT: blr12entry:13 %arrayidx = getelementptr inbounds i32, ptr %arr, i64 214 %0 = load i32, ptr %arrayidx, align 415 %conv = sitofp i32 %0 to float16 ret float %conv17}18 19; Function Attrs: norecurse nounwind readonly20define float @testMultipleAccess(ptr nocapture readonly %arr) local_unnamed_addr #0 {21; CHECK-LABEL: testMultipleAccess:22; CHECK: # %bb.0: # %entry23; CHECK-NEXT: lwz 4, 8(3)24; CHECK-NEXT: lwz 3, 12(3)25; CHECK-NEXT: add 3, 3, 426; CHECK-NEXT: mtfprwa 0, 327; CHECK-NEXT: xscvsxdsp 1, 028; CHECK-NEXT: blr29entry:30 %arrayidx = getelementptr inbounds i32, ptr %arr, i64 231 %0 = load i32, ptr %arrayidx, align 432 %arrayidx1 = getelementptr inbounds i32, ptr %arr, i64 333 %1 = load i32, ptr %arrayidx1, align 434 %add = add nsw i32 %1, %035 %conv = sitofp i32 %add to float36 ret float %conv37}38