; RUN: llc < %s -march=x86 | FileCheck %s

target triple = "i686-pc-linux-gnu"
@str = internal constant [9 x i8] c"%f+%f*i\0A\00"              ; <[9 x i8]*> [#uses=1]

define i32 @main() {
; CHECK-LABEL: main:
; CHECK-NOT: ret
; CHECK: subl $12, %esp
; CHECK: pushl
; CHECK: pushl
; CHECK: pushl
; CHECK: pushl
; CHECK: pushl
; CHECK: calll cexp
; CHECK: addl $28, %esp
; CHECK: ret

entry:
        %retval = alloca i32, align 4           ; <i32*> [#uses=1]
        %tmp = alloca { double, double }, align 16              ; <{ double, double }*> [#uses=4]
        %tmp1 = alloca { double, double }, align 16             ; <{ double, double }*> [#uses=4]
        %tmp2 = alloca { double, double }, align 16             ; <{ double, double }*> [#uses=3]
        %pi = alloca double, align 8            ; <double*> [#uses=2]
        %z = alloca { double, double }, align 16                ; <{ double, double }*> [#uses=4]
        %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
        store double 0x400921FB54442D18, double* %pi
        %tmp.upgrd.1 = load double, double* %pi         ; <double> [#uses=1]
        %real = getelementptr { double, double }, { double, double }* %tmp1, i64 0, i32 0           ; <double*> [#uses=1]
        store double 0.000000e+00, double* %real
        %real3 = getelementptr { double, double }, { double, double }* %tmp1, i64 0, i32 1          ; <double*> [#uses=1]
        store double %tmp.upgrd.1, double* %real3
        %tmp.upgrd.2 = getelementptr { double, double }, { double, double }* %tmp, i64 0, i32 0             ; <double*> [#uses=1]
        %tmp4 = getelementptr { double, double }, { double, double }* %tmp1, i64 0, i32 0           ; <double*> [#uses=1]
        %tmp5 = load double, double* %tmp4              ; <double> [#uses=1]
        store double %tmp5, double* %tmp.upgrd.2
        %tmp6 = getelementptr { double, double }, { double, double }* %tmp, i64 0, i32 1            ; <double*> [#uses=1]
        %tmp7 = getelementptr { double, double }, { double, double }* %tmp1, i64 0, i32 1           ; <double*> [#uses=1]
        %tmp8 = load double, double* %tmp7              ; <double> [#uses=1]
        store double %tmp8, double* %tmp6
        %tmp.upgrd.3 = bitcast { double, double }* %tmp to { i64, i64 }*                ; <{ i64, i64 }*> [#uses=1]
        %tmp.upgrd.4 = getelementptr { i64, i64 }, { i64, i64 }* %tmp.upgrd.3, i64 0, i32 0           ; <i64*> [#uses=1]
        %tmp.upgrd.5 = load i64, i64* %tmp.upgrd.4           ; <i64> [#uses=1]
        %tmp9 = bitcast { double, double }* %tmp to { i64, i64 }*               ; <{ i64, i64 }*> [#uses=1]
        %tmp10 = getelementptr { i64, i64 }, { i64, i64 }* %tmp9, i64 0, i32 1                ; <i64*> [#uses=1]
        %tmp11 = load i64, i64* %tmp10               ; <i64> [#uses=1]
        call void @cexp( { double, double }* sret  %tmp2, i64 %tmp.upgrd.5, i64 %tmp11 )
        %tmp12 = getelementptr { double, double }, { double, double }* %z, i64 0, i32 0             ; <double*> [#uses=1]
        %tmp13 = getelementptr { double, double }, { double, double }* %tmp2, i64 0, i32 0          ; <double*> [#uses=1]
        %tmp14 = load double, double* %tmp13            ; <double> [#uses=1]
        store double %tmp14, double* %tmp12
        %tmp15 = getelementptr { double, double }, { double, double }* %z, i64 0, i32 1             ; <double*> [#uses=1]
        %tmp16 = getelementptr { double, double }, { double, double }* %tmp2, i64 0, i32 1          ; <double*> [#uses=1]
        %tmp17 = load double, double* %tmp16            ; <double> [#uses=1]
        store double %tmp17, double* %tmp15
        %tmp18 = getelementptr { double, double }, { double, double }* %z, i64 0, i32 1             ; <double*> [#uses=1]
        %tmp19 = load double, double* %tmp18            ; <double> [#uses=1]
        %tmp20 = getelementptr { double, double }, { double, double }* %z, i64 0, i32 0             ; <double*> [#uses=1]
        %tmp21 = load double, double* %tmp20            ; <double> [#uses=1]
        %tmp.upgrd.6 = getelementptr [9 x i8], [9 x i8]* @str, i32 0, i64 0               ; <i8*> [#uses=1]
        %tmp.upgrd.7 = call i32 (i8*, ...) @printf( i8* %tmp.upgrd.6, double %tmp21, double %tmp19 )           ; <i32> [#uses=0]
        br label %finish
finish:
        %retval.upgrd.8 = load i32, i32* %retval             ; <i32> [#uses=1]
        ret i32 %retval.upgrd.8
}

declare void @cexp({ double, double }* sret , i64, i64)

declare i32 @printf(i8*, ...)

