[X86] combineTargetShuffle - commute VPERMV3 shuffles so any load is on the RHS
[llvm-project.git] / llvm / test / CodeGen / PowerPC / tail-dup-analyzable-fallthrough.ll
blob6f102eed65c7a98deb44e4719571b059b7912d6f
1 ; RUN: llc -O2 < %s | FileCheck %s
2 target datalayout = "e-m:e-i64:64-n32:64"
3 target triple = "powerpc64le-unknown-linux-gnu"
5 ; Check that the conditional return block of fmax_double3.exit was not
6 ; duplicated into the if.then.i block
7 ; CHECK: # %if.then.i
8 ; CHECK: xxlxor
9 ; CHECK: stxvd2x
10 ; CHECK-NOT: bclr
11 ; CHECK: {{^}}.LBB{{[0-9_]+}}:
12 ; CHECK-SAME: # %fmax_double3.exit
13 ; CHECK: bclr
14 ; CHECK: # %if.then
15 ; Function Attrs: nounwind
16 define void @__fmax_double3_3D_exec(ptr %input6, i1 %bool1, i1 %bool2) #0 {
17 entry:
18   br i1 %bool1, label %if.then.i, label %fmax_double3.exit
20 if.then.i:                                        ; preds = %entry
21   store <2 x double> zeroinitializer, ptr %input6, align 32
22   br label %fmax_double3.exit
24 fmax_double3.exit:                                ; preds = %if.then.i, %entry
25   br i1 %bool2, label %if.then, label %do.end
27 if.then:                                          ; preds = %fmax_double3.exit
28   unreachable
30 do.end:                                           ; preds = %fmax_double3.exit
31   ret void
34 attributes #0 = { nounwind }