[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / X86 / 2007-10-12-SpillerUnfold1.ll
blob14cff04e1e1aa616baa6d1098a38a1708b70349a
1 ; RUN: llc < %s -mtriple=i686-- -mattr=+sse2 | grep addss | not grep esp
3 define fastcc void @fht(float* %fz, i16 signext  %n) {
4 entry:
5         br i1 true, label %bb171.preheader, label %bb431
7 bb171.preheader:                ; preds = %entry
8         %tmp176 = fadd float 0.000000e+00, 1.000000e+00         ; <float> [#uses=2]
9         %gi.1 = getelementptr float, float* %fz, i32 0          ; <float*> [#uses=2]
10         %tmp240 = load float, float* %gi.1, align 4             ; <float> [#uses=1]
11         %tmp242 = fsub float %tmp240, 0.000000e+00              ; <float> [#uses=2]
12         %tmp251 = getelementptr float, float* %fz, i32 0                ; <float*> [#uses=1]
13         %tmp252 = load float, float* %tmp251, align 4           ; <float> [#uses=1]
14         %tmp258 = getelementptr float, float* %fz, i32 0                ; <float*> [#uses=2]
15         %tmp259 = load float, float* %tmp258, align 4           ; <float> [#uses=2]
16         %tmp261 = fmul float %tmp259, %tmp176           ; <float> [#uses=1]
17         %tmp262 = fsub float 0.000000e+00, %tmp261              ; <float> [#uses=2]
18         %tmp269 = fmul float %tmp252, %tmp176           ; <float> [#uses=1]
19         %tmp276 = fmul float %tmp259, 0.000000e+00              ; <float> [#uses=1]
20         %tmp277 = fadd float %tmp269, %tmp276           ; <float> [#uses=2]
21         %tmp281 = getelementptr float, float* %fz, i32 0                ; <float*> [#uses=1]
22         %tmp282 = load float, float* %tmp281, align 4           ; <float> [#uses=2]
23         %tmp284 = fsub float %tmp282, %tmp277           ; <float> [#uses=1]
24         %tmp291 = fadd float %tmp282, %tmp277           ; <float> [#uses=1]
25         %tmp298 = fsub float 0.000000e+00, %tmp262              ; <float> [#uses=1]
26         %tmp305 = fadd float 0.000000e+00, %tmp262              ; <float> [#uses=1]
27         %tmp315 = fmul float 0.000000e+00, %tmp291              ; <float> [#uses=1]
28         %tmp318 = fmul float 0.000000e+00, %tmp298              ; <float> [#uses=1]
29         %tmp319 = fadd float %tmp315, %tmp318           ; <float> [#uses=1]
30         %tmp329 = fadd float 0.000000e+00, %tmp319              ; <float> [#uses=1]
31         store float %tmp329, float* null, align 4
32         %tmp336 = fsub float %tmp242, 0.000000e+00              ; <float> [#uses=1]
33         store float %tmp336, float* %tmp258, align 4
34         %tmp343 = fadd float %tmp242, 0.000000e+00              ; <float> [#uses=1]
35         store float %tmp343, float* null, align 4
36         %tmp355 = fmul float 0.000000e+00, %tmp305              ; <float> [#uses=1]
37         %tmp358 = fmul float 0.000000e+00, %tmp284              ; <float> [#uses=1]
38         %tmp359 = fadd float %tmp355, %tmp358           ; <float> [#uses=1]
39         %tmp369 = fadd float 0.000000e+00, %tmp359              ; <float> [#uses=1]
40         store float %tmp369, float* %gi.1, align 4
41         ret void
43 bb431:          ; preds = %entry
44         ret void