; RUN: llc < %s -march=x86 -mcpu=i386 | not grep 255

	%struct.CONSTRAINT = type { i32, i32, i32, i32 }
	%struct.FIRST_UNION = type { %struct.anon }
	%struct.FOURTH_UNION = type { %struct.CONSTRAINT }
	%struct.LIST = type { %struct.rec*, %struct.rec* }
	%struct.SECOND_UNION = type { { i16, i8, i8 } }
	%struct.THIRD_UNION = type { { [2 x i32], [2 x i32] } }
	%struct.anon = type { i8, i8, i32 }
	%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 }
	%struct.symbol_type = type <{ [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, %struct.rec*, i16, i16, i8, i8, i8, i8 }>
	%struct.word_type = type { [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, %struct.THIRD_UNION, [4 x i8] }

define void @InsertSym_bb1163(%struct.rec** %s) {
newFuncRoot:
	br label %bb1163
bb1233.exitStub:		; preds = %bb1163
	ret void
bb1163:		; preds = %newFuncRoot
	%tmp1164 = load %struct.rec** %s, align 4		; <%struct.rec*> [#uses=1]
	%tmp1165 = getelementptr %struct.rec* %tmp1164, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
	%tmp11651166 = bitcast %struct.head_type* %tmp1165 to %struct.symbol_type*		; <%struct.symbol_type*> [#uses=1]
	%tmp1167 = getelementptr %struct.symbol_type* %tmp11651166, i32 0, i32 3		; <%struct.rec**> [#uses=1]
	%tmp1168 = load %struct.rec** %tmp1167, align 1		; <%struct.rec*> [#uses=2]
	%tmp1169 = load %struct.rec** %s, align 4		; <%struct.rec*> [#uses=1]
	%tmp1170 = getelementptr %struct.rec* %tmp1169, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
	%tmp11701171 = bitcast %struct.head_type* %tmp1170 to %struct.symbol_type*		; <%struct.symbol_type*> [#uses=1]
	%tmp1172 = getelementptr %struct.symbol_type* %tmp11701171, i32 0, i32 3		; <%struct.rec**> [#uses=1]
	%tmp1173 = load %struct.rec** %tmp1172, align 1		; <%struct.rec*> [#uses=2]
	%tmp1174 = getelementptr %struct.rec* %tmp1173, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
	%tmp11741175 = bitcast %struct.head_type* %tmp1174 to %struct.word_type*		; <%struct.word_type*> [#uses=1]
	%tmp1176 = getelementptr %struct.word_type* %tmp11741175, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
	%tmp1177 = getelementptr %struct.SECOND_UNION* %tmp1176, i32 0, i32 0		; <{ i16, i8, i8 }*> [#uses=1]
	%tmp11771178 = bitcast { i16, i8, i8 }* %tmp1177 to <{ i8, i8, i8, i8 }>*		; <<{ i8, i8, i8, i8 }>*> [#uses=1]
	%tmp1179 = getelementptr <{ i8, i8, i8, i8 }>* %tmp11771178, i32 0, i32 2		; <i8*> [#uses=2]
	%mask1180 = and i8 1, 1		; <i8> [#uses=2]
	%tmp1181 = load i8* %tmp1179, align 1		; <i8> [#uses=1]
	%tmp1182 = shl i8 %mask1180, 7		; <i8> [#uses=1]
	%tmp1183 = and i8 %tmp1181, 127		; <i8> [#uses=1]
	%tmp1184 = or i8 %tmp1183, %tmp1182		; <i8> [#uses=1]
	store i8 %tmp1184, i8* %tmp1179, align 1
	%mask1185 = and i8 %mask1180, 1		; <i8> [#uses=0]
	%tmp1186 = getelementptr %struct.rec* %tmp1173, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
	%tmp11861187 = bitcast %struct.head_type* %tmp1186 to %struct.word_type*		; <%struct.word_type*> [#uses=1]
	%tmp1188 = getelementptr %struct.word_type* %tmp11861187, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
	%tmp1189 = getelementptr %struct.SECOND_UNION* %tmp1188, i32 0, i32 0		; <{ i16, i8, i8 }*> [#uses=1]
	%tmp11891190 = bitcast { i16, i8, i8 }* %tmp1189 to <{ i8, i8, i8, i8 }>*		; <<{ i8, i8, i8, i8 }>*> [#uses=1]
	%tmp1191 = getelementptr <{ i8, i8, i8, i8 }>* %tmp11891190, i32 0, i32 2		; <i8*> [#uses=1]
	%tmp1192 = load i8* %tmp1191, align 1		; <i8> [#uses=1]
	%tmp1193 = lshr i8 %tmp1192, 7		; <i8> [#uses=1]
	%mask1194 = and i8 %tmp1193, 1		; <i8> [#uses=2]
	%mask1195 = and i8 %mask1194, 1		; <i8> [#uses=0]
	%tmp1196 = getelementptr %struct.rec* %tmp1168, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
	%tmp11961197 = bitcast %struct.head_type* %tmp1196 to %struct.word_type*		; <%struct.word_type*> [#uses=1]
	%tmp1198 = getelementptr %struct.word_type* %tmp11961197, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
	%tmp1199 = getelementptr %struct.SECOND_UNION* %tmp1198, i32 0, i32 0		; <{ i16, i8, i8 }*> [#uses=1]
	%tmp11991200 = bitcast { i16, i8, i8 }* %tmp1199 to <{ i8, i8, i8, i8 }>*		; <<{ i8, i8, i8, i8 }>*> [#uses=1]
	%tmp1201 = getelementptr <{ i8, i8, i8, i8 }>* %tmp11991200, i32 0, i32 1		; <i8*> [#uses=2]
	%mask1202 = and i8 %mask1194, 1		; <i8> [#uses=2]
	%tmp1203 = load i8* %tmp1201, align 1		; <i8> [#uses=1]
	%tmp1204 = shl i8 %mask1202, 1		; <i8> [#uses=1]
	%tmp1205 = and i8 %tmp1204, 2		; <i8> [#uses=1]
	%tmp1206 = and i8 %tmp1203, -3		; <i8> [#uses=1]
	%tmp1207 = or i8 %tmp1206, %tmp1205		; <i8> [#uses=1]
	store i8 %tmp1207, i8* %tmp1201, align 1
	%mask1208 = and i8 %mask1202, 1		; <i8> [#uses=0]
	%tmp1209 = getelementptr %struct.rec* %tmp1168, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
	%tmp12091210 = bitcast %struct.head_type* %tmp1209 to %struct.word_type*		; <%struct.word_type*> [#uses=1]
	%tmp1211 = getelementptr %struct.word_type* %tmp12091210, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
	%tmp1212 = getelementptr %struct.SECOND_UNION* %tmp1211, i32 0, i32 0		; <{ i16, i8, i8 }*> [#uses=1]
	%tmp12121213 = bitcast { i16, i8, i8 }* %tmp1212 to <{ i8, i8, i8, i8 }>*		; <<{ i8, i8, i8, i8 }>*> [#uses=1]
	%tmp1214 = getelementptr <{ i8, i8, i8, i8 }>* %tmp12121213, i32 0, i32 1		; <i8*> [#uses=1]
	%tmp1215 = load i8* %tmp1214, align 1		; <i8> [#uses=1]
	%tmp1216 = shl i8 %tmp1215, 6		; <i8> [#uses=1]
	%tmp1217 = lshr i8 %tmp1216, 7		; <i8> [#uses=1]
	%mask1218 = and i8 %tmp1217, 1		; <i8> [#uses=2]
	%mask1219 = and i8 %mask1218, 1		; <i8> [#uses=0]
	%tmp1220 = load %struct.rec** %s, align 4		; <%struct.rec*> [#uses=1]
	%tmp1221 = getelementptr %struct.rec* %tmp1220, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
	%tmp12211222 = bitcast %struct.head_type* %tmp1221 to %struct.word_type*		; <%struct.word_type*> [#uses=1]
	%tmp1223 = getelementptr %struct.word_type* %tmp12211222, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
	%tmp1224 = getelementptr %struct.SECOND_UNION* %tmp1223, i32 0, i32 0		; <{ i16, i8, i8 }*> [#uses=1]
	%tmp12241225 = bitcast { i16, i8, i8 }* %tmp1224 to <{ i8, i8, i8, i8 }>*		; <<{ i8, i8, i8, i8 }>*> [#uses=1]
	%tmp1226 = getelementptr <{ i8, i8, i8, i8 }>* %tmp12241225, i32 0, i32 1		; <i8*> [#uses=2]
	%mask1227 = and i8 %mask1218, 1		; <i8> [#uses=2]
	%tmp1228 = load i8* %tmp1226, align 1		; <i8> [#uses=1]
	%tmp1229 = and i8 %mask1227, 1		; <i8> [#uses=1]
	%tmp1230 = and i8 %tmp1228, -2		; <i8> [#uses=1]
	%tmp1231 = or i8 %tmp1230, %tmp1229		; <i8> [#uses=1]
	store i8 %tmp1231, i8* %tmp1226, align 1
	%mask1232 = and i8 %mask1227, 1		; <i8> [#uses=0]
	br label %bb1233.exitStub
}
