Lines Matching +full:0 +full:x302
3 ; RUN: llc -mtriple=i686-unknown-unknown -mattr=+avx -fixup-byte-word-insts=0 < %s | FileCheck -check-prefixes=X86,X86-BWOFF %s
5 ; RUN: llc -mtriple=x86_64-unknown-unknown -mattr=+avx -fixup-byte-word-insts=0 < %s | FileCheck -check-prefixes=X64,X64-BWOFF %s
14 ; X86: # %bb.0:
15 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
19 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
23 ; X86-NEXT: movl $67305985, (%ecx) # imm = 0x4030201
24 ; X86-NEXT: movl $134678021, 4(%ecx) # imm = 0x8070605
32 ; X64: # %bb.0:
36 ; X64-NEXT: movabsq $578437695752307201, %rax # imm = 0x807060504030201
46 %1 = icmp sgt i32 %count, 0
49 %i.02 = phi i32 [ %10, %.lr.ph ], [ 0, %0 ]
50 %.01 = phi ptr [ %11, %.lr.ph ], [ %p, %0 ]
51 %2 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 0
53 %3 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 1
55 %4 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 2
57 %5 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 3
59 %6 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 4
61 %7 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 5
63 %8 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 6
65 %9 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 7
78 ; X86: # %bb.0:
79 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
83 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
87 ; X86-NEXT: movl $0, (%ecx)
88 ; X86-NEXT: movl $0, 4(%ecx)
89 ; X86-NEXT: movl $0, 8(%ecx)
90 ; X86-NEXT: movl $0, 12(%ecx)
91 ; X86-NEXT: movl $0, 16(%ecx)
92 ; X86-NEXT: movl $0, 20(%ecx)
93 ; X86-NEXT: movl $0, 24(%ecx)
94 ; X86-NEXT: movl $0, 28(%ecx)
102 ; X64: # %bb.0:
108 ; X64-NEXT: movq $0, (%rsi)
109 ; X64-NEXT: movq $0, 8(%rsi)
110 ; X64-NEXT: movq $0, 16(%rsi)
111 ; X64-NEXT: movq $0, 24(%rsi)
117 %1 = icmp sgt i32 %count, 0
120 %i.02 = phi i32 [ %10, %.lr.ph ], [ 0, %0 ]
121 %.01 = phi ptr [ %11, %.lr.ph ], [ %p, %0 ]
122 %2 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 0
123 store i32 0, ptr %2, align 4
124 %3 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 1
125 store i32 0, ptr %3, align 4
126 %4 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 2
127 store i32 0, ptr %4, align 4
128 %5 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 3
129 store i32 0, ptr %5, align 4
130 %6 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 4
131 store i32 0, ptr %6, align 4
132 %7 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 5
133 store i32 0, ptr %7, align 4
134 %8 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 6
135 store i32 0, ptr %8, align 4
136 %9 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 7
137 store i32 0, ptr %9, align 4
149 ; X86: # %bb.0:
150 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
154 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
168 ; X64: # %bb.0:
183 %1 = icmp sgt i32 %count, 0
186 %i.02 = phi i32 [ %10, %.lr.ph ], [ 0, %0 ]
187 %.01 = phi ptr [ %11, %.lr.ph ], [ %p, %0 ]
188 %2 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 0
189 store i32 0, ptr %2, align 4
190 %3 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 1
191 store i32 0, ptr %3, align 4
192 %4 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 2
193 store i32 0, ptr %4, align 4
194 %5 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 3
195 store i32 0, ptr %5, align 4
196 %6 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 4
197 store i32 0, ptr %6, align 4
198 %7 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 5
199 store i32 0, ptr %7, align 4
200 %8 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 6
201 store i32 0, ptr %8, align 4
202 %9 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 7
203 store i32 0, ptr %9, align 4
215 ; X86-BWON: # %bb.0:
216 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %eax
220 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %ecx
221 ; X86-BWON-NEXT: movzbl {{[0-9]+}}(%esp), %edx
225 ; X86-BWON-NEXT: movl $67305985, (%ecx) # imm = 0x4030201
227 ; X86-BWON-NEXT: movw $1798, 5(%ecx) # imm = 0x706
236 ; X86-BWOFF: # %bb.0:
237 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %eax
241 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %ecx
242 ; X86-BWOFF-NEXT: movb {{[0-9]+}}(%esp), %dl
246 ; X86-BWOFF-NEXT: movl $67305985, (%ecx) # imm = 0x4030201
248 ; X86-BWOFF-NEXT: movw $1798, 5(%ecx) # imm = 0x706
257 ; X64: # %bb.0:
263 ; X64-NEXT: movl $67305985, (%rdx) # imm = 0x4030201
265 ; X64-NEXT: movw $1798, 5(%rdx) # imm = 0x706
272 %1 = icmp sgt i32 %count, 0
275 %i.02 = phi i32 [ %10, %.lr.ph ], [ 0, %0 ]
276 %.01 = phi ptr [ %11, %.lr.ph ], [ %p, %0 ]
277 %2 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 0
279 %3 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 1
281 %4 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 2
283 %5 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 3
285 %6 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 4
287 %7 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 5
289 %8 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 6
291 %9 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 7
303 ; X86-BWON: # %bb.0:
307 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %eax
311 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %ecx
312 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %edx
326 ; X86-BWOFF: # %bb.0:
330 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %eax
334 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %ecx
335 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %edx
349 ; X64-BWON: # %bb.0:
363 ; X64-BWOFF: # %bb.0:
375 %1 = icmp sgt i32 %count, 0
378 .lr.ph: ; preds = %0
379 %2 = getelementptr inbounds %struct.A, ptr %q, i64 0, i32 0
380 %3 = getelementptr inbounds %struct.A, ptr %q, i64 0, i32 1
384 %i.02 = phi i32 [ 0, %.lr.ph ], [ %9, %4 ]
388 %7 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 0
390 %8 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 1
397 ._crit_edge: ; preds = %4, %0
404 ; X86-BWON: # %bb.0:
408 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %eax
412 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %ecx
413 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %edx
430 ; X86-BWOFF: # %bb.0:
434 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %eax
438 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %ecx
439 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %edx
456 ; X64-BWON: # %bb.0:
473 ; X64-BWOFF: # %bb.0:
488 %1 = icmp sgt i32 %count, 0
491 .lr.ph: ; preds = %0
492 %2 = getelementptr inbounds %struct.A, ptr %q, i64 0, i32 0
493 %3 = getelementptr inbounds %struct.A, ptr %q, i64 0, i32 1
497 %i.02 = phi i32 [ 0, %.lr.ph ], [ %a9, %a4 ]
500 %a7 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 0
502 %a8 = getelementptr inbounds %struct.A, ptr %.01, i64 0, i32 1
510 ._crit_edge: ; preds = %4, %0
516 ; X86: # %bb.0:
523 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
527 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
528 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
546 ; X64: # %bb.0:
558 %1 = icmp sgt i32 %count, 0
561 .lr.ph: ; preds = %0
562 %2 = getelementptr inbounds %struct.B, ptr %q, i64 0, i32 0
563 %3 = getelementptr inbounds %struct.B, ptr %q, i64 0, i32 1
567 %i.02 = phi i32 [ 0, %.lr.ph ], [ %9, %4 ]
571 %7 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 0
573 %8 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 1
580 ._crit_edge: ; preds = %4, %0
586 ; X86: # %bb.0:
587 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
591 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
592 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
605 ; X64: # %bb.0:
618 %a1 = icmp sgt i32 %count, 0
621 .lr.ph: ; preds = %0
622 %a2 = getelementptr inbounds %struct.B, ptr %q, i64 0, i32 0
623 %a3 = getelementptr inbounds %struct.B, ptr %q, i64 0, i32 1
624 %a4 = getelementptr inbounds %struct.B, ptr %q, i64 0, i32 2
625 %a5 = getelementptr inbounds %struct.B, ptr %q, i64 0, i32 3
629 %i.02 = phi i32 [ 0, %.lr.ph ], [ %c9, %block4 ]
631 %a7 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 0
632 %a8 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 1
633 %a9 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 2
634 %a10 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 3
648 ._crit_edge: ; preds = %4, %0
655 ; X86: # %bb.0:
656 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
660 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
661 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
674 ; X64: # %bb.0:
687 %a1 = icmp sgt i32 %count, 0
690 .lr.ph: ; preds = %0
691 %a2 = getelementptr inbounds %struct.B, ptr %q, i64 0, i32 0
692 %a3 = getelementptr inbounds %struct.B, ptr %q, i64 0, i32 1
693 %a4 = getelementptr inbounds %struct.B, ptr %q, i64 0, i32 2
694 %a5 = getelementptr inbounds %struct.B, ptr %q, i64 0, i32 3
698 %i.02 = phi i32 [ 0, %.lr.ph ], [ %c9, %block4 ]
700 %a7 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 0
701 %a8 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 1
702 %a9 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 2
703 %a10 = getelementptr inbounds %struct.B, ptr %.01, i64 0, i32 3
717 ._crit_edge: ; preds = %4, %0
725 ; X86-BWON: # %bb.0:
736 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %ecx
737 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %edx
738 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %esi
739 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %edi
758 ; X86-BWOFF: # %bb.0:
769 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %ecx
770 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %edx
771 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %esi
772 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %edi
791 ; X64-BWON: # %bb.0:
806 ; X64-BWOFF: # %bb.0:
822 %.09 = phi i32 [ %n, %0 ], [ %11, %1 ]
823 %.08 = phi ptr [ %b, %0 ], [ %10, %1 ]
824 %.0 = phi ptr [ %a, %0 ], [ %2, %1 ]
825 %2 = getelementptr inbounds i64, ptr %.0, i64 1
826 %3 = load i64, ptr %.0, align 1
837 %12 = icmp eq i32 %11, 0
848 ; X86-BWON: # %bb.0:
862 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %esi
863 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %edi
864 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %ebx
877 ; X86-BWON-NEXT: adcl $0, %ebp
878 ; X86-BWON-NEXT: cmpl {{[0-9]+}}(%esp), %eax
880 ; X86-BWON-NEXT: sbbl {{[0-9]+}}(%esp), %ecx
894 ; X86-BWOFF: # %bb.0:
908 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %esi
909 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %edi
910 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %ebx
923 ; X86-BWOFF-NEXT: adcl $0, %ebp
924 ; X86-BWOFF-NEXT: cmpl {{[0-9]+}}(%esp), %eax
926 ; X86-BWOFF-NEXT: sbbl {{[0-9]+}}(%esp), %ecx
940 ; X64-BWON: # %bb.0:
955 ; X64-BWOFF: # %bb.0:
971 %.09 = phi i64 [ 0, %0 ], [ %13, %1 ]
972 %.08 = phi ptr [ %b, %0 ], [ %12, %1 ]
999 ; X86-BWON: # %bb.0:
1010 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %ecx
1011 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %edx
1012 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %esi
1013 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %edi
1032 ; X86-BWOFF: # %bb.0:
1043 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %ecx
1044 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %edx
1045 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %esi
1046 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %edi
1065 ; X64-BWON: # %bb.0:
1080 ; X64-BWOFF: # %bb.0:
1096 %.09 = phi i32 [ %n, %0 ], [ %12, %1 ]
1097 %.08 = phi ptr [ %b, %0 ], [ %11, %1 ]
1098 %.0 = phi ptr [ %a, %0 ], [ %2, %1 ]
1099 %2 = getelementptr inbounds i8, ptr %.0, i64 1
1100 %3 = load i8, ptr %.0, align 1
1112 %13 = icmp eq i32 %12, 0
1123 ; X86-BWON: # %bb.0:
1137 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %ebp
1138 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %edx
1139 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %esi
1140 ; X86-BWON-NEXT: movl {{[0-9]+}}(%esp), %edi
1165 ; X86-BWOFF: # %bb.0:
1179 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %ebp
1180 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %edx
1181 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %esi
1182 ; X86-BWOFF-NEXT: movl {{[0-9]+}}(%esp), %edi
1207 ; X64-BWON: # %bb.0:
1226 ; X64-BWOFF: # %bb.0:
1246 %.09 = phi i32 [ %n, %0 ], [ %12, %1 ]
1247 %.08 = phi ptr [ %b, %0 ], [ %11, %1 ]
1248 %.0 = phi ptr [ %a, %0 ], [ %2, %1 ]
1249 %2 = getelementptr inbounds i8, ptr %.0, i64 1
1250 %3 = load i8, ptr %.0, align 1
1263 %13 = icmp eq i32 %12, 0
1273 ; X86: # %bb.0:
1274 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1280 ; X64: # %bb.0:
1284 %vecext0 = extractelement <8 x float> %v, i32 0
1315 ; X86: # %bb.0:
1316 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1323 ; X64: # %bb.0:
1332 %shuffle0 = shufflevector <8 x float> %v1, <8 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
1334 %shuffle2 = shufflevector <8 x float> %v2, <8 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
1347 ; X86: # %bb.0:
1348 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1349 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
1356 ; X64: # %bb.0:
1361 %load_idx0 = getelementptr inbounds <4 x float>, ptr %v, i64 0
1365 %store_idx0 = getelementptr inbounds <4 x float>, ptr %ptr, i64 0
1375 ; X86: # %bb.0:
1376 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1383 ; X64: # %bb.0:
1397 ; X86: # %bb.0:
1398 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1405 ; X64: # %bb.0:
1419 ; X86: # %bb.0:
1420 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1421 ; X86-NEXT: vmovaps {{.*#+}} xmm0 = [25,51,45,0]
1423 ; X86-NEXT: vmovaps {{.*#+}} xmm0 = [0,265,26,0]
1428 ; X64: # %bb.0:
1429 ; X64-NEXT: vmovaps {{.*#+}} xmm0 = [25,51,45,0]
1431 ; X64-NEXT: vmovaps {{.*#+}} xmm0 = [0,265,26,0]
1436 store <4 x i32> <i32 25, i32 51, i32 45, i32 0>, ptr %idx0, align 16
1437 store <4 x i32> <i32 0, i32 265, i32 26, i32 0>, ptr %idx1, align 16
1443 ; X86: # %bb.0:
1444 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1451 ; X64: # %bb.0:
1458 store <4 x i32> <i32 0, i32 0, i32 0, i32 undef>, ptr %idx0, align 16
1459 store <4 x i32> <i32 0, i32 undef, i32 0, i32 0>, ptr %idx1, align 16
1467 ; X86: # %bb.0:
1468 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1473 ; X86-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
1478 ; X64: # %bb.0:
1482 %idx0 = getelementptr inbounds [6 x i64], ptr %array, i64 0, i64 0
1483 %idx1 = getelementptr inbounds [6 x i64], ptr %array, i64 0, i64 1
1484 %idx4 = getelementptr inbounds [6 x i64], ptr %array, i64 0, i64 4
1485 %idx5 = getelementptr inbounds [6 x i64], ptr %array, i64 0, i64 5
1492 %a1 = extractelement <2 x i64> %v, i32 0
1501 ; X86: # %bb.0:
1502 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1503 ; X86-NEXT: movb $0, (%eax)
1505 ; X86-NEXT: movw $770, 2(%eax) # imm = 0x302
1509 ; X64: # %bb.0:
1510 ; X64-NEXT: movb $0, (%rdi)
1512 ; X64-NEXT: movw $770, 2(%rdi) # imm = 0x302
1514 store i8 0, ptr %p
1527 ; X86: # %bb.0:
1528 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1533 ; X64: # %bb.0:
1540 %f0 = extractelement <4 x float> %fv, i32 0
1544 %idx0 = getelementptr inbounds float, ptr %ptr, i64 0
1558 ; X86: # %bb.0:
1559 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1563 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
1567 ; X86-NEXT: movl $67305985, (%ecx) # imm = 0x4030201
1568 ; X86-NEXT: movl $134678021, 4(%ecx) # imm = 0x8070605
1576 ; X64: # %bb.0:
1580 ; X64-NEXT: movabsq $578437695752307201, %rax # imm = 0x807060504030201
1590 %1 = icmp sgt i32 %count, 0
1593 %i.02 = phi i32 [ %7, %.lr.ph ], [ 0, %0 ]
1594 %.01 = phi ptr [ %8, %.lr.ph ], [ %p, %0 ]
1595 %2 = getelementptr inbounds %struct.C, ptr %.01, i64 0, i32 0
1597 %3 = getelementptr inbounds %struct.C, ptr %.01, i64 0, i32 1
1599 %4 = getelementptr inbounds %struct.C, ptr %.01, i64 0, i32 2
1601 %5 = getelementptr inbounds %struct.C, ptr %.01, i64 0, i32 3
1603 %6 = getelementptr inbounds %struct.C, ptr %.01, i64 0, i32 4
1616 ; X86: # %bb.0:
1617 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1618 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
1626 ; X64: # %bb.0:
1630 %s0 = getelementptr inbounds %struct.C, ptr %p, i64 0, i32 0
1631 %s1 = getelementptr inbounds %struct.C, ptr %p, i64 0, i32 1
1632 %s2 = getelementptr inbounds %struct.C, ptr %p, i64 0, i32 2
1633 %s3 = getelementptr inbounds %struct.C, ptr %p, i64 0, i32 3
1634 %s4 = getelementptr inbounds %struct.C, ptr %p, i64 0, i32 4
1635 %d0 = getelementptr inbounds %struct.C, ptr %q, i64 0, i32 0
1636 %d1 = getelementptr inbounds %struct.C, ptr %q, i64 0, i32 1
1637 %d2 = getelementptr inbounds %struct.C, ptr %q, i64 0, i32 2
1638 %d3 = getelementptr inbounds %struct.C, ptr %q, i64 0, i32 3
1639 %d4 = getelementptr inbounds %struct.C, ptr %q, i64 0, i32 4
1655 ; X86: # %bb.0: # %entry
1656 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
1657 ; X86-NEXT: movl $0, (%ecx)
1659 ; X86-NEXT: movl $0, 4(%ecx)
1663 ; X64: # %bb.0: # %entry
1665 ; X64-NEXT: movq $0, (%rdi)
1669 store i32 0, ptr %buff, align 4
1671 %0 = load i32, ptr %arrayidx1, align 4
1672 store i32 0, ptr %arrayidx1, align 4
1673 ret i32 %0
1678 ; X86: # %bb.0: # %entry
1679 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
1680 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
1681 ; X86-NEXT: movl $0, (%ecx)
1683 ; X86-NEXT: movl $0, 4(%ecx)
1687 ; X64: # %bb.0: # %entry
1688 ; X64-NEXT: movl $0, (%rdi)
1690 ; X64-NEXT: movl $0, 4(%rdi)
1694 store i32 0, ptr %buff, align 4
1696 %0 = load i32, ptr %other, align 4
1697 store i32 0, ptr %arrayidx1, align 4
1698 ret i32 %0