Fixed some bugs in register stack pass.
[llvm/zpu.git] / test / CodeGen / X86 / 2006-08-07-CycleInDAG.ll
blobaea707ee8fe49b05dfcaa83841bacb140868177e
1 ; RUN: llc < %s -march=x86 -mattr=+sse2
2         %struct.foo = type opaque
4 define fastcc i32 @test(%struct.foo* %v, %struct.foo* %vi) {
5         br i1 false, label %ilog2.exit, label %cond_true.i
7 cond_true.i:            ; preds = %0
8         ret i32 0
10 ilog2.exit:             ; preds = %0
11         %tmp24.i = load i32* null               ; <i32> [#uses=1]
12         %tmp13.i12.i = tail call double @ldexp( double 0.000000e+00, i32 0 )            ; <double> [#uses=1]
13         %tmp13.i13.i = fptrunc double %tmp13.i12.i to float             ; <float> [#uses=1]
14         %tmp11.s = load i32* null               ; <i32> [#uses=1]
15         %tmp11.i = bitcast i32 %tmp11.s to i32          ; <i32> [#uses=1]
16         %n.i = bitcast i32 %tmp24.i to i32              ; <i32> [#uses=1]
17         %tmp13.i7 = mul i32 %tmp11.i, %n.i              ; <i32> [#uses=1]
18         %tmp.i8 = tail call i8* @calloc( i32 %tmp13.i7, i32 4 )         ; <i8*> [#uses=0]
19         br i1 false, label %bb224.preheader.i, label %bb.i
21 bb.i:           ; preds = %ilog2.exit
22         ret i32 0
24 bb224.preheader.i:              ; preds = %ilog2.exit
25         %tmp165.i = fpext float %tmp13.i13.i to double          ; <double> [#uses=0]
26         ret i32 0
29 declare i8* @calloc(i32, i32)
31 declare double @ldexp(double, i32)