[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / PowerPC / vsx-self-copy.ll
blob6a6008d23928e3cfe495474a8233a52e8c948d17
1 ; RUN: llc -mcpu=pwr7 -mattr=+vsx < %s -verify-machineinstrs | FileCheck %s
2 ; RUN: llc -mcpu=pwr7 -mattr=+vsx -fast-isel -O0 < %s -verify-machineinstrs | FileCheck %s
3 target datalayout = "E-m:e-i64:64-n32:64"
4 target triple = "powerpc64-unknown-linux-gnu"
6 define double @takFP(double %x, double %y, double %z) #0 {
7 entry:
8   br i1 undef, label %if.then, label %return
10 if.then:                                          ; preds = %if.then, %entry
11   %x.tr16 = phi double [ %call, %if.then ], [ %x, %entry ]
12   %call = tail call double @takFP(double undef, double undef, double undef)
13   %call4 = tail call double @takFP(double undef, double %x.tr16, double undef)
14   %cmp = fcmp olt double undef, %call
15   br i1 %cmp, label %if.then, label %return
17 return:                                           ; preds = %if.then, %entry
18   %z.tr.lcssa = phi double [ %z, %entry ], [ %call4, %if.then ]
19   ret double %z.tr.lcssa
21 ; CHECK: @takFP
22 ; CHECK-NOT: xxlor 0, 0, 0
23 ; CHECK: blr
26 attributes #0 = { nounwind readnone }
27 attributes #1 = { nounwind }