Fix another infinite loop in Reassociate caused by Constant::isZero().
[oota-llvm.git] / test / Transforms / Reassociate / fp-expr.ll
1 ; RUN: opt -S -reassociate < %s | FileCheck %s
2
3 define void @test1() {
4 ; CHECK-LABEL: @test1
5 ; CHECK: call
6 ; CHECK: fsub
7 ; CHECK: fadd
8   %tmp = tail call <4 x float> @blam()
9   %tmp23 = fsub fast <4 x float> undef, %tmp
10   %tmp24 = fadd fast <4 x float> %tmp23, undef
11   tail call void @wombat(<4 x float> %tmp24)
12   ret void
13 }
14
15 define half @test2() {
16 ; CHECK-LABEL: @test2
17 ; CHECK: fsub
18 ; CHECK: fsub
19 ; CHECK: fadd
20   %tmp15 = fsub fast half undef, undef
21   %tmp17 = fsub fast half undef, %tmp15
22   %tmp18 = fadd fast half undef, %tmp17
23   ret half %tmp18
24 }
25
26
27
28 ; Function Attrs: optsize
29 declare <4 x float> @blam()
30
31 ; Function Attrs: optsize
32 declare void @wombat(<4 x float>)
33