Home | History | Annotate | Download | only in PowerPC
      1 ; RUN: llc -mcpu=ppc64 < %s | FileCheck %s
      2 target datalayout = "E-m:e-i64:64-n32:64"
      3 target triple = "powerpc64-unknown-linux-gnu"
      4 
      5 ; Function Attrs: nounwind readonly
      6 define float @tf(float* nocapture readonly %i, i32 signext %o) #0 {
      7 entry:
      8   %idx.ext = sext i32 %o to i64
      9   %add.ptr = getelementptr inbounds float, float* %i, i64 %idx.ext
     10   %0 = load float, float* %add.ptr, align 4
     11   %add.ptr.sum = add nsw i64 %idx.ext, 1
     12   %add.ptr3 = getelementptr inbounds float, float* %i, i64 %add.ptr.sum
     13   %1 = load float, float* %add.ptr3, align 4
     14   %add = fadd float %0, %1
     15   ret float %add
     16 
     17 ; CHECK-LABEL: @tf
     18 ; CHECK: lfsux
     19 ; CHECK: blr
     20 }
     21 
     22 ; Function Attrs: nounwind readonly
     23 define double @td(double* nocapture readonly %i, i32 signext %o) #0 {
     24 entry:
     25   %idx.ext = sext i32 %o to i64
     26   %add.ptr = getelementptr inbounds double, double* %i, i64 %idx.ext
     27   %0 = load double, double* %add.ptr, align 8
     28   %add.ptr.sum = add nsw i64 %idx.ext, 1
     29   %add.ptr3 = getelementptr inbounds double, double* %i, i64 %add.ptr.sum
     30   %1 = load double, double* %add.ptr3, align 8
     31   %add = fadd double %0, %1
     32   ret double %add
     33 
     34 ; CHECK-LABEL: @td
     35 ; CHECK: lfdux
     36 ; CHECK: blr
     37 }
     38 
     39 attributes #0 = { nounwind readonly }
     40 
     41