[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / PowerPC / flt-preinc.ll
blobde899a721fcc4a19e06982aecfdacfa908c4c908
1 ; RUN: llc -verify-machineinstrs -mcpu=ppc64 < %s | FileCheck %s
2 target datalayout = "E-m:e-i64:64-n32:64"
3 target triple = "powerpc64-unknown-linux-gnu"
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
17 ; CHECK-LABEL: @tf
18 ; CHECK: lfsux
19 ; CHECK: blr
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
34 ; CHECK-LABEL: @td
35 ; CHECK: lfdux
36 ; CHECK: blr
39 attributes #0 = { nounwind readonly }