blob: efab8ab704cabd819a065cb44be60db6ee0d883b [file] [log] [blame]
Matt Arsenaultef002832016-10-28 20:00:33 +00001; RUN: opt < %s -S -speculative-execution \
2; RUN: -spec-exec-max-speculation-cost 4 -spec-exec-max-not-hoisted 3 \
3; RUN: | FileCheck %s
4
5; CHECK-LABEL: @ifThen_fadd(
6; CHECK: fadd
7; CHECK: br i1 true
8define void @ifThen_fadd() {
9 br i1 true, label %a, label %b
10
11a:
12 %x = fadd float undef, undef
13 br label %b
14
15b:
16 ret void
17}
18
19; CHECK-LABEL: @ifThen_fsub(
20; CHECK: fsub
21; CHECK: br i1 true
22define void @ifThen_fsub() {
23 br i1 true, label %a, label %b
24
25a:
26 %x = fsub float undef, undef
27 br label %b
28
29b:
30 ret void
31}
32
33; CHECK-LABEL: @ifThen_fneg(
34; CHECK: fsub float -0.0
35; CHECK: br i1 true
36define void @ifThen_fneg() {
37 br i1 true, label %a, label %b
38
39a:
40 %x = fsub float -0.0, undef
41 br label %b
42
43b:
44 ret void
45}
46
47; CHECK-LABEL: @ifThen_fmul(
48; CHECK: fmul
49; CHECK: br i1 true
50define void @ifThen_fmul() {
51 br i1 true, label %a, label %b
52
53a:
54 %x = fmul float undef, undef
55 br label %b
56
57b:
58 ret void
59}
60
61; CHECK-LABEL: @ifThen_fdiv(
62; CHECK: fdiv
63; CHECK: br i1 true
64define void @ifThen_fdiv() {
65 br i1 true, label %a, label %b
66
67a:
68 %x = fdiv float undef, undef
69 br label %b
70
71b:
72 ret void
73}
74
75; CHECK-LABEL: @ifThen_frem(
76; CHECK: frem
77; CHECK: br i1 true
78define void @ifThen_frem() {
79 br i1 true, label %a, label %b
80
81a:
82 %x = frem float undef, undef
83 br label %b
84
85b:
86 ret void
87}