; RUN: llc < %s -march=ppc32
; END.

	%struct.attr_desc = type { i8*, %struct.attr_desc*, %struct.attr_value*, %struct.attr_value*, i32 }
	%struct.attr_value = type { %struct.rtx_def*, %struct.attr_value*, %struct.insn_ent*, i32, i32 }
	%struct.insn_def = type { %struct.insn_def*, %struct.rtx_def*, i32, i32, i32, i32, i32 }
	%struct.insn_ent = type { %struct.insn_ent*, %struct.insn_def* }
	%struct.rtx_def = type { i16, i8, i8, %struct.u }
	%struct.u = type { [1 x i64] }

define void @find_attr() {
entry:
	%tmp26 = icmp eq %struct.attr_desc* null, null		; <i1> [#uses=1]
	br i1 %tmp26, label %bb30, label %cond_true27
cond_true27:		; preds = %entry
	ret void
bb30:		; preds = %entry
	%tmp67 = icmp eq %struct.attr_desc* null, null		; <i1> [#uses=1]
	br i1 %tmp67, label %cond_next92, label %cond_true68
cond_true68:		; preds = %bb30
	ret void
cond_next92:		; preds = %bb30
	%tmp173 = getelementptr %struct.attr_desc* null, i32 0, i32 4		; <i32*> [#uses=2]
	%tmp174 = load i32* %tmp173		; <i32> [#uses=1]
	%tmp177 = and i32 %tmp174, -9		; <i32> [#uses=1]
	store i32 %tmp177, i32* %tmp173
	%tmp180 = getelementptr %struct.attr_desc* null, i32 0, i32 4		; <i32*> [#uses=1]
	%tmp181 = load i32* %tmp180		; <i32> [#uses=1]
	%tmp185 = getelementptr %struct.attr_desc* null, i32 0, i32 4		; <i32*> [#uses=2]
	%tmp186 = load i32* %tmp185		; <i32> [#uses=1]
	%tmp183187 = shl i32 %tmp181, 1		; <i32> [#uses=1]
	%tmp188 = and i32 %tmp183187, 16		; <i32> [#uses=1]
	%tmp190 = and i32 %tmp186, -17		; <i32> [#uses=1]
	%tmp191 = or i32 %tmp190, %tmp188		; <i32> [#uses=1]
	store i32 %tmp191, i32* %tmp185
	%tmp193 = getelementptr %struct.attr_desc* null, i32 0, i32 4		; <i32*> [#uses=1]
	%tmp194 = load i32* %tmp193		; <i32> [#uses=1]
	%tmp198 = getelementptr %struct.attr_desc* null, i32 0, i32 4		; <i32*> [#uses=2]
	%tmp199 = load i32* %tmp198		; <i32> [#uses=1]
	%tmp196200 = shl i32 %tmp194, 2		; <i32> [#uses=1]
	%tmp201 = and i32 %tmp196200, 64		; <i32> [#uses=1]
	%tmp203 = and i32 %tmp199, -65		; <i32> [#uses=1]
	%tmp204 = or i32 %tmp203, %tmp201		; <i32> [#uses=1]
	store i32 %tmp204, i32* %tmp198
	%tmp206 = getelementptr %struct.attr_desc* null, i32 0, i32 4		; <i32*> [#uses=1]
	%tmp207 = load i32* %tmp206		; <i32> [#uses=1]
	%tmp211 = getelementptr %struct.attr_desc* null, i32 0, i32 4		; <i32*> [#uses=2]
	%tmp212 = load i32* %tmp211		; <i32> [#uses=1]
	%tmp209213 = shl i32 %tmp207, 1		; <i32> [#uses=1]
	%tmp214 = and i32 %tmp209213, 128		; <i32> [#uses=1]
	%tmp216 = and i32 %tmp212, -129		; <i32> [#uses=1]
	%tmp217 = or i32 %tmp216, %tmp214		; <i32> [#uses=1]
	store i32 %tmp217, i32* %tmp211
	ret void
}
