; PR1109
; RUN: opt < %s -basicaa -gvn -instcombine -S | \
; RUN:   grep {sub i32}
; RUN: opt < %s -basicaa -gvn -instcombine -S | \
; RUN:   not grep {ret i32 0}
; END.

target datalayout = "e-p:32:32"
target triple = "i686-apple-darwin8"
	%struct.CONSTRAINT = type { i32, i32, i32, i32 }
	%struct.FILE_POS = type { i8, i8, i16, i32 }
	%struct.FIRST_UNION = type { %struct.FILE_POS }
	%struct.FOURTH_UNION = type { %struct.CONSTRAINT }
	%struct.GAP = type { i8, i8, i16 }
	%struct.LIST = type { %struct.rec*, %struct.rec* }
	%struct.SECOND_UNION = type { { i16, i8, i8 } }
	%struct.STYLE = type { { %struct.GAP }, { %struct.GAP }, i16, i16, i16, i8, i8 }
	%struct.THIRD_UNION = type { { [2 x i32], [2 x i32] } }
	%struct.closure_type = type { [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, %struct.THIRD_UNION, %struct.FOURTH_UNION, %struct.rec*, { %struct.rec* } }
	%struct.head_type = type { [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, %struct.THIRD_UNION, %struct.FOURTH_UNION, %struct.rec*, { %struct.rec* }, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, i32 }
	%struct.rec = type { %struct.head_type }


define i32 @test(%struct.closure_type* %tmp18169) {
	%tmp18174 = getelementptr %struct.closure_type* %tmp18169, i32 0, i32 4, i32 0, i32 0		; <i32*> [#uses=2]
	%tmp18269 = bitcast i32* %tmp18174  to %struct.STYLE*		; <%struct.STYLE*> [#uses=1]
	%A = load i32* %tmp18174		; <i32> [#uses=1]

        %tmp18272 = getelementptr %struct.STYLE* %tmp18269, i32 0, i32 0, i32 0, i32 2          ; <i16*> [#uses=1]
        store i16 123, i16* %tmp18272

	%Q = load i32* %tmp18174		; <i32> [#uses=1]
	%Z = sub i32 %A, %Q		; <i32> [#uses=1]
	ret i32 %Z
}
