brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.5 KiB · a7257da Raw
94 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-- -mcpu=i386 | FileCheck %s3 4	%struct.CONSTRAINT = type { i32, i32, i32, i32 }5	%struct.FIRST_UNION = type { %struct.anon }6	%struct.FOURTH_UNION = type { %struct.CONSTRAINT }7	%struct.LIST = type { ptr, ptr }8	%struct.SECOND_UNION = type { { i16, i8, i8 } }9	%struct.THIRD_UNION = type { { [2 x i32], [2 x i32] } }10	%struct.anon = type { i8, i8, i32 }11	%struct.head_type = type { [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, %struct.THIRD_UNION, %struct.FOURTH_UNION, ptr, { ptr }, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32 }12	%struct.rec = type { %struct.head_type }13	%struct.symbol_type = type <{ [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i16, i16, i8, i8, i8, i8 }>14	%struct.word_type = type { [2 x %struct.LIST], %struct.FIRST_UNION, %struct.SECOND_UNION, %struct.THIRD_UNION, [4 x i8] }15 16define void @InsertSym_bb1163(ptr %s) {17; CHECK-LABEL: InsertSym_bb1163:18; CHECK:       # %bb.0: # %newFuncRoot19; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax20; CHECK-NEXT:    movl (%eax), %ecx21; CHECK-NEXT:    movl 28(%ecx), %ecx22; CHECK-NEXT:    orb $-128, 26(%ecx)23; CHECK-NEXT:    orb $2, 25(%ecx)24; CHECK-NEXT:    movl (%eax), %eax25; CHECK-NEXT:    orb $1, 25(%eax)26; CHECK-NEXT:    retl27newFuncRoot:28	br label %bb116329bb1233.exitStub:		; preds = %bb116330	ret void31bb1163:		; preds = %newFuncRoot32	%tmp1164 = load ptr, ptr %s, align 4		; <ptr> [#uses=1]33	%tmp1165 = getelementptr %struct.rec, ptr %tmp1164, i32 0, i32 0		; <ptr> [#uses=1]34	%tmp1167 = getelementptr %struct.symbol_type, ptr %tmp1165, i32 0, i32 3		; <ptr> [#uses=1]35	%tmp1168 = load ptr, ptr %tmp1167, align 1		; <ptr> [#uses=2]36	%tmp1169 = load ptr, ptr %s, align 4		; <ptr> [#uses=1]37	%tmp1170 = getelementptr %struct.rec, ptr %tmp1169, i32 0, i32 0		; <ptr> [#uses=1]38	%tmp1172 = getelementptr %struct.symbol_type, ptr %tmp1170, i32 0, i32 3		; <ptr> [#uses=1]39	%tmp1173 = load ptr, ptr %tmp1172, align 1		; <ptr> [#uses=2]40	%tmp1174 = getelementptr %struct.rec, ptr %tmp1173, i32 0, i32 0		; <ptr> [#uses=1]41	%tmp1176 = getelementptr %struct.word_type, ptr %tmp1174, i32 0, i32 2		; <ptr> [#uses=1]42	%tmp1177 = getelementptr %struct.SECOND_UNION, ptr %tmp1176, i32 0, i32 0		; <ptr> [#uses=1]43	%tmp1179 = getelementptr <{ i8, i8, i8, i8 }>, ptr %tmp1177, i32 0, i32 2		; <ptr> [#uses=2]44	%mask1180 = and i8 1, 1		; <i8> [#uses=2]45	%tmp1181 = load i8, ptr %tmp1179, align 1		; <i8> [#uses=1]46	%tmp1182 = shl i8 %mask1180, 7		; <i8> [#uses=1]47	%tmp1183 = and i8 %tmp1181, 127		; <i8> [#uses=1]48	%tmp1184 = or i8 %tmp1183, %tmp1182		; <i8> [#uses=1]49	store i8 %tmp1184, ptr %tmp1179, align 150	%mask1185 = and i8 %mask1180, 1		; <i8> [#uses=0]51	%tmp1186 = getelementptr %struct.rec, ptr %tmp1173, i32 0, i32 0		; <ptr> [#uses=1]52	%tmp1188 = getelementptr %struct.word_type, ptr %tmp1186, i32 0, i32 2		; <ptr> [#uses=1]53	%tmp1189 = getelementptr %struct.SECOND_UNION, ptr %tmp1188, i32 0, i32 0		; <ptr> [#uses=1]54	%tmp1191 = getelementptr <{ i8, i8, i8, i8 }>, ptr %tmp1189, i32 0, i32 2		; <ptr> [#uses=1]55	%tmp1192 = load i8, ptr %tmp1191, align 1		; <i8> [#uses=1]56	%tmp1193 = lshr i8 %tmp1192, 7		; <i8> [#uses=1]57	%mask1194 = and i8 %tmp1193, 1		; <i8> [#uses=2]58	%mask1195 = and i8 %mask1194, 1		; <i8> [#uses=0]59	%tmp1196 = getelementptr %struct.rec, ptr %tmp1168, i32 0, i32 0		; <ptr> [#uses=1]60	%tmp1198 = getelementptr %struct.word_type, ptr %tmp1196, i32 0, i32 2		; <ptr> [#uses=1]61	%tmp1199 = getelementptr %struct.SECOND_UNION, ptr %tmp1198, i32 0, i32 0		; <ptr> [#uses=1]62	%tmp1201 = getelementptr <{ i8, i8, i8, i8 }>, ptr %tmp1199, i32 0, i32 1		; <ptr> [#uses=2]63	%mask1202 = and i8 %mask1194, 1		; <i8> [#uses=2]64	%tmp1203 = load i8, ptr %tmp1201, align 1		; <i8> [#uses=1]65	%tmp1204 = shl i8 %mask1202, 1		; <i8> [#uses=1]66	%tmp1205 = and i8 %tmp1204, 2		; <i8> [#uses=1]67	%tmp1206 = and i8 %tmp1203, -3		; <i8> [#uses=1]68	%tmp1207 = or i8 %tmp1206, %tmp1205		; <i8> [#uses=1]69	store i8 %tmp1207, ptr %tmp1201, align 170	%mask1208 = and i8 %mask1202, 1		; <i8> [#uses=0]71	%tmp1209 = getelementptr %struct.rec, ptr %tmp1168, i32 0, i32 0		; <ptr> [#uses=1]72	%tmp1211 = getelementptr %struct.word_type, ptr %tmp1209, i32 0, i32 2		; <ptr> [#uses=1]73	%tmp1212 = getelementptr %struct.SECOND_UNION, ptr %tmp1211, i32 0, i32 0		; <ptr> [#uses=1]74	%tmp1214 = getelementptr <{ i8, i8, i8, i8 }>, ptr %tmp1212, i32 0, i32 1		; <ptr> [#uses=1]75	%tmp1215 = load i8, ptr %tmp1214, align 1		; <i8> [#uses=1]76	%tmp1216 = shl i8 %tmp1215, 6		; <i8> [#uses=1]77	%tmp1217 = lshr i8 %tmp1216, 7		; <i8> [#uses=1]78	%mask1218 = and i8 %tmp1217, 1		; <i8> [#uses=2]79	%mask1219 = and i8 %mask1218, 1		; <i8> [#uses=0]80	%tmp1220 = load ptr, ptr %s, align 4		; <ptr> [#uses=1]81	%tmp1221 = getelementptr %struct.rec, ptr %tmp1220, i32 0, i32 0		; <ptr> [#uses=1]82	%tmp1223 = getelementptr %struct.word_type, ptr %tmp1221, i32 0, i32 2		; <ptr> [#uses=1]83	%tmp1224 = getelementptr %struct.SECOND_UNION, ptr %tmp1223, i32 0, i32 0		; <ptr> [#uses=1]84	%tmp1226 = getelementptr <{ i8, i8, i8, i8 }>, ptr %tmp1224, i32 0, i32 1		; <ptr> [#uses=2]85	%mask1227 = and i8 %mask1218, 1		; <i8> [#uses=2]86	%tmp1228 = load i8, ptr %tmp1226, align 1		; <i8> [#uses=1]87	%tmp1229 = and i8 %mask1227, 1		; <i8> [#uses=1]88	%tmp1230 = and i8 %tmp1228, -2		; <i8> [#uses=1]89	%tmp1231 = or i8 %tmp1230, %tmp1229		; <i8> [#uses=1]90	store i8 %tmp1231, ptr %tmp1226, align 191	%mask1232 = and i8 %mask1227, 1		; <i8> [#uses=0]92	br label %bb1233.exitStub93}94