Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86 -mcpu=i386 | not grep 255
      2 
      3 	%struct.CONSTRAINT = type { i32, i32, i32, i32 }
      4 	%struct.FIRST_UNION = type { %struct.anon }
      5 	%struct.FOURTH_UNION = type { %struct.CONSTRAINT }
      6 	%struct.LIST = type { %struct.rec*, %struct.rec* }
      7 	%struct.SECOND_UNION = type { { i16, i8, i8 } }
      8 	%struct.THIRD_UNION = type { { [2 x i32], [2 x i32] } }
      9 	%struct.anon = type { i8, i8, i32 }
     10 	%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 }
     11 	%struct.rec = type { %struct.head_type }
     12 	%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 }>
     13 	%struct.word_type = type { [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, %struct.THIRD_UNION, [4 x i8] }
     14 
     15 define void @InsertSym_bb1163(%struct.rec** %s) {
     16 newFuncRoot:
     17 	br label %bb1163
     18 bb1233.exitStub:		; preds = %bb1163
     19 	ret void
     20 bb1163:		; preds = %newFuncRoot
     21 	%tmp1164 = load %struct.rec** %s, align 4		; <%struct.rec*> [#uses=1]
     22 	%tmp1165 = getelementptr %struct.rec* %tmp1164, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
     23 	%tmp11651166 = bitcast %struct.head_type* %tmp1165 to %struct.symbol_type*		; <%struct.symbol_type*> [#uses=1]
     24 	%tmp1167 = getelementptr %struct.symbol_type* %tmp11651166, i32 0, i32 3		; <%struct.rec**> [#uses=1]
     25 	%tmp1168 = load %struct.rec** %tmp1167, align 1		; <%struct.rec*> [#uses=2]
     26 	%tmp1169 = load %struct.rec** %s, align 4		; <%struct.rec*> [#uses=1]
     27 	%tmp1170 = getelementptr %struct.rec* %tmp1169, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
     28 	%tmp11701171 = bitcast %struct.head_type* %tmp1170 to %struct.symbol_type*		; <%struct.symbol_type*> [#uses=1]
     29 	%tmp1172 = getelementptr %struct.symbol_type* %tmp11701171, i32 0, i32 3		; <%struct.rec**> [#uses=1]
     30 	%tmp1173 = load %struct.rec** %tmp1172, align 1		; <%struct.rec*> [#uses=2]
     31 	%tmp1174 = getelementptr %struct.rec* %tmp1173, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
     32 	%tmp11741175 = bitcast %struct.head_type* %tmp1174 to %struct.word_type*		; <%struct.word_type*> [#uses=1]
     33 	%tmp1176 = getelementptr %struct.word_type* %tmp11741175, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
     34 	%tmp1177 = getelementptr %struct.SECOND_UNION* %tmp1176, i32 0, i32 0		; <{ i16, i8, i8 }*> [#uses=1]
     35 	%tmp11771178 = bitcast { i16, i8, i8 }* %tmp1177 to <{ i8, i8, i8, i8 }>*		; <<{ i8, i8, i8, i8 }>*> [#uses=1]
     36 	%tmp1179 = getelementptr <{ i8, i8, i8, i8 }>* %tmp11771178, i32 0, i32 2		; <i8*> [#uses=2]
     37 	%mask1180 = and i8 1, 1		; <i8> [#uses=2]
     38 	%tmp1181 = load i8* %tmp1179, align 1		; <i8> [#uses=1]
     39 	%tmp1182 = shl i8 %mask1180, 7		; <i8> [#uses=1]
     40 	%tmp1183 = and i8 %tmp1181, 127		; <i8> [#uses=1]
     41 	%tmp1184 = or i8 %tmp1183, %tmp1182		; <i8> [#uses=1]
     42 	store i8 %tmp1184, i8* %tmp1179, align 1
     43 	%mask1185 = and i8 %mask1180, 1		; <i8> [#uses=0]
     44 	%tmp1186 = getelementptr %struct.rec* %tmp1173, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
     45 	%tmp11861187 = bitcast %struct.head_type* %tmp1186 to %struct.word_type*		; <%struct.word_type*> [#uses=1]
     46 	%tmp1188 = getelementptr %struct.word_type* %tmp11861187, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
     47 	%tmp1189 = getelementptr %struct.SECOND_UNION* %tmp1188, i32 0, i32 0		; <{ i16, i8, i8 }*> [#uses=1]
     48 	%tmp11891190 = bitcast { i16, i8, i8 }* %tmp1189 to <{ i8, i8, i8, i8 }>*		; <<{ i8, i8, i8, i8 }>*> [#uses=1]
     49 	%tmp1191 = getelementptr <{ i8, i8, i8, i8 }>* %tmp11891190, i32 0, i32 2		; <i8*> [#uses=1]
     50 	%tmp1192 = load i8* %tmp1191, align 1		; <i8> [#uses=1]
     51 	%tmp1193 = lshr i8 %tmp1192, 7		; <i8> [#uses=1]
     52 	%mask1194 = and i8 %tmp1193, 1		; <i8> [#uses=2]
     53 	%mask1195 = and i8 %mask1194, 1		; <i8> [#uses=0]
     54 	%tmp1196 = getelementptr %struct.rec* %tmp1168, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
     55 	%tmp11961197 = bitcast %struct.head_type* %tmp1196 to %struct.word_type*		; <%struct.word_type*> [#uses=1]
     56 	%tmp1198 = getelementptr %struct.word_type* %tmp11961197, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
     57 	%tmp1199 = getelementptr %struct.SECOND_UNION* %tmp1198, i32 0, i32 0		; <{ i16, i8, i8 }*> [#uses=1]
     58 	%tmp11991200 = bitcast { i16, i8, i8 }* %tmp1199 to <{ i8, i8, i8, i8 }>*		; <<{ i8, i8, i8, i8 }>*> [#uses=1]
     59 	%tmp1201 = getelementptr <{ i8, i8, i8, i8 }>* %tmp11991200, i32 0, i32 1		; <i8*> [#uses=2]
     60 	%mask1202 = and i8 %mask1194, 1		; <i8> [#uses=2]
     61 	%tmp1203 = load i8* %tmp1201, align 1		; <i8> [#uses=1]
     62 	%tmp1204 = shl i8 %mask1202, 1		; <i8> [#uses=1]
     63 	%tmp1205 = and i8 %tmp1204, 2		; <i8> [#uses=1]
     64 	%tmp1206 = and i8 %tmp1203, -3		; <i8> [#uses=1]
     65 	%tmp1207 = or i8 %tmp1206, %tmp1205		; <i8> [#uses=1]
     66 	store i8 %tmp1207, i8* %tmp1201, align 1
     67 	%mask1208 = and i8 %mask1202, 1		; <i8> [#uses=0]
     68 	%tmp1209 = getelementptr %struct.rec* %tmp1168, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
     69 	%tmp12091210 = bitcast %struct.head_type* %tmp1209 to %struct.word_type*		; <%struct.word_type*> [#uses=1]
     70 	%tmp1211 = getelementptr %struct.word_type* %tmp12091210, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
     71 	%tmp1212 = getelementptr %struct.SECOND_UNION* %tmp1211, i32 0, i32 0		; <{ i16, i8, i8 }*> [#uses=1]
     72 	%tmp12121213 = bitcast { i16, i8, i8 }* %tmp1212 to <{ i8, i8, i8, i8 }>*		; <<{ i8, i8, i8, i8 }>*> [#uses=1]
     73 	%tmp1214 = getelementptr <{ i8, i8, i8, i8 }>* %tmp12121213, i32 0, i32 1		; <i8*> [#uses=1]
     74 	%tmp1215 = load i8* %tmp1214, align 1		; <i8> [#uses=1]
     75 	%tmp1216 = shl i8 %tmp1215, 6		; <i8> [#uses=1]
     76 	%tmp1217 = lshr i8 %tmp1216, 7		; <i8> [#uses=1]
     77 	%mask1218 = and i8 %tmp1217, 1		; <i8> [#uses=2]
     78 	%mask1219 = and i8 %mask1218, 1		; <i8> [#uses=0]
     79 	%tmp1220 = load %struct.rec** %s, align 4		; <%struct.rec*> [#uses=1]
     80 	%tmp1221 = getelementptr %struct.rec* %tmp1220, i32 0, i32 0		; <%struct.head_type*> [#uses=1]
     81 	%tmp12211222 = bitcast %struct.head_type* %tmp1221 to %struct.word_type*		; <%struct.word_type*> [#uses=1]
     82 	%tmp1223 = getelementptr %struct.word_type* %tmp12211222, i32 0, i32 2		; <%struct.SECOND_UNION*> [#uses=1]
     83 	%tmp1224 = getelementptr %struct.SECOND_UNION* %tmp1223, i32 0, i32 0		; <{ i16, i8, i8 }*> [#uses=1]
     84 	%tmp12241225 = bitcast { i16, i8, i8 }* %tmp1224 to <{ i8, i8, i8, i8 }>*		; <<{ i8, i8, i8, i8 }>*> [#uses=1]
     85 	%tmp1226 = getelementptr <{ i8, i8, i8, i8 }>* %tmp12241225, i32 0, i32 1		; <i8*> [#uses=2]
     86 	%mask1227 = and i8 %mask1218, 1		; <i8> [#uses=2]
     87 	%tmp1228 = load i8* %tmp1226, align 1		; <i8> [#uses=1]
     88 	%tmp1229 = and i8 %mask1227, 1		; <i8> [#uses=1]
     89 	%tmp1230 = and i8 %tmp1228, -2		; <i8> [#uses=1]
     90 	%tmp1231 = or i8 %tmp1230, %tmp1229		; <i8> [#uses=1]
     91 	store i8 %tmp1231, i8* %tmp1226, align 1
     92 	%mask1232 = and i8 %mask1227, 1		; <i8> [#uses=0]
     93 	br label %bb1233.exitStub
     94 }
     95