blob: 960e6b61b5bd7bb39de9044dbdb0be245fc6c153 [file] [log] [blame]
Kyle Butt07d61422016-08-16 22:56:14 +00001; RUN: llc -O2 < %s | FileCheck %s
2target datalayout = "e-m:e-i64:64-n32:64"
3target triple = "powerpc64le-unknown-linux-gnu"
4
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
Ehsan Amiric90b02c2016-10-24 17:31:09 +00008; CHECK: xxlxor
Kyle Butt07d61422016-08-16 22:56:14 +00009; 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
16define void @__fmax_double3_3D_exec(<2 x double>* %input6, i1 %bool1, i1 %bool2) #0 {
17entry:
18 br i1 %bool1, label %if.then.i, label %fmax_double3.exit
19
20if.then.i: ; preds = %entry
21 store <2 x double> zeroinitializer, <2 x double>* %input6, align 32
22 br label %fmax_double3.exit
23
24fmax_double3.exit: ; preds = %if.then.i, %entry
25 br i1 %bool2, label %if.then, label %do.end
26
27if.then: ; preds = %fmax_double3.exit
28 unreachable
29
30do.end: ; preds = %fmax_double3.exit
31 ret void
32}
33
34attributes #0 = { nounwind }