; RUN: opt < %s -instcombine -S | grep icmp | count 1

	%struct.FooBar = type <{ i8, i8, [2 x i8], i8, i8, i8, i8, i16, i16, [4 x i8], [8 x %struct.Rock] }>
	%struct.Rock = type { i16, i16 }
@some_idx = internal constant [4 x i8] c"\0A\0B\0E\0F"		; <[4 x i8]*> [#uses=1]

define zeroext  i8 @t(%struct.FooBar* %up, i8 zeroext  %intra_flag, i32 %blk_i) nounwind  {
entry:
	%tmp2 = lshr i32 %blk_i, 1		; <i32> [#uses=1]
	%tmp3 = and i32 %tmp2, 2		; <i32> [#uses=1]
	%tmp5 = and i32 %blk_i, 1		; <i32> [#uses=1]
	%tmp6 = or i32 %tmp3, %tmp5		; <i32> [#uses=1]
	%tmp8 = getelementptr %struct.FooBar* %up, i32 0, i32 7		; <i16*> [#uses=1]
	%tmp9 = load i16* %tmp8, align 1		; <i16> [#uses=1]
	%tmp910 = zext i16 %tmp9 to i32		; <i32> [#uses=1]
	%tmp12 = getelementptr [4 x i8]* @some_idx, i32 0, i32 %tmp6		; <i8*> [#uses=1]
	%tmp13 = load i8* %tmp12, align 1		; <i8> [#uses=1]
	%tmp1314 = zext i8 %tmp13 to i32		; <i32> [#uses=1]
	%tmp151 = lshr i32 %tmp910, %tmp1314		; <i32> [#uses=1]
	%tmp1516 = trunc i32 %tmp151 to i8		; <i8> [#uses=1]
	%tmp18 = getelementptr %struct.FooBar* %up, i32 0, i32 0		; <i8*> [#uses=1]
	%tmp19 = load i8* %tmp18, align 1		; <i8> [#uses=1]
	%tmp22 = and i8 %tmp1516, %tmp19		; <i8> [#uses=1]
	%tmp24 = getelementptr %struct.FooBar* %up, i32 0, i32 0		; <i8*> [#uses=1]
	%tmp25 = load i8* %tmp24, align 1		; <i8> [#uses=1]
	%tmp26.mask = and i8 %tmp25, 1		; <i8> [#uses=1]
	%toBool = icmp eq i8 %tmp26.mask, 0		; <i1> [#uses=1]
	%toBool.not = xor i1 %toBool, true		; <i1> [#uses=1]
	%toBool33 = icmp eq i8 %intra_flag, 0		; <i1> [#uses=1]
	%bothcond = or i1 %toBool.not, %toBool33		; <i1> [#uses=1]
	%iftmp.1.0 = select i1 %bothcond, i8 0, i8 1		; <i8> [#uses=1]
	%tmp40 = or i8 %tmp22, %iftmp.1.0		; <i8> [#uses=1]
	%tmp432 = and i8 %tmp40, 1		; <i8> [#uses=1]
	ret i8 %tmp432
}
