llvm.org GIT mirror llvm / 59d1521
Add some additional tests for the .bundle_lock align_to_end feature that didn't make into the last commit. Also, update the test-generation script to generate an exhaustive test for align_to_end as well, and include the generated test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171811 91177308-0d34-0410-b5e6-96231b3b80d8 Eli Bendersky 7 years ago
5 changed file(s) with 2919 addition(s) and 13 deletion(s). Raw diff Collapse all Expand all
0 # RUN: llvm-mc -filetype=obj -triple armv7-linux-gnueabi %s -o - \
1 # RUN: | llvm-objdump -no-show-raw-insn -triple armv7 -disassemble - | FileCheck %s
2
3 .syntax unified
4 .text
5 .bundle_align_mode 4
6
7 bx lr
8 and r1, r1, r2
9 and r1, r1, r2
10 .bundle_lock align_to_end
11 bx r9
12 .bundle_unlock
13 # No padding required here because bx just happens to be in the
14 # right offset.
15 # CHECK: 8: and
16 # CHECK-NEXT: c: bx
17
18 bx lr
19 and r1, r1, r2
20 .bundle_lock align_to_end
21 bx r9
22 .bundle_unlock
23 # A 4-byte padding is needed here
24 # CHECK: 18: nop
25 # CHECK-NEXT: 1c: bx
26
27 bx lr
28 and r1, r1, r2
29 .bundle_lock align_to_end
30 bx r9
31 bx r9
32 bx r9
33 .bundle_unlock
34 # A 12-byte padding is needed here to push the group to the end of the next
35 # bundle
36 # CHECK: 28: nop
37 # CHECK-NEXT: 2c: nop
38 # CHECK-NEXT: 30: nop
39 # CHECK-NEXT: 34: bx
40
0 # RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - \
1 # RUN: | llvm-objdump -triple i386 -disassemble -no-show-raw-insn - | FileCheck %s
2
3 # !!! This test is auto-generated from utils/testgen/mc-bundling-x86-gen.py !!!
4 # It tests that bundle-aligned grouping works correctly in MC. Read the
5 # source of the script for more details.
6
7 .text
8 .bundle_align_mode 4
9
10 .align 32, 0x90
11 INSTRLEN_1_OFFSET_0:
12 .bundle_lock align_to_end
13 .rept 1
14 inc %eax
15 .endr
16 .bundle_unlock
17 # CHECK: 0: nop
18 # CHECK: f: incl
19
20 .align 32, 0x90
21 INSTRLEN_1_OFFSET_1:
22 .fill 1, 1, 0x90
23 .bundle_lock align_to_end
24 .rept 1
25 inc %eax
26 .endr
27 .bundle_unlock
28 # CHECK: 21: nop
29 # CHECK: 2f: incl
30
31 .align 32, 0x90
32 INSTRLEN_1_OFFSET_2:
33 .fill 2, 1, 0x90
34 .bundle_lock align_to_end
35 .rept 1
36 inc %eax
37 .endr
38 .bundle_unlock
39 # CHECK: 42: nop
40 # CHECK: 4f: incl
41
42 .align 32, 0x90
43 INSTRLEN_1_OFFSET_3:
44 .fill 3, 1, 0x90
45 .bundle_lock align_to_end
46 .rept 1
47 inc %eax
48 .endr
49 .bundle_unlock
50 # CHECK: 63: nop
51 # CHECK: 6f: incl
52
53 .align 32, 0x90
54 INSTRLEN_1_OFFSET_4:
55 .fill 4, 1, 0x90
56 .bundle_lock align_to_end
57 .rept 1
58 inc %eax
59 .endr
60 .bundle_unlock
61 # CHECK: 84: nop
62 # CHECK: 8f: incl
63
64 .align 32, 0x90
65 INSTRLEN_1_OFFSET_5:
66 .fill 5, 1, 0x90
67 .bundle_lock align_to_end
68 .rept 1
69 inc %eax
70 .endr
71 .bundle_unlock
72 # CHECK: a5: nop
73 # CHECK: af: incl
74
75 .align 32, 0x90
76 INSTRLEN_1_OFFSET_6:
77 .fill 6, 1, 0x90
78 .bundle_lock align_to_end
79 .rept 1
80 inc %eax
81 .endr
82 .bundle_unlock
83 # CHECK: c6: nop
84 # CHECK: cf: incl
85
86 .align 32, 0x90
87 INSTRLEN_1_OFFSET_7:
88 .fill 7, 1, 0x90
89 .bundle_lock align_to_end
90 .rept 1
91 inc %eax
92 .endr
93 .bundle_unlock
94 # CHECK: e7: nop
95 # CHECK: ef: incl
96
97 .align 32, 0x90
98 INSTRLEN_1_OFFSET_8:
99 .fill 8, 1, 0x90
100 .bundle_lock align_to_end
101 .rept 1
102 inc %eax
103 .endr
104 .bundle_unlock
105 # CHECK: 108: nop
106 # CHECK: 10f: incl
107
108 .align 32, 0x90
109 INSTRLEN_1_OFFSET_9:
110 .fill 9, 1, 0x90
111 .bundle_lock align_to_end
112 .rept 1
113 inc %eax
114 .endr
115 .bundle_unlock
116 # CHECK: 129: nop
117 # CHECK: 12f: incl
118
119 .align 32, 0x90
120 INSTRLEN_1_OFFSET_10:
121 .fill 10, 1, 0x90
122 .bundle_lock align_to_end
123 .rept 1
124 inc %eax
125 .endr
126 .bundle_unlock
127 # CHECK: 14a: nop
128 # CHECK: 14f: incl
129
130 .align 32, 0x90
131 INSTRLEN_1_OFFSET_11:
132 .fill 11, 1, 0x90
133 .bundle_lock align_to_end
134 .rept 1
135 inc %eax
136 .endr
137 .bundle_unlock
138 # CHECK: 16b: nop
139 # CHECK: 16f: incl
140
141 .align 32, 0x90
142 INSTRLEN_1_OFFSET_12:
143 .fill 12, 1, 0x90
144 .bundle_lock align_to_end
145 .rept 1
146 inc %eax
147 .endr
148 .bundle_unlock
149 # CHECK: 18c: nop
150 # CHECK: 18f: incl
151
152 .align 32, 0x90
153 INSTRLEN_1_OFFSET_13:
154 .fill 13, 1, 0x90
155 .bundle_lock align_to_end
156 .rept 1
157 inc %eax
158 .endr
159 .bundle_unlock
160 # CHECK: 1ad: nop
161 # CHECK: 1af: incl
162
163 .align 32, 0x90
164 INSTRLEN_1_OFFSET_14:
165 .fill 14, 1, 0x90
166 .bundle_lock align_to_end
167 .rept 1
168 inc %eax
169 .endr
170 .bundle_unlock
171 # CHECK: 1ce: nop
172 # CHECK: 1cf: incl
173
174 .align 32, 0x90
175 INSTRLEN_1_OFFSET_15:
176 .fill 15, 1, 0x90
177 .bundle_lock align_to_end
178 .rept 1
179 inc %eax
180 .endr
181 .bundle_unlock
182 # CHECK: 1ef: incl
183
184 .align 32, 0x90
185 INSTRLEN_2_OFFSET_0:
186 .bundle_lock align_to_end
187 .rept 2
188 inc %eax
189 .endr
190 .bundle_unlock
191 # CHECK: 200: nop
192 # CHECK: 20e: incl
193
194 .align 32, 0x90
195 INSTRLEN_2_OFFSET_1:
196 .fill 1, 1, 0x90
197 .bundle_lock align_to_end
198 .rept 2
199 inc %eax
200 .endr
201 .bundle_unlock
202 # CHECK: 221: nop
203 # CHECK: 22e: incl
204
205 .align 32, 0x90
206 INSTRLEN_2_OFFSET_2:
207 .fill 2, 1, 0x90
208 .bundle_lock align_to_end
209 .rept 2
210 inc %eax
211 .endr
212 .bundle_unlock
213 # CHECK: 242: nop
214 # CHECK: 24e: incl
215
216 .align 32, 0x90
217 INSTRLEN_2_OFFSET_3:
218 .fill 3, 1, 0x90
219 .bundle_lock align_to_end
220 .rept 2
221 inc %eax
222 .endr
223 .bundle_unlock
224 # CHECK: 263: nop
225 # CHECK: 26e: incl
226
227 .align 32, 0x90
228 INSTRLEN_2_OFFSET_4:
229 .fill 4, 1, 0x90
230 .bundle_lock align_to_end
231 .rept 2
232 inc %eax
233 .endr
234 .bundle_unlock
235 # CHECK: 284: nop
236 # CHECK: 28e: incl
237
238 .align 32, 0x90
239 INSTRLEN_2_OFFSET_5:
240 .fill 5, 1, 0x90
241 .bundle_lock align_to_end
242 .rept 2
243 inc %eax
244 .endr
245 .bundle_unlock
246 # CHECK: 2a5: nop
247 # CHECK: 2ae: incl
248
249 .align 32, 0x90
250 INSTRLEN_2_OFFSET_6:
251 .fill 6, 1, 0x90
252 .bundle_lock align_to_end
253 .rept 2
254 inc %eax
255 .endr
256 .bundle_unlock
257 # CHECK: 2c6: nop
258 # CHECK: 2ce: incl
259
260 .align 32, 0x90
261 INSTRLEN_2_OFFSET_7:
262 .fill 7, 1, 0x90
263 .bundle_lock align_to_end
264 .rept 2
265 inc %eax
266 .endr
267 .bundle_unlock
268 # CHECK: 2e7: nop
269 # CHECK: 2ee: incl
270
271 .align 32, 0x90
272 INSTRLEN_2_OFFSET_8:
273 .fill 8, 1, 0x90
274 .bundle_lock align_to_end
275 .rept 2
276 inc %eax
277 .endr
278 .bundle_unlock
279 # CHECK: 308: nop
280 # CHECK: 30e: incl
281
282 .align 32, 0x90
283 INSTRLEN_2_OFFSET_9:
284 .fill 9, 1, 0x90
285 .bundle_lock align_to_end
286 .rept 2
287 inc %eax
288 .endr
289 .bundle_unlock
290 # CHECK: 329: nop
291 # CHECK: 32e: incl
292
293 .align 32, 0x90
294 INSTRLEN_2_OFFSET_10:
295 .fill 10, 1, 0x90
296 .bundle_lock align_to_end
297 .rept 2
298 inc %eax
299 .endr
300 .bundle_unlock
301 # CHECK: 34a: nop
302 # CHECK: 34e: incl
303
304 .align 32, 0x90
305 INSTRLEN_2_OFFSET_11:
306 .fill 11, 1, 0x90
307 .bundle_lock align_to_end
308 .rept 2
309 inc %eax
310 .endr
311 .bundle_unlock
312 # CHECK: 36b: nop
313 # CHECK: 36e: incl
314
315 .align 32, 0x90
316 INSTRLEN_2_OFFSET_12:
317 .fill 12, 1, 0x90
318 .bundle_lock align_to_end
319 .rept 2
320 inc %eax
321 .endr
322 .bundle_unlock
323 # CHECK: 38c: nop
324 # CHECK: 38e: incl
325
326 .align 32, 0x90
327 INSTRLEN_2_OFFSET_13:
328 .fill 13, 1, 0x90
329 .bundle_lock align_to_end
330 .rept 2
331 inc %eax
332 .endr
333 .bundle_unlock
334 # CHECK: 3ad: nop
335 # CHECK: 3ae: incl
336
337 .align 32, 0x90
338 INSTRLEN_2_OFFSET_14:
339 .fill 14, 1, 0x90
340 .bundle_lock align_to_end
341 .rept 2
342 inc %eax
343 .endr
344 .bundle_unlock
345 # CHECK: 3ce: incl
346
347 .align 32, 0x90
348 INSTRLEN_2_OFFSET_15:
349 .fill 15, 1, 0x90
350 .bundle_lock align_to_end
351 .rept 2
352 inc %eax
353 .endr
354 .bundle_unlock
355 # CHECK: 3ef: nop
356 # CHECK: 3fe: incl
357
358 .align 32, 0x90
359 INSTRLEN_3_OFFSET_0:
360 .bundle_lock align_to_end
361 .rept 3
362 inc %eax
363 .endr
364 .bundle_unlock
365 # CHECK: 400: nop
366 # CHECK: 40d: incl
367
368 .align 32, 0x90
369 INSTRLEN_3_OFFSET_1:
370 .fill 1, 1, 0x90
371 .bundle_lock align_to_end
372 .rept 3
373 inc %eax
374 .endr
375 .bundle_unlock
376 # CHECK: 421: nop
377 # CHECK: 42d: incl
378
379 .align 32, 0x90
380 INSTRLEN_3_OFFSET_2:
381 .fill 2, 1, 0x90
382 .bundle_lock align_to_end
383 .rept 3
384 inc %eax
385 .endr
386 .bundle_unlock
387 # CHECK: 442: nop
388 # CHECK: 44d: incl
389
390 .align 32, 0x90
391 INSTRLEN_3_OFFSET_3:
392 .fill 3, 1, 0x90
393 .bundle_lock align_to_end
394 .rept 3
395 inc %eax
396 .endr
397 .bundle_unlock
398 # CHECK: 463: nop
399 # CHECK: 46d: incl
400
401 .align 32, 0x90
402 INSTRLEN_3_OFFSET_4:
403 .fill 4, 1, 0x90
404 .bundle_lock align_to_end
405 .rept 3
406 inc %eax
407 .endr
408 .bundle_unlock
409 # CHECK: 484: nop
410 # CHECK: 48d: incl
411
412 .align 32, 0x90
413 INSTRLEN_3_OFFSET_5:
414 .fill 5, 1, 0x90
415 .bundle_lock align_to_end
416 .rept 3
417 inc %eax
418 .endr
419 .bundle_unlock
420 # CHECK: 4a5: nop
421 # CHECK: 4ad: incl
422
423 .align 32, 0x90
424 INSTRLEN_3_OFFSET_6:
425 .fill 6, 1, 0x90
426 .bundle_lock align_to_end
427 .rept 3
428 inc %eax
429 .endr
430 .bundle_unlock
431 # CHECK: 4c6: nop
432 # CHECK: 4cd: incl
433
434 .align 32, 0x90
435 INSTRLEN_3_OFFSET_7:
436 .fill 7, 1, 0x90
437 .bundle_lock align_to_end
438 .rept 3
439 inc %eax
440 .endr
441 .bundle_unlock
442 # CHECK: 4e7: nop
443 # CHECK: 4ed: incl
444
445 .align 32, 0x90
446 INSTRLEN_3_OFFSET_8:
447 .fill 8, 1, 0x90
448 .bundle_lock align_to_end
449 .rept 3
450 inc %eax
451 .endr
452 .bundle_unlock
453 # CHECK: 508: nop
454 # CHECK: 50d: incl
455
456 .align 32, 0x90
457 INSTRLEN_3_OFFSET_9:
458 .fill 9, 1, 0x90
459 .bundle_lock align_to_end
460 .rept 3
461 inc %eax
462 .endr
463 .bundle_unlock
464 # CHECK: 529: nop
465 # CHECK: 52d: incl
466
467 .align 32, 0x90
468 INSTRLEN_3_OFFSET_10:
469 .fill 10, 1, 0x90
470 .bundle_lock align_to_end
471 .rept 3
472 inc %eax
473 .endr
474 .bundle_unlock
475 # CHECK: 54a: nop
476 # CHECK: 54d: incl
477
478 .align 32, 0x90
479 INSTRLEN_3_OFFSET_11:
480 .fill 11, 1, 0x90
481 .bundle_lock align_to_end
482 .rept 3
483 inc %eax
484 .endr
485 .bundle_unlock
486 # CHECK: 56b: nop
487 # CHECK: 56d: incl
488
489 .align 32, 0x90
490 INSTRLEN_3_OFFSET_12:
491 .fill 12, 1, 0x90
492 .bundle_lock align_to_end
493 .rept 3
494 inc %eax
495 .endr
496 .bundle_unlock
497 # CHECK: 58c: nop
498 # CHECK: 58d: incl
499
500 .align 32, 0x90
501 INSTRLEN_3_OFFSET_13:
502 .fill 13, 1, 0x90
503 .bundle_lock align_to_end
504 .rept 3
505 inc %eax
506 .endr
507 .bundle_unlock
508 # CHECK: 5ad: incl
509
510 .align 32, 0x90
511 INSTRLEN_3_OFFSET_14:
512 .fill 14, 1, 0x90
513 .bundle_lock align_to_end
514 .rept 3
515 inc %eax
516 .endr
517 .bundle_unlock
518 # CHECK: 5ce: nop
519 # CHECK: 5dd: incl
520
521 .align 32, 0x90
522 INSTRLEN_3_OFFSET_15:
523 .fill 15, 1, 0x90
524 .bundle_lock align_to_end
525 .rept 3
526 inc %eax
527 .endr
528 .bundle_unlock
529 # CHECK: 5ef: nop
530 # CHECK: 5fd: incl
531
532 .align 32, 0x90
533 INSTRLEN_4_OFFSET_0:
534 .bundle_lock align_to_end
535 .rept 4
536 inc %eax
537 .endr
538 .bundle_unlock
539 # CHECK: 600: nop
540 # CHECK: 60c: incl
541
542 .align 32, 0x90
543 INSTRLEN_4_OFFSET_1:
544 .fill 1, 1, 0x90
545 .bundle_lock align_to_end
546 .rept 4
547 inc %eax
548 .endr
549 .bundle_unlock
550 # CHECK: 621: nop
551 # CHECK: 62c: incl
552
553 .align 32, 0x90
554 INSTRLEN_4_OFFSET_2:
555 .fill 2, 1, 0x90
556 .bundle_lock align_to_end
557 .rept 4
558 inc %eax
559 .endr
560 .bundle_unlock
561 # CHECK: 642: nop
562 # CHECK: 64c: incl
563
564 .align 32, 0x90
565 INSTRLEN_4_OFFSET_3:
566 .fill 3, 1, 0x90
567 .bundle_lock align_to_end
568 .rept 4
569 inc %eax
570 .endr
571 .bundle_unlock
572 # CHECK: 663: nop
573 # CHECK: 66c: incl
574
575 .align 32, 0x90
576 INSTRLEN_4_OFFSET_4:
577 .fill 4, 1, 0x90
578 .bundle_lock align_to_end
579 .rept 4
580 inc %eax
581 .endr
582 .bundle_unlock
583 # CHECK: 684: nop
584 # CHECK: 68c: incl
585
586 .align 32, 0x90
587 INSTRLEN_4_OFFSET_5:
588 .fill 5, 1, 0x90
589 .bundle_lock align_to_end
590 .rept 4
591 inc %eax
592 .endr
593 .bundle_unlock
594 # CHECK: 6a5: nop
595 # CHECK: 6ac: incl
596
597 .align 32, 0x90
598 INSTRLEN_4_OFFSET_6:
599 .fill 6, 1, 0x90
600 .bundle_lock align_to_end
601 .rept 4
602 inc %eax
603 .endr
604 .bundle_unlock
605 # CHECK: 6c6: nop
606 # CHECK: 6cc: incl
607
608 .align 32, 0x90
609 INSTRLEN_4_OFFSET_7:
610 .fill 7, 1, 0x90
611 .bundle_lock align_to_end
612 .rept 4
613 inc %eax
614 .endr
615 .bundle_unlock
616 # CHECK: 6e7: nop
617 # CHECK: 6ec: incl
618
619 .align 32, 0x90
620 INSTRLEN_4_OFFSET_8:
621 .fill 8, 1, 0x90
622 .bundle_lock align_to_end
623 .rept 4
624 inc %eax
625 .endr
626 .bundle_unlock
627 # CHECK: 708: nop
628 # CHECK: 70c: incl
629
630 .align 32, 0x90
631 INSTRLEN_4_OFFSET_9:
632 .fill 9, 1, 0x90
633 .bundle_lock align_to_end
634 .rept 4
635 inc %eax
636 .endr
637 .bundle_unlock
638 # CHECK: 729: nop
639 # CHECK: 72c: incl
640
641 .align 32, 0x90
642 INSTRLEN_4_OFFSET_10:
643 .fill 10, 1, 0x90
644 .bundle_lock align_to_end
645 .rept 4
646 inc %eax
647 .endr
648 .bundle_unlock
649 # CHECK: 74a: nop
650 # CHECK: 74c: incl
651
652 .align 32, 0x90
653 INSTRLEN_4_OFFSET_11:
654 .fill 11, 1, 0x90
655 .bundle_lock align_to_end
656 .rept 4
657 inc %eax
658 .endr
659 .bundle_unlock
660 # CHECK: 76b: nop
661 # CHECK: 76c: incl
662
663 .align 32, 0x90
664 INSTRLEN_4_OFFSET_12:
665 .fill 12, 1, 0x90
666 .bundle_lock align_to_end
667 .rept 4
668 inc %eax
669 .endr
670 .bundle_unlock
671 # CHECK: 78c: incl
672
673 .align 32, 0x90
674 INSTRLEN_4_OFFSET_13:
675 .fill 13, 1, 0x90
676 .bundle_lock align_to_end
677 .rept 4
678 inc %eax
679 .endr
680 .bundle_unlock
681 # CHECK: 7ad: nop
682 # CHECK: 7bc: incl
683
684 .align 32, 0x90
685 INSTRLEN_4_OFFSET_14:
686 .fill 14, 1, 0x90
687 .bundle_lock align_to_end
688 .rept 4
689 inc %eax
690 .endr
691 .bundle_unlock
692 # CHECK: 7ce: nop
693 # CHECK: 7dc: incl
694
695 .align 32, 0x90
696 INSTRLEN_4_OFFSET_15:
697 .fill 15, 1, 0x90
698 .bundle_lock align_to_end
699 .rept 4
700 inc %eax
701 .endr
702 .bundle_unlock
703 # CHECK: 7ef: nop
704 # CHECK: 7fc: incl
705
706 .align 32, 0x90
707 INSTRLEN_5_OFFSET_0:
708 .bundle_lock align_to_end
709 .rept 5
710 inc %eax
711 .endr
712 .bundle_unlock
713 # CHECK: 800: nop
714 # CHECK: 80b: incl
715
716 .align 32, 0x90
717 INSTRLEN_5_OFFSET_1:
718 .fill 1, 1, 0x90
719 .bundle_lock align_to_end
720 .rept 5
721 inc %eax
722 .endr
723 .bundle_unlock
724 # CHECK: 821: nop
725 # CHECK: 82b: incl
726
727 .align 32, 0x90
728 INSTRLEN_5_OFFSET_2:
729 .fill 2, 1, 0x90
730 .bundle_lock align_to_end
731 .rept 5
732 inc %eax
733 .endr
734 .bundle_unlock
735 # CHECK: 842: nop
736 # CHECK: 84b: incl
737
738 .align 32, 0x90
739 INSTRLEN_5_OFFSET_3:
740 .fill 3, 1, 0x90
741 .bundle_lock align_to_end
742 .rept 5
743 inc %eax
744 .endr
745 .bundle_unlock
746 # CHECK: 863: nop
747 # CHECK: 86b: incl
748
749 .align 32, 0x90
750 INSTRLEN_5_OFFSET_4:
751 .fill 4, 1, 0x90
752 .bundle_lock align_to_end
753 .rept 5
754 inc %eax
755 .endr
756 .bundle_unlock
757 # CHECK: 884: nop
758 # CHECK: 88b: incl
759
760 .align 32, 0x90
761 INSTRLEN_5_OFFSET_5:
762 .fill 5, 1, 0x90
763 .bundle_lock align_to_end
764 .rept 5
765 inc %eax
766 .endr
767 .bundle_unlock
768 # CHECK: 8a5: nop
769 # CHECK: 8ab: incl
770
771 .align 32, 0x90
772 INSTRLEN_5_OFFSET_6:
773 .fill 6, 1, 0x90
774 .bundle_lock align_to_end
775 .rept 5
776 inc %eax
777 .endr
778 .bundle_unlock
779 # CHECK: 8c6: nop
780 # CHECK: 8cb: incl
781
782 .align 32, 0x90
783 INSTRLEN_5_OFFSET_7:
784 .fill 7, 1, 0x90
785 .bundle_lock align_to_end
786 .rept 5
787 inc %eax
788 .endr
789 .bundle_unlock
790 # CHECK: 8e7: nop
791 # CHECK: 8eb: incl
792
793 .align 32, 0x90
794 INSTRLEN_5_OFFSET_8:
795 .fill 8, 1, 0x90
796 .bundle_lock align_to_end
797 .rept 5
798 inc %eax
799 .endr
800 .bundle_unlock
801 # CHECK: 908: nop
802 # CHECK: 90b: incl
803
804 .align 32, 0x90
805 INSTRLEN_5_OFFSET_9:
806 .fill 9, 1, 0x90
807 .bundle_lock align_to_end
808 .rept 5
809 inc %eax
810 .endr
811 .bundle_unlock
812 # CHECK: 929: nop
813 # CHECK: 92b: incl
814
815 .align 32, 0x90
816 INSTRLEN_5_OFFSET_10:
817 .fill 10, 1, 0x90
818 .bundle_lock align_to_end
819 .rept 5
820 inc %eax
821 .endr
822 .bundle_unlock
823 # CHECK: 94a: nop
824 # CHECK: 94b: incl
825
826 .align 32, 0x90
827 INSTRLEN_5_OFFSET_11:
828 .fill 11, 1, 0x90
829 .bundle_lock align_to_end
830 .rept 5
831 inc %eax
832 .endr
833 .bundle_unlock
834 # CHECK: 96b: incl
835
836 .align 32, 0x90
837 INSTRLEN_5_OFFSET_12:
838 .fill 12, 1, 0x90
839 .bundle_lock align_to_end
840 .rept 5
841 inc %eax
842 .endr
843 .bundle_unlock
844 # CHECK: 98c: nop
845 # CHECK: 99b: incl
846
847 .align 32, 0x90
848 INSTRLEN_5_OFFSET_13:
849 .fill 13, 1, 0x90
850 .bundle_lock align_to_end
851 .rept 5
852 inc %eax
853 .endr
854 .bundle_unlock
855 # CHECK: 9ad: nop
856 # CHECK: 9bb: incl
857
858 .align 32, 0x90
859 INSTRLEN_5_OFFSET_14:
860 .fill 14, 1, 0x90
861 .bundle_lock align_to_end
862 .rept 5
863 inc %eax
864 .endr
865 .bundle_unlock
866 # CHECK: 9ce: nop
867 # CHECK: 9db: incl
868
869 .align 32, 0x90
870 INSTRLEN_5_OFFSET_15:
871 .fill 15, 1, 0x90
872 .bundle_lock align_to_end
873 .rept 5
874 inc %eax
875 .endr
876 .bundle_unlock
877 # CHECK: 9ef: nop
878 # CHECK: 9fb: incl
879
880 .align 32, 0x90
881 INSTRLEN_6_OFFSET_0:
882 .bundle_lock align_to_end
883 .rept 6
884 inc %eax
885 .endr
886 .bundle_unlock
887 # CHECK: a00: nop
888 # CHECK: a0a: incl
889
890 .align 32, 0x90
891 INSTRLEN_6_OFFSET_1:
892 .fill 1, 1, 0x90
893 .bundle_lock align_to_end
894 .rept 6
895 inc %eax
896 .endr
897 .bundle_unlock
898 # CHECK: a21: nop
899 # CHECK: a2a: incl
900
901 .align 32, 0x90
902 INSTRLEN_6_OFFSET_2:
903 .fill 2, 1, 0x90
904 .bundle_lock align_to_end
905 .rept 6
906 inc %eax
907 .endr
908 .bundle_unlock
909 # CHECK: a42: nop
910 # CHECK: a4a: incl
911
912 .align 32, 0x90
913 INSTRLEN_6_OFFSET_3:
914 .fill 3, 1, 0x90
915 .bundle_lock align_to_end
916 .rept 6
917 inc %eax
918 .endr
919 .bundle_unlock
920 # CHECK: a63: nop
921 # CHECK: a6a: incl
922
923 .align 32, 0x90
924 INSTRLEN_6_OFFSET_4:
925 .fill 4, 1, 0x90
926 .bundle_lock align_to_end
927 .rept 6
928 inc %eax
929 .endr
930 .bundle_unlock
931 # CHECK: a84: nop
932 # CHECK: a8a: incl
933
934 .align 32, 0x90
935 INSTRLEN_6_OFFSET_5:
936 .fill 5, 1, 0x90
937 .bundle_lock align_to_end
938 .rept 6
939 inc %eax
940 .endr
941 .bundle_unlock
942 # CHECK: aa5: nop
943 # CHECK: aaa: incl
944
945 .align 32, 0x90
946 INSTRLEN_6_OFFSET_6:
947 .fill 6, 1, 0x90
948 .bundle_lock align_to_end
949 .rept 6
950 inc %eax
951 .endr
952 .bundle_unlock
953 # CHECK: ac6: nop
954 # CHECK: aca: incl
955
956 .align 32, 0x90
957 INSTRLEN_6_OFFSET_7:
958 .fill 7, 1, 0x90
959 .bundle_lock align_to_end
960 .rept 6
961 inc %eax
962 .endr
963 .bundle_unlock
964 # CHECK: ae7: nop
965 # CHECK: aea: incl
966
967 .align 32, 0x90
968 INSTRLEN_6_OFFSET_8:
969 .fill 8, 1, 0x90
970 .bundle_lock align_to_end
971 .rept 6
972 inc %eax
973 .endr
974 .bundle_unlock
975 # CHECK: b08: nop
976 # CHECK: b0a: incl
977
978 .align 32, 0x90
979 INSTRLEN_6_OFFSET_9:
980 .fill 9, 1, 0x90
981 .bundle_lock align_to_end
982 .rept 6
983 inc %eax
984 .endr
985 .bundle_unlock
986 # CHECK: b29: nop
987 # CHECK: b2a: incl
988
989 .align 32, 0x90
990 INSTRLEN_6_OFFSET_10:
991 .fill 10, 1, 0x90
992 .bundle_lock align_to_end
993 .rept 6
994 inc %eax
995 .endr
996 .bundle_unlock
997 # CHECK: b4a: incl
998
999 .align 32, 0x90
1000 INSTRLEN_6_OFFSET_11:
1001 .fill 11, 1, 0x90
1002 .bundle_lock align_to_end
1003 .rept 6
1004 inc %eax
1005 .endr
1006 .bundle_unlock
1007 # CHECK: b6b: nop
1008 # CHECK: b7a: incl
1009
1010 .align 32, 0x90
1011 INSTRLEN_6_OFFSET_12:
1012 .fill 12, 1, 0x90
1013 .bundle_lock align_to_end
1014 .rept 6
1015 inc %eax
1016 .endr
1017 .bundle_unlock
1018 # CHECK: b8c: nop
1019 # CHECK: b9a: incl
1020
1021 .align 32, 0x90
1022 INSTRLEN_6_OFFSET_13:
1023 .fill 13, 1, 0x90
1024 .bundle_lock align_to_end
1025 .rept 6
1026 inc %eax
1027 .endr
1028 .bundle_unlock
1029 # CHECK: bad: nop
1030 # CHECK: bba: incl
1031
1032 .align 32, 0x90
1033 INSTRLEN_6_OFFSET_14:
1034 .fill 14, 1, 0x90
1035 .bundle_lock align_to_end
1036 .rept 6
1037 inc %eax
1038 .endr
1039 .bundle_unlock
1040 # CHECK: bce: nop
1041 # CHECK: bda: incl
1042
1043 .align 32, 0x90
1044 INSTRLEN_6_OFFSET_15:
1045 .fill 15, 1, 0x90
1046 .bundle_lock align_to_end
1047 .rept 6
1048 inc %eax
1049 .endr
1050 .bundle_unlock
1051 # CHECK: bef: nop
1052 # CHECK: bfa: incl
1053
1054 .align 32, 0x90
1055 INSTRLEN_7_OFFSET_0:
1056 .bundle_lock align_to_end
1057 .rept 7
1058 inc %eax
1059 .endr
1060 .bundle_unlock
1061 # CHECK: c00: nop
1062 # CHECK: c09: incl
1063
1064 .align 32, 0x90
1065 INSTRLEN_7_OFFSET_1:
1066 .fill 1, 1, 0x90
1067 .bundle_lock align_to_end
1068 .rept 7
1069 inc %eax
1070 .endr
1071 .bundle_unlock
1072 # CHECK: c21: nop
1073 # CHECK: c29: incl
1074
1075 .align 32, 0x90
1076 INSTRLEN_7_OFFSET_2:
1077 .fill 2, 1, 0x90
1078 .bundle_lock align_to_end
1079 .rept 7
1080 inc %eax
1081 .endr
1082 .bundle_unlock
1083 # CHECK: c42: nop
1084 # CHECK: c49: incl
1085
1086 .align 32, 0x90
1087 INSTRLEN_7_OFFSET_3:
1088 .fill 3, 1, 0x90
1089 .bundle_lock align_to_end
1090 .rept 7
1091 inc %eax
1092 .endr
1093 .bundle_unlock
1094 # CHECK: c63: nop
1095 # CHECK: c69: incl
1096
1097 .align 32, 0x90
1098 INSTRLEN_7_OFFSET_4:
1099 .fill 4, 1, 0x90
1100 .bundle_lock align_to_end
1101 .rept 7
1102 inc %eax
1103 .endr
1104 .bundle_unlock
1105 # CHECK: c84: nop
1106 # CHECK: c89: incl
1107
1108 .align 32, 0x90
1109 INSTRLEN_7_OFFSET_5:
1110 .fill 5, 1, 0x90
1111 .bundle_lock align_to_end
1112 .rept 7
1113 inc %eax
1114 .endr
1115 .bundle_unlock
1116 # CHECK: ca5: nop
1117 # CHECK: ca9: incl
1118
1119 .align 32, 0x90
1120 INSTRLEN_7_OFFSET_6:
1121 .fill 6, 1, 0x90
1122 .bundle_lock align_to_end
1123 .rept 7
1124 inc %eax
1125 .endr
1126 .bundle_unlock
1127 # CHECK: cc6: nop
1128 # CHECK: cc9: incl
1129
1130 .align 32, 0x90
1131 INSTRLEN_7_OFFSET_7:
1132 .fill 7, 1, 0x90
1133 .bundle_lock align_to_end
1134 .rept 7
1135 inc %eax
1136 .endr
1137 .bundle_unlock
1138 # CHECK: ce7: nop
1139 # CHECK: ce9: incl
1140
1141 .align 32, 0x90
1142 INSTRLEN_7_OFFSET_8:
1143 .fill 8, 1, 0x90
1144 .bundle_lock align_to_end
1145 .rept 7
1146 inc %eax
1147 .endr
1148 .bundle_unlock
1149 # CHECK: d08: nop
1150 # CHECK: d09: incl
1151
1152 .align 32, 0x90
1153 INSTRLEN_7_OFFSET_9:
1154 .fill 9, 1, 0x90
1155 .bundle_lock align_to_end
1156 .rept 7
1157 inc %eax
1158 .endr
1159 .bundle_unlock
1160 # CHECK: d29: incl
1161
1162 .align 32, 0x90
1163 INSTRLEN_7_OFFSET_10:
1164 .fill 10, 1, 0x90
1165 .bundle_lock align_to_end
1166 .rept 7
1167 inc %eax
1168 .endr
1169 .bundle_unlock
1170 # CHECK: d4a: nop
1171 # CHECK: d59: incl
1172
1173 .align 32, 0x90
1174 INSTRLEN_7_OFFSET_11:
1175 .fill 11, 1, 0x90
1176 .bundle_lock align_to_end
1177 .rept 7
1178 inc %eax
1179 .endr
1180 .bundle_unlock
1181 # CHECK: d6b: nop
1182 # CHECK: d79: incl
1183
1184 .align 32, 0x90
1185 INSTRLEN_7_OFFSET_12:
1186 .fill 12, 1, 0x90
1187 .bundle_lock align_to_end
1188 .rept 7
1189 inc %eax
1190 .endr
1191 .bundle_unlock
1192 # CHECK: d8c: nop
1193 # CHECK: d99: incl
1194
1195 .align 32, 0x90
1196 INSTRLEN_7_OFFSET_13:
1197 .fill 13, 1, 0x90
1198 .bundle_lock align_to_end
1199 .rept 7
1200 inc %eax
1201 .endr
1202 .bundle_unlock
1203 # CHECK: dad: nop
1204 # CHECK: db9: incl
1205
1206 .align 32, 0x90
1207 INSTRLEN_7_OFFSET_14:
1208 .fill 14, 1, 0x90
1209 .bundle_lock align_to_end
1210 .rept 7
1211 inc %eax
1212 .endr
1213 .bundle_unlock
1214 # CHECK: dce: nop
1215 # CHECK: dd9: incl
1216
1217 .align 32, 0x90
1218 INSTRLEN_7_OFFSET_15:
1219 .fill 15, 1, 0x90
1220 .bundle_lock align_to_end
1221 .rept 7
1222 inc %eax
1223 .endr
1224 .bundle_unlock
1225 # CHECK: def: nop
1226 # CHECK: df9: incl
1227
1228 .align 32, 0x90
1229 INSTRLEN_8_OFFSET_0:
1230 .bundle_lock align_to_end
1231 .rept 8
1232 inc %eax
1233 .endr
1234 .bundle_unlock
1235 # CHECK: e00: nop
1236 # CHECK: e08: incl
1237
1238 .align 32, 0x90
1239 INSTRLEN_8_OFFSET_1:
1240 .fill 1, 1, 0x90
1241 .bundle_lock align_to_end
1242 .rept 8
1243 inc %eax
1244 .endr
1245 .bundle_unlock
1246 # CHECK: e21: nop
1247 # CHECK: e28: incl
1248
1249 .align 32, 0x90
1250 INSTRLEN_8_OFFSET_2:
1251 .fill 2, 1, 0x90
1252 .bundle_lock align_to_end
1253 .rept 8
1254 inc %eax
1255 .endr
1256 .bundle_unlock
1257 # CHECK: e42: nop
1258 # CHECK: e48: incl
1259
1260 .align 32, 0x90
1261 INSTRLEN_8_OFFSET_3:
1262 .fill 3, 1, 0x90
1263 .bundle_lock align_to_end
1264 .rept 8
1265 inc %eax
1266 .endr
1267 .bundle_unlock
1268 # CHECK: e63: nop
1269 # CHECK: e68: incl
1270
1271 .align 32, 0x90
1272 INSTRLEN_8_OFFSET_4:
1273 .fill 4, 1, 0x90
1274 .bundle_lock align_to_end
1275 .rept 8
1276 inc %eax
1277 .endr
1278 .bundle_unlock
1279 # CHECK: e84: nop
1280 # CHECK: e88: incl
1281
1282 .align 32, 0x90
1283 INSTRLEN_8_OFFSET_5:
1284 .fill 5, 1, 0x90
1285 .bundle_lock align_to_end
1286 .rept 8
1287 inc %eax
1288 .endr
1289 .bundle_unlock
1290 # CHECK: ea5: nop
1291 # CHECK: ea8: incl
1292
1293 .align 32, 0x90
1294 INSTRLEN_8_OFFSET_6:
1295 .fill 6, 1, 0x90
1296 .bundle_lock align_to_end
1297 .rept 8
1298 inc %eax
1299 .endr
1300 .bundle_unlock
1301 # CHECK: ec6: nop
1302 # CHECK: ec8: incl
1303
1304 .align 32, 0x90
1305 INSTRLEN_8_OFFSET_7:
1306 .fill 7, 1, 0x90
1307 .bundle_lock align_to_end
1308 .rept 8
1309 inc %eax
1310 .endr
1311 .bundle_unlock
1312 # CHECK: ee7: nop
1313 # CHECK: ee8: incl
1314
1315 .align 32, 0x90
1316 INSTRLEN_8_OFFSET_8:
1317 .fill 8, 1, 0x90
1318 .bundle_lock align_to_end
1319 .rept 8
1320 inc %eax
1321 .endr
1322 .bundle_unlock
1323 # CHECK: f08: incl
1324
1325 .align 32, 0x90
1326 INSTRLEN_8_OFFSET_9:
1327 .fill 9, 1, 0x90
1328 .bundle_lock align_to_end
1329 .rept 8
1330 inc %eax
1331 .endr
1332 .bundle_unlock
1333 # CHECK: f29: nop
1334 # CHECK: f38: incl
1335
1336 .align 32, 0x90
1337 INSTRLEN_8_OFFSET_10:
1338 .fill 10, 1, 0x90
1339 .bundle_lock align_to_end
1340 .rept 8
1341 inc %eax
1342 .endr
1343 .bundle_unlock
1344 # CHECK: f4a: nop
1345 # CHECK: f58: incl
1346
1347 .align 32, 0x90
1348 INSTRLEN_8_OFFSET_11:
1349 .fill 11, 1, 0x90
1350 .bundle_lock align_to_end
1351 .rept 8
1352 inc %eax
1353 .endr
1354 .bundle_unlock
1355 # CHECK: f6b: nop
1356 # CHECK: f78: incl
1357
1358 .align 32, 0x90
1359 INSTRLEN_8_OFFSET_12:
1360 .fill 12, 1, 0x90
1361 .bundle_lock align_to_end
1362 .rept 8
1363 inc %eax
1364 .endr
1365 .bundle_unlock
1366 # CHECK: f8c: nop
1367 # CHECK: f98: incl
1368
1369 .align 32, 0x90
1370 INSTRLEN_8_OFFSET_13:
1371 .fill 13, 1, 0x90
1372 .bundle_lock align_to_end
1373 .rept 8
1374 inc %eax
1375 .endr
1376 .bundle_unlock
1377 # CHECK: fad: nop
1378 # CHECK: fb8: incl
1379
1380 .align 32, 0x90
1381 INSTRLEN_8_OFFSET_14:
1382 .fill 14, 1, 0x90
1383 .bundle_lock align_to_end
1384 .rept 8
1385 inc %eax
1386 .endr
1387 .bundle_unlock
1388 # CHECK: fce: nop
1389 # CHECK: fd8: incl
1390
1391 .align 32, 0x90
1392 INSTRLEN_8_OFFSET_15:
1393 .fill 15, 1, 0x90
1394 .bundle_lock align_to_end
1395 .rept 8
1396 inc %eax
1397 .endr
1398 .bundle_unlock
1399 # CHECK: fef: nop
1400 # CHECK: ff8: incl
1401
1402 .align 32, 0x90
1403 INSTRLEN_9_OFFSET_0:
1404 .bundle_lock align_to_end
1405 .rept 9
1406 inc %eax
1407 .endr
1408 .bundle_unlock
1409 # CHECK: 1000: nop
1410 # CHECK: 1007: incl
1411
1412 .align 32, 0x90
1413 INSTRLEN_9_OFFSET_1:
1414 .fill 1, 1, 0x90
1415 .bundle_lock align_to_end
1416 .rept 9
1417 inc %eax
1418 .endr
1419 .bundle_unlock
1420 # CHECK: 1021: nop
1421 # CHECK: 1027: incl
1422
1423 .align 32, 0x90
1424 INSTRLEN_9_OFFSET_2:
1425 .fill 2, 1, 0x90
1426 .bundle_lock align_to_end
1427 .rept 9
1428 inc %eax
1429 .endr
1430 .bundle_unlock
1431 # CHECK: 1042: nop
1432 # CHECK: 1047: incl
1433
1434 .align 32, 0x90
1435 INSTRLEN_9_OFFSET_3:
1436 .fill 3, 1, 0x90
1437 .bundle_lock align_to_end
1438 .rept 9
1439 inc %eax
1440 .endr
1441 .bundle_unlock
1442 # CHECK: 1063: nop
1443 # CHECK: 1067: incl
1444
1445 .align 32, 0x90
1446 INSTRLEN_9_OFFSET_4:
1447 .fill 4, 1, 0x90
1448 .bundle_lock align_to_end
1449 .rept 9
1450 inc %eax
1451 .endr
1452 .bundle_unlock
1453 # CHECK: 1084: nop
1454 # CHECK: 1087: incl
1455
1456 .align 32, 0x90
1457 INSTRLEN_9_OFFSET_5:
1458 .fill 5, 1, 0x90
1459 .bundle_lock align_to_end
1460 .rept 9
1461 inc %eax
1462 .endr
1463 .bundle_unlock
1464 # CHECK: 10a5: nop
1465 # CHECK: 10a7: incl
1466
1467 .align 32, 0x90
1468 INSTRLEN_9_OFFSET_6:
1469 .fill 6, 1, 0x90
1470 .bundle_lock align_to_end
1471 .rept 9
1472 inc %eax
1473 .endr
1474 .bundle_unlock
1475 # CHECK: 10c6: nop
1476 # CHECK: 10c7: incl
1477
1478 .align 32, 0x90
1479 INSTRLEN_9_OFFSET_7:
1480 .fill 7, 1, 0x90
1481 .bundle_lock align_to_end
1482 .rept 9
1483 inc %eax
1484 .endr
1485 .bundle_unlock
1486 # CHECK: 10e7: incl
1487
1488 .align 32, 0x90
1489 INSTRLEN_9_OFFSET_8:
1490 .fill 8, 1, 0x90
1491 .bundle_lock align_to_end
1492 .rept 9
1493 inc %eax
1494 .endr
1495 .bundle_unlock
1496 # CHECK: 1108: nop
1497 # CHECK: 1117: incl
1498
1499 .align 32, 0x90
1500 INSTRLEN_9_OFFSET_9:
1501 .fill 9, 1, 0x90
1502 .bundle_lock align_to_end
1503 .rept 9
1504 inc %eax
1505 .endr
1506 .bundle_unlock
1507 # CHECK: 1129: nop
1508 # CHECK: 1137: incl
1509
1510 .align 32, 0x90
1511 INSTRLEN_9_OFFSET_10:
1512 .fill 10, 1, 0x90
1513 .bundle_lock align_to_end
1514 .rept 9
1515 inc %eax
1516 .endr
1517 .bundle_unlock
1518 # CHECK: 114a: nop
1519 # CHECK: 1157: incl
1520
1521 .align 32, 0x90
1522 INSTRLEN_9_OFFSET_11:
1523 .fill 11, 1, 0x90
1524 .bundle_lock align_to_end
1525 .rept 9
1526 inc %eax
1527 .endr
1528 .bundle_unlock
1529 # CHECK: 116b: nop
1530 # CHECK: 1177: incl
1531
1532 .align 32, 0x90
1533 INSTRLEN_9_OFFSET_12:
1534 .fill 12, 1, 0x90
1535 .bundle_lock align_to_end
1536 .rept 9
1537 inc %eax
1538 .endr
1539 .bundle_unlock
1540 # CHECK: 118c: nop
1541 # CHECK: 1197: incl
1542
1543 .align 32, 0x90
1544 INSTRLEN_9_OFFSET_13:
1545 .fill 13, 1, 0x90
1546 .bundle_lock align_to_end
1547 .rept 9
1548 inc %eax
1549 .endr
1550 .bundle_unlock
1551 # CHECK: 11ad: nop
1552 # CHECK: 11b7: incl
1553
1554 .align 32, 0x90
1555 INSTRLEN_9_OFFSET_14:
1556 .fill 14, 1, 0x90
1557 .bundle_lock align_to_end
1558 .rept 9
1559 inc %eax
1560 .endr
1561 .bundle_unlock
1562 # CHECK: 11ce: nop
1563 # CHECK: 11d7: incl
1564
1565 .align 32, 0x90
1566 INSTRLEN_9_OFFSET_15:
1567 .fill 15, 1, 0x90
1568 .bundle_lock align_to_end
1569 .rept 9
1570 inc %eax
1571 .endr
1572 .bundle_unlock
1573 # CHECK: 11ef: nop
1574 # CHECK: 11f7: incl
1575
1576 .align 32, 0x90
1577 INSTRLEN_10_OFFSET_0:
1578 .bundle_lock align_to_end
1579 .rept 10
1580 inc %eax
1581 .endr
1582 .bundle_unlock
1583 # CHECK: 1200: nop
1584 # CHECK: 1206: incl
1585
1586 .align 32, 0x90
1587 INSTRLEN_10_OFFSET_1:
1588 .fill 1, 1, 0x90
1589 .bundle_lock align_to_end
1590 .rept 10
1591 inc %eax
1592 .endr
1593 .bundle_unlock
1594 # CHECK: 1221: nop
1595 # CHECK: 1226: incl
1596
1597 .align 32, 0x90
1598 INSTRLEN_10_OFFSET_2:
1599 .fill 2, 1, 0x90
1600 .bundle_lock align_to_end
1601 .rept 10
1602 inc %eax
1603 .endr
1604 .bundle_unlock
1605 # CHECK: 1242: nop
1606 # CHECK: 1246: incl
1607
1608 .align 32, 0x90
1609 INSTRLEN_10_OFFSET_3:
1610 .fill 3, 1, 0x90
1611 .bundle_lock align_to_end
1612 .rept 10
1613 inc %eax
1614 .endr
1615 .bundle_unlock
1616 # CHECK: 1263: nop
1617 # CHECK: 1266: incl
1618
1619 .align 32, 0x90
1620 INSTRLEN_10_OFFSET_4:
1621 .fill 4, 1, 0x90
1622 .bundle_lock align_to_end
1623 .rept 10
1624 inc %eax
1625 .endr
1626 .bundle_unlock
1627 # CHECK: 1284: nop
1628 # CHECK: 1286: incl
1629
1630 .align 32, 0x90
1631 INSTRLEN_10_OFFSET_5:
1632 .fill 5, 1, 0x90
1633 .bundle_lock align_to_end
1634 .rept 10
1635 inc %eax
1636 .endr
1637 .bundle_unlock
1638 # CHECK: 12a5: nop
1639 # CHECK: 12a6: incl
1640
1641 .align 32, 0x90
1642 INSTRLEN_10_OFFSET_6:
1643 .fill 6, 1, 0x90
1644 .bundle_lock align_to_end
1645 .rept 10
1646 inc %eax
1647 .endr
1648 .bundle_unlock
1649 # CHECK: 12c6: incl
1650
1651 .align 32, 0x90
1652 INSTRLEN_10_OFFSET_7:
1653 .fill 7, 1, 0x90
1654 .bundle_lock align_to_end
1655 .rept 10
1656 inc %eax
1657 .endr
1658 .bundle_unlock
1659 # CHECK: 12e7: nop
1660 # CHECK: 12f6: incl
1661
1662 .align 32, 0x90
1663 INSTRLEN_10_OFFSET_8:
1664 .fill 8, 1, 0x90
1665 .bundle_lock align_to_end
1666 .rept 10
1667 inc %eax
1668 .endr
1669 .bundle_unlock
1670 # CHECK: 1308: nop
1671 # CHECK: 1316: incl
1672
1673 .align 32, 0x90
1674 INSTRLEN_10_OFFSET_9:
1675 .fill 9, 1, 0x90
1676 .bundle_lock align_to_end
1677 .rept 10
1678 inc %eax
1679 .endr
1680 .bundle_unlock
1681 # CHECK: 1329: nop
1682 # CHECK: 1336: incl
1683
1684 .align 32, 0x90
1685 INSTRLEN_10_OFFSET_10:
1686 .fill 10, 1, 0x90
1687 .bundle_lock align_to_end
1688 .rept 10
1689 inc %eax
1690 .endr
1691 .bundle_unlock
1692 # CHECK: 134a: nop
1693 # CHECK: 1356: incl
1694
1695 .align 32, 0x90
1696 INSTRLEN_10_OFFSET_11:
1697 .fill 11, 1, 0x90
1698 .bundle_lock align_to_end
1699 .rept 10
1700 inc %eax
1701 .endr
1702 .bundle_unlock
1703 # CHECK: 136b: nop
1704 # CHECK: 1376: incl
1705
1706 .align 32, 0x90
1707 INSTRLEN_10_OFFSET_12:
1708 .fill 12, 1, 0x90
1709 .bundle_lock align_to_end
1710 .rept 10
1711 inc %eax
1712 .endr
1713 .bundle_unlock
1714 # CHECK: 138c: nop
1715 # CHECK: 1396: incl
1716
1717 .align 32, 0x90
1718 INSTRLEN_10_OFFSET_13:
1719 .fill 13, 1, 0x90
1720 .bundle_lock align_to_end
1721 .rept 10
1722 inc %eax
1723 .endr
1724 .bundle_unlock
1725 # CHECK: 13ad: nop
1726 # CHECK: 13b6: incl
1727
1728 .align 32, 0x90
1729 INSTRLEN_10_OFFSET_14:
1730 .fill 14, 1, 0x90
1731 .bundle_lock align_to_end
1732 .rept 10
1733 inc %eax
1734 .endr
1735 .bundle_unlock
1736 # CHECK: 13ce: nop
1737 # CHECK: 13d6: incl
1738
1739 .align 32, 0x90
1740 INSTRLEN_10_OFFSET_15:
1741 .fill 15, 1, 0x90
1742 .bundle_lock align_to_end
1743 .rept 10
1744 inc %eax
1745 .endr
1746 .bundle_unlock
1747 # CHECK: 13ef: nop
1748 # CHECK: 13f6: incl
1749
1750 .align 32, 0x90
1751 INSTRLEN_11_OFFSET_0:
1752 .bundle_lock align_to_end
1753 .rept 11
1754 inc %eax
1755 .endr
1756 .bundle_unlock
1757 # CHECK: 1400: nop
1758 # CHECK: 1405: incl
1759
1760 .align 32, 0x90
1761 INSTRLEN_11_OFFSET_1:
1762 .fill 1, 1, 0x90
1763 .bundle_lock align_to_end
1764 .rept 11
1765 inc %eax
1766 .endr
1767 .bundle_unlock
1768 # CHECK: 1421: nop
1769 # CHECK: 1425: incl
1770
1771 .align 32, 0x90
1772 INSTRLEN_11_OFFSET_2:
1773 .fill 2, 1, 0x90
1774 .bundle_lock align_to_end
1775 .rept 11
1776 inc %eax
1777 .endr
1778 .bundle_unlock
1779 # CHECK: 1442: nop
1780 # CHECK: 1445: incl
1781
1782 .align 32, 0x90
1783 INSTRLEN_11_OFFSET_3:
1784 .fill 3, 1, 0x90
1785 .bundle_lock align_to_end
1786 .rept 11
1787 inc %eax
1788 .endr
1789 .bundle_unlock
1790 # CHECK: 1463: nop
1791 # CHECK: 1465: incl
1792
1793 .align 32, 0x90
1794 INSTRLEN_11_OFFSET_4:
1795 .fill 4, 1, 0x90
1796 .bundle_lock align_to_end
1797 .rept 11
1798 inc %eax
1799 .endr
1800 .bundle_unlock
1801 # CHECK: 1484: nop
1802 # CHECK: 1485: incl
1803
1804 .align 32, 0x90
1805 INSTRLEN_11_OFFSET_5:
1806 .fill 5, 1, 0x90
1807 .bundle_lock align_to_end
1808 .rept 11
1809 inc %eax
1810 .endr
1811 .bundle_unlock
1812 # CHECK: 14a5: incl
1813
1814 .align 32, 0x90
1815 INSTRLEN_11_OFFSET_6:
1816 .fill 6, 1, 0x90
1817 .bundle_lock align_to_end
1818 .rept 11
1819 inc %eax
1820 .endr
1821 .bundle_unlock
1822 # CHECK: 14c6: nop
1823 # CHECK: 14d5: incl
1824
1825 .align 32, 0x90
1826 INSTRLEN_11_OFFSET_7:
1827 .fill 7, 1, 0x90
1828 .bundle_lock align_to_end
1829 .rept 11
1830 inc %eax
1831 .endr
1832 .bundle_unlock
1833 # CHECK: 14e7: nop
1834 # CHECK: 14f5: incl
1835
1836 .align 32, 0x90
1837 INSTRLEN_11_OFFSET_8:
1838 .fill 8, 1, 0x90
1839 .bundle_lock align_to_end
1840 .rept 11
1841 inc %eax
1842 .endr
1843 .bundle_unlock
1844 # CHECK: 1508: nop
1845 # CHECK: 1515: incl
1846
1847 .align 32, 0x90
1848 INSTRLEN_11_OFFSET_9:
1849 .fill 9, 1, 0x90
1850 .bundle_lock align_to_end
1851 .rept 11
1852 inc %eax
1853 .endr
1854 .bundle_unlock
1855 # CHECK: 1529: nop
1856 # CHECK: 1535: incl
1857
1858 .align 32, 0x90
1859 INSTRLEN_11_OFFSET_10:
1860 .fill 10, 1, 0x90
1861 .bundle_lock align_to_end
1862 .rept 11
1863 inc %eax
1864 .endr
1865 .bundle_unlock
1866 # CHECK: 154a: nop
1867 # CHECK: 1555: incl
1868
1869 .align 32, 0x90
1870 INSTRLEN_11_OFFSET_11:
1871 .fill 11, 1, 0x90
1872 .bundle_lock align_to_end
1873 .rept 11
1874 inc %eax
1875 .endr
1876 .bundle_unlock
1877 # CHECK: 156b: nop
1878 # CHECK: 1575: incl
1879
1880 .align 32, 0x90
1881 INSTRLEN_11_OFFSET_12:
1882 .fill 12, 1, 0x90
1883 .bundle_lock align_to_end
1884 .rept 11
1885 inc %eax
1886 .endr
1887 .bundle_unlock
1888 # CHECK: 158c: nop
1889 # CHECK: 1595: incl
1890
1891 .align 32, 0x90
1892 INSTRLEN_11_OFFSET_13:
1893 .fill 13, 1, 0x90
1894 .bundle_lock align_to_end
1895 .rept 11
1896 inc %eax
1897 .endr
1898 .bundle_unlock
1899 # CHECK: 15ad: nop
1900 # CHECK: 15b5: incl
1901
1902 .align 32, 0x90
1903 INSTRLEN_11_OFFSET_14:
1904 .fill 14, 1, 0x90
1905 .bundle_lock align_to_end
1906 .rept 11
1907 inc %eax
1908 .endr
1909 .bundle_unlock
1910 # CHECK: 15ce: nop
1911 # CHECK: 15d5: incl
1912
1913 .align 32, 0x90
1914 INSTRLEN_11_OFFSET_15:
1915 .fill 15, 1, 0x90
1916 .bundle_lock align_to_end
1917 .rept 11
1918 inc %eax
1919 .endr
1920 .bundle_unlock
1921 # CHECK: 15ef: nop
1922 # CHECK: 15f5: incl
1923
1924 .align 32, 0x90
1925 INSTRLEN_12_OFFSET_0:
1926 .bundle_lock align_to_end
1927 .rept 12
1928 inc %eax
1929 .endr
1930 .bundle_unlock
1931 # CHECK: 1600: nop
1932 # CHECK: 1604: incl
1933
1934 .align 32, 0x90
1935 INSTRLEN_12_OFFSET_1:
1936 .fill 1, 1, 0x90
1937 .bundle_lock align_to_end
1938 .rept 12
1939 inc %eax
1940 .endr
1941 .bundle_unlock
1942 # CHECK: 1621: nop
1943 # CHECK: 1624: incl
1944
1945 .align 32, 0x90
1946 INSTRLEN_12_OFFSET_2:
1947 .fill 2, 1, 0x90
1948 .bundle_lock align_to_end
1949 .rept 12
1950 inc %eax
1951 .endr
1952 .bundle_unlock
1953 # CHECK: 1642: nop
1954 # CHECK: 1644: incl
1955
1956 .align 32, 0x90
1957 INSTRLEN_12_OFFSET_3:
1958 .fill 3, 1, 0x90
1959 .bundle_lock align_to_end
1960 .rept 12
1961 inc %eax
1962 .endr
1963 .bundle_unlock
1964 # CHECK: 1663: nop
1965 # CHECK: 1664: incl
1966
1967 .align 32, 0x90
1968 INSTRLEN_12_OFFSET_4:
1969 .fill 4, 1, 0x90
1970 .bundle_lock align_to_end
1971 .rept 12
1972 inc %eax
1973 .endr
1974 .bundle_unlock
1975 # CHECK: 1684: incl
1976
1977 .align 32, 0x90
1978 INSTRLEN_12_OFFSET_5:
1979 .fill 5, 1, 0x90
1980 .bundle_lock align_to_end
1981 .rept 12
1982 inc %eax
1983 .endr
1984 .bundle_unlock
1985 # CHECK: 16a5: nop
1986 # CHECK: 16b4: incl
1987
1988 .align 32, 0x90
1989 INSTRLEN_12_OFFSET_6:
1990 .fill 6, 1, 0x90
1991 .bundle_lock align_to_end
1992 .rept 12
1993 inc %eax
1994 .endr
1995 .bundle_unlock
1996 # CHECK: 16c6: nop
1997 # CHECK: 16d4: incl
1998
1999 .align 32, 0x90
2000 INSTRLEN_12_OFFSET_7:
2001 .fill 7, 1, 0x90
2002 .bundle_lock align_to_end
2003 .rept 12
2004 inc %eax
2005 .endr
2006 .bundle_unlock
2007 # CHECK: 16e7: nop
2008 # CHECK: 16f4: incl
2009
2010 .align 32, 0x90
2011 INSTRLEN_12_OFFSET_8:
2012 .fill 8, 1, 0x90
2013 .bundle_lock align_to_end
2014 .rept 12
2015 inc %eax
2016 .endr
2017 .bundle_unlock
2018 # CHECK: 1708: nop
2019 # CHECK: 1714: incl
2020
2021 .align 32, 0x90
2022 INSTRLEN_12_OFFSET_9:
2023 .fill 9, 1, 0x90
2024 .bundle_lock align_to_end
2025 .rept 12
2026 inc %eax
2027 .endr
2028 .bundle_unlock
2029 # CHECK: 1729: nop
2030 # CHECK: 1734: incl
2031
2032 .align 32, 0x90
2033 INSTRLEN_12_OFFSET_10:
2034 .fill 10, 1, 0x90
2035 .bundle_lock align_to_end
2036 .rept 12
2037 inc %eax
2038 .endr
2039 .bundle_unlock
2040 # CHECK: 174a: nop
2041 # CHECK: 1754: incl
2042
2043 .align 32, 0x90
2044 INSTRLEN_12_OFFSET_11:
2045 .fill 11, 1, 0x90
2046 .bundle_lock align_to_end
2047 .rept 12
2048 inc %eax
2049 .endr
2050 .bundle_unlock
2051 # CHECK: 176b: nop
2052 # CHECK: 1774: incl
2053
2054 .align 32, 0x90
2055 INSTRLEN_12_OFFSET_12:
2056 .fill 12, 1, 0x90
2057 .bundle_lock align_to_end
2058 .rept 12
2059 inc %eax
2060 .endr
2061 .bundle_unlock
2062 # CHECK: 178c: nop
2063 # CHECK: 1794: incl
2064
2065 .align 32, 0x90
2066 INSTRLEN_12_OFFSET_13:
2067 .fill 13, 1, 0x90
2068 .bundle_lock align_to_end
2069 .rept 12
2070 inc %eax
2071 .endr
2072 .bundle_unlock
2073 # CHECK: 17ad: nop
2074 # CHECK: 17b4: incl
2075
2076 .align 32, 0x90
2077 INSTRLEN_12_OFFSET_14:
2078 .fill 14, 1, 0x90
2079 .bundle_lock align_to_end
2080 .rept 12
2081 inc %eax
2082 .endr
2083 .bundle_unlock
2084 # CHECK: 17ce: nop
2085 # CHECK: 17d4: incl
2086
2087 .align 32, 0x90
2088 INSTRLEN_12_OFFSET_15:
2089 .fill 15, 1, 0x90
2090 .bundle_lock align_to_end
2091 .rept 12
2092 inc %eax
2093 .endr
2094 .bundle_unlock
2095 # CHECK: 17ef: nop
2096 # CHECK: 17f4: incl
2097
2098 .align 32, 0x90
2099 INSTRLEN_13_OFFSET_0:
2100 .bundle_lock align_to_end
2101 .rept 13
2102 inc %eax
2103 .endr
2104 .bundle_unlock
2105 # CHECK: 1800: nop
2106 # CHECK: 1803: incl
2107
2108 .align 32, 0x90
2109 INSTRLEN_13_OFFSET_1:
2110 .fill 1, 1, 0x90
2111 .bundle_lock align_to_end
2112 .rept 13
2113 inc %eax
2114 .endr
2115 .bundle_unlock
2116 # CHECK: 1821: nop
2117 # CHECK: 1823: incl
2118
2119 .align 32, 0x90
2120 INSTRLEN_13_OFFSET_2:
2121 .fill 2, 1, 0x90
2122 .bundle_lock align_to_end
2123 .rept 13
2124 inc %eax
2125 .endr
2126 .bundle_unlock
2127 # CHECK: 1842: nop
2128 # CHECK: 1843: incl
2129
2130 .align 32, 0x90
2131 INSTRLEN_13_OFFSET_3:
2132 .fill 3, 1, 0x90
2133 .bundle_lock align_to_end
2134 .rept 13
2135 inc %eax
2136 .endr
2137 .bundle_unlock
2138 # CHECK: 1863: incl
2139
2140 .align 32, 0x90
2141 INSTRLEN_13_OFFSET_4:
2142 .fill 4, 1, 0x90
2143 .bundle_lock align_to_end
2144 .rept 13
2145 inc %eax
2146 .endr
2147 .bundle_unlock
2148 # CHECK: 1884: nop
2149 # CHECK: 1893: incl
2150
2151 .align 32, 0x90
2152 INSTRLEN_13_OFFSET_5:
2153 .fill 5, 1, 0x90
2154 .bundle_lock align_to_end
2155 .rept 13
2156 inc %eax
2157 .endr
2158 .bundle_unlock
2159 # CHECK: 18a5: nop
2160 # CHECK: 18b3: incl
2161
2162 .align 32, 0x90
2163 INSTRLEN_13_OFFSET_6:
2164 .fill 6, 1, 0x90
2165 .bundle_lock align_to_end
2166 .rept 13
2167 inc %eax
2168 .endr
2169 .bundle_unlock
2170 # CHECK: 18c6: nop
2171 # CHECK: 18d3: incl
2172
2173 .align 32, 0x90
2174 INSTRLEN_13_OFFSET_7:
2175 .fill 7, 1, 0x90
2176 .bundle_lock align_to_end
2177 .rept 13
2178 inc %eax
2179 .endr
2180 .bundle_unlock
2181 # CHECK: 18e7: nop
2182 # CHECK: 18f3: incl
2183
2184 .align 32, 0x90
2185 INSTRLEN_13_OFFSET_8:
2186 .fill 8, 1, 0x90
2187 .bundle_lock align_to_end
2188 .rept 13
2189 inc %eax
2190 .endr
2191 .bundle_unlock
2192 # CHECK: 1908: nop
2193 # CHECK: 1913: incl
2194
2195 .align 32, 0x90
2196 INSTRLEN_13_OFFSET_9:
2197 .fill 9, 1, 0x90
2198 .bundle_lock align_to_end
2199 .rept 13
2200 inc %eax
2201 .endr
2202 .bundle_unlock
2203 # CHECK: 1929: nop
2204 # CHECK: 1933: incl
2205
2206 .align 32, 0x90
2207 INSTRLEN_13_OFFSET_10:
2208 .fill 10, 1, 0x90
2209 .bundle_lock align_to_end
2210 .rept 13
2211 inc %eax
2212 .endr
2213 .bundle_unlock
2214 # CHECK: 194a: nop
2215 # CHECK: 1953: incl
2216
2217 .align 32, 0x90
2218 INSTRLEN_13_OFFSET_11:
2219 .fill 11, 1, 0x90
2220 .bundle_lock align_to_end
2221 .rept 13
2222 inc %eax
2223 .endr
2224 .bundle_unlock
2225 # CHECK: 196b: nop
2226 # CHECK: 1973: incl
2227
2228 .align 32, 0x90
2229 INSTRLEN_13_OFFSET_12:
2230 .fill 12, 1, 0x90
2231 .bundle_lock align_to_end
2232 .rept 13
2233 inc %eax
2234 .endr
2235 .bundle_unlock
2236 # CHECK: 198c: nop
2237 # CHECK: 1993: incl
2238
2239 .align 32, 0x90
2240 INSTRLEN_13_OFFSET_13:
2241 .fill 13, 1, 0x90
2242 .bundle_lock align_to_end
2243 .rept 13
2244 inc %eax
2245 .endr
2246 .bundle_unlock
2247 # CHECK: 19ad: nop
2248 # CHECK: 19b3: incl
2249
2250 .align 32, 0x90
2251 INSTRLEN_13_OFFSET_14:
2252 .fill 14, 1, 0x90
2253 .bundle_lock align_to_end
2254 .rept 13
2255 inc %eax
2256 .endr
2257 .bundle_unlock
2258 # CHECK: 19ce: nop
2259 # CHECK: 19d3: incl
2260
2261 .align 32, 0x90
2262 INSTRLEN_13_OFFSET_15:
2263 .fill 15, 1, 0x90
2264 .bundle_lock align_to_end
2265 .rept 13
2266 inc %eax
2267 .endr
2268 .bundle_unlock
2269 # CHECK: 19ef: nop
2270 # CHECK: 19f3: incl
2271
2272 .align 32, 0x90
2273 INSTRLEN_14_OFFSET_0:
2274 .bundle_lock align_to_end
2275 .rept 14
2276 inc %eax
2277 .endr
2278 .bundle_unlock
2279 # CHECK: 1a00: nop
2280 # CHECK: 1a02: incl
2281
2282 .align 32, 0x90
2283 INSTRLEN_14_OFFSET_1:
2284 .fill 1, 1, 0x90
2285 .bundle_lock align_to_end
2286 .rept 14
2287 inc %eax
2288 .endr
2289 .bundle_unlock
2290 # CHECK: 1a21: nop
2291 # CHECK: 1a22: incl
2292
2293 .align 32, 0x90
2294 INSTRLEN_14_OFFSET_2:
2295 .fill 2, 1, 0x90
2296 .bundle_lock align_to_end
2297 .rept 14
2298 inc %eax
2299 .endr
2300 .bundle_unlock
2301 # CHECK: 1a42: incl
2302
2303 .align 32, 0x90
2304 INSTRLEN_14_OFFSET_3:
2305 .fill 3, 1, 0x90
2306 .bundle_lock align_to_end
2307 .rept 14
2308 inc %eax
2309 .endr
2310 .bundle_unlock
2311 # CHECK: 1a63: nop
2312 # CHECK: 1a72: incl
2313
2314 .align 32, 0x90
2315 INSTRLEN_14_OFFSET_4:
2316 .fill 4, 1, 0x90
2317 .bundle_lock align_to_end
2318 .rept 14
2319 inc %eax
2320 .endr
2321 .bundle_unlock
2322 # CHECK: 1a84: nop
2323 # CHECK: 1a92: incl
2324
2325 .align 32, 0x90
2326 INSTRLEN_14_OFFSET_5:
2327 .fill 5, 1, 0x90
2328 .bundle_lock align_to_end
2329 .rept 14
2330 inc %eax
2331 .endr
2332 .bundle_unlock
2333 # CHECK: 1aa5: nop
2334 # CHECK: 1ab2: incl
2335
2336 .align 32, 0x90
2337 INSTRLEN_14_OFFSET_6:
2338 .fill 6, 1, 0x90
2339 .bundle_lock align_to_end
2340 .rept 14
2341 inc %eax
2342 .endr
2343 .bundle_unlock
2344 # CHECK: 1ac6: nop
2345 # CHECK: 1ad2: incl
2346
2347 .align 32, 0x90
2348 INSTRLEN_14_OFFSET_7:
2349 .fill 7, 1, 0x90
2350 .bundle_lock align_to_end
2351 .rept 14
2352 inc %eax
2353 .endr
2354 .bundle_unlock
2355 # CHECK: 1ae7: nop
2356 # CHECK: 1af2: incl
2357
2358 .align 32, 0x90
2359 INSTRLEN_14_OFFSET_8:
2360 .fill 8, 1, 0x90
2361 .bundle_lock align_to_end
2362 .rept 14
2363 inc %eax
2364 .endr
2365 .bundle_unlock
2366 # CHECK: 1b08: nop
2367 # CHECK: 1b12: incl
2368
2369 .align 32, 0x90
2370 INSTRLEN_14_OFFSET_9:
2371 .fill 9, 1, 0x90
2372 .bundle_lock align_to_end
2373 .rept 14
2374 inc %eax
2375 .endr
2376 .bundle_unlock
2377 # CHECK: 1b29: nop
2378 # CHECK: 1b32: incl
2379
2380 .align 32, 0x90
2381 INSTRLEN_14_OFFSET_10:
2382 .fill 10, 1, 0x90
2383 .bundle_lock align_to_end
2384 .rept 14
2385 inc %eax
2386 .endr
2387 .bundle_unlock
2388 # CHECK: 1b4a: nop
2389 # CHECK: 1b52: incl
2390
2391 .align 32, 0x90
2392 INSTRLEN_14_OFFSET_11:
2393 .fill 11, 1, 0x90
2394 .bundle_lock align_to_end
2395 .rept 14
2396 inc %eax
2397 .endr
2398 .bundle_unlock
2399 # CHECK: 1b6b: nop
2400 # CHECK: 1b72: incl
2401
2402 .align 32, 0x90
2403 INSTRLEN_14_OFFSET_12:
2404 .fill 12, 1, 0x90
2405 .bundle_lock align_to_end
2406 .rept 14
2407 inc %eax
2408 .endr
2409 .bundle_unlock
2410 # CHECK: 1b8c: nop
2411 # CHECK: 1b92: incl
2412
2413 .align 32, 0x90
2414 INSTRLEN_14_OFFSET_13:
2415 .fill 13, 1, 0x90
2416 .bundle_lock align_to_end
2417 .rept 14
2418 inc %eax
2419 .endr
2420 .bundle_unlock
2421 # CHECK: 1bad: nop
2422 # CHECK: 1bb2: incl
2423
2424 .align 32, 0x90
2425 INSTRLEN_14_OFFSET_14:
2426 .fill 14, 1, 0x90
2427 .bundle_lock align_to_end
2428 .rept 14
2429 inc %eax
2430 .endr
2431 .bundle_unlock
2432 # CHECK: 1bce: nop
2433 # CHECK: 1bd2: incl
2434
2435 .align 32, 0x90
2436 INSTRLEN_14_OFFSET_15:
2437 .fill 15, 1, 0x90
2438 .bundle_lock align_to_end
2439 .rept 14
2440 inc %eax
2441 .endr
2442 .bundle_unlock
2443 # CHECK: 1bef: nop
2444 # CHECK: 1bf2: incl
2445
2446 .align 32, 0x90
2447 INSTRLEN_15_OFFSET_0:
2448 .bundle_lock align_to_end
2449 .rept 15
2450 inc %eax
2451 .endr
2452 .bundle_unlock
2453 # CHECK: 1c00: nop
2454 # CHECK: 1c01: incl
2455
2456 .align 32, 0x90
2457 INSTRLEN_15_OFFSET_1:
2458 .fill 1, 1, 0x90
2459 .bundle_lock align_to_end
2460 .rept 15
2461 inc %eax
2462 .endr
2463 .bundle_unlock
2464 # CHECK: 1c21: incl
2465
2466 .align 32, 0x90
2467 INSTRLEN_15_OFFSET_2:
2468 .fill 2, 1, 0x90
2469 .bundle_lock align_to_end
2470 .rept 15
2471 inc %eax
2472 .endr
2473 .bundle_unlock
2474 # CHECK: 1c42: nop
2475 # CHECK: 1c51: incl
2476
2477 .align 32, 0x90
2478 INSTRLEN_15_OFFSET_3:
2479 .fill 3, 1, 0x90
2480 .bundle_lock align_to_end
2481 .rept 15
2482 inc %eax
2483 .endr
2484 .bundle_unlock
2485 # CHECK: 1c63: nop
2486 # CHECK: 1c71: incl
2487
2488 .align 32, 0x90
2489 INSTRLEN_15_OFFSET_4:
2490 .fill 4, 1, 0x90
2491 .bundle_lock align_to_end
2492 .rept 15
2493 inc %eax
2494 .endr
2495 .bundle_unlock
2496 # CHECK: 1c84: nop
2497 # CHECK: 1c91: incl
2498
2499 .align 32, 0x90
2500 INSTRLEN_15_OFFSET_5:
2501 .fill 5, 1, 0x90
2502 .bundle_lock align_to_end
2503 .rept 15
2504 inc %eax
2505 .endr
2506 .bundle_unlock
2507 # CHECK: 1ca5: nop
2508 # CHECK: 1cb1: incl
2509
2510 .align 32, 0x90
2511 INSTRLEN_15_OFFSET_6:
2512 .fill 6, 1, 0x90
2513 .bundle_lock align_to_end
2514 .rept 15
2515 inc %eax
2516 .endr
2517 .bundle_unlock
2518 # CHECK: 1cc6: nop
2519 # CHECK: 1cd1: incl
2520
2521 .align 32, 0x90
2522 INSTRLEN_15_OFFSET_7:
2523 .fill 7, 1, 0x90
2524 .bundle_lock align_to_end
2525 .rept 15
2526 inc %eax
2527 .endr
2528 .bundle_unlock
2529 # CHECK: 1ce7: nop
2530 # CHECK: 1cf1: incl
2531
2532 .align 32, 0x90
2533 INSTRLEN_15_OFFSET_8:
2534 .fill 8, 1, 0x90
2535 .bundle_lock align_to_end
2536 .rept 15
2537 inc %eax
2538 .endr
2539 .bundle_unlock
2540 # CHECK: 1d08: nop
2541 # CHECK: 1d11: incl
2542
2543 .align 32, 0x90
2544 INSTRLEN_15_OFFSET_9:
2545 .fill 9, 1, 0x90
2546 .bundle_lock align_to_end
2547 .rept 15
2548 inc %eax
2549 .endr
2550 .bundle_unlock
2551 # CHECK: 1d29: nop
2552 # CHECK: 1d31: incl
2553
2554 .align 32, 0x90
2555 INSTRLEN_15_OFFSET_10:
2556 .fill 10, 1, 0x90
2557 .bundle_lock align_to_end
2558 .rept 15
2559 inc %eax
2560 .endr
2561 .bundle_unlock
2562 # CHECK: 1d4a: nop
2563 # CHECK: 1d51: incl
2564
2565 .align 32, 0x90
2566 INSTRLEN_15_OFFSET_11:
2567 .fill 11, 1, 0x90
2568 .bundle_lock align_to_end
2569 .rept 15
2570 inc %eax
2571 .endr
2572 .bundle_unlock
2573 # CHECK: 1d6b: nop
2574 # CHECK: 1d71: incl
2575
2576 .align 32, 0x90
2577 INSTRLEN_15_OFFSET_12:
2578 .fill 12, 1, 0x90
2579 .bundle_lock align_to_end
2580 .rept 15
2581 inc %eax
2582 .endr
2583 .bundle_unlock
2584 # CHECK: 1d8c: nop
2585 # CHECK: 1d91: incl
2586
2587 .align 32, 0x90
2588 INSTRLEN_15_OFFSET_13:
2589 .fill 13, 1, 0x90
2590 .bundle_lock align_to_end
2591 .rept 15
2592 inc %eax
2593 .endr
2594 .bundle_unlock
2595 # CHECK: 1dad: nop
2596 # CHECK: 1db1: incl
2597
2598 .align 32, 0x90
2599 INSTRLEN_15_OFFSET_14:
2600 .fill 14, 1, 0x90
2601 .bundle_lock align_to_end
2602 .rept 15
2603 inc %eax
2604 .endr
2605 .bundle_unlock
2606 # CHECK: 1dce: nop
2607 # CHECK: 1dd1: incl
2608
2609 .align 32, 0x90
2610 INSTRLEN_15_OFFSET_15:
2611 .fill 15, 1, 0x90
2612 .bundle_lock align_to_end
2613 .rept 15
2614 inc %eax
2615 .endr
2616 .bundle_unlock
2617 # CHECK: 1def: nop
2618 # CHECK: 1df1: incl
2619
2620 .align 32, 0x90
2621 INSTRLEN_16_OFFSET_0:
2622 .bundle_lock align_to_end
2623 .rept 16
2624 inc %eax
2625 .endr
2626 .bundle_unlock
2627 # CHECK: 1e00: incl
2628
2629 .align 32, 0x90
2630 INSTRLEN_16_OFFSET_1:
2631 .fill 1, 1, 0x90
2632 .bundle_lock align_to_end
2633 .rept 16
2634 inc %eax
2635 .endr
2636 .bundle_unlock
2637 # CHECK: 1e21: nop
2638 # CHECK: 1e30: incl
2639
2640 .align 32, 0x90
2641 INSTRLEN_16_OFFSET_2:
2642 .fill 2, 1, 0x90
2643 .bundle_lock align_to_end
2644 .rept 16
2645 inc %eax
2646 .endr
2647 .bundle_unlock
2648 # CHECK: 1e42: nop
2649 # CHECK: 1e50: incl
2650
2651 .align 32, 0x90
2652 INSTRLEN_16_OFFSET_3:
2653 .fill 3, 1, 0x90
2654 .bundle_lock align_to_end
2655 .rept 16
2656 inc %eax
2657 .endr
2658 .bundle_unlock
2659 # CHECK: 1e63: nop
2660 # CHECK: 1e70: incl
2661
2662 .align 32, 0x90
2663 INSTRLEN_16_OFFSET_4:
2664 .fill 4, 1, 0x90
2665 .bundle_lock align_to_end
2666 .rept 16
2667 inc %eax
2668 .endr
2669 .bundle_unlock
2670 # CHECK: 1e84: nop
2671 # CHECK: 1e90: incl
2672
2673 .align 32, 0x90
2674 INSTRLEN_16_OFFSET_5:
2675 .fill 5, 1, 0x90
2676 .bundle_lock align_to_end
2677 .rept 16
2678 inc %eax
2679 .endr
2680 .bundle_unlock
2681 # CHECK: 1ea5: nop
2682 # CHECK: 1eb0: incl
2683
2684 .align 32, 0x90
2685 INSTRLEN_16_OFFSET_6:
2686 .fill 6, 1, 0x90
2687 .bundle_lock align_to_end
2688 .rept 16
2689 inc %eax
2690 .endr
2691 .bundle_unlock
2692 # CHECK: 1ec6: nop
2693 # CHECK: 1ed0: incl
2694
2695 .align 32, 0x90
2696 INSTRLEN_16_OFFSET_7:
2697 .fill 7, 1, 0x90
2698 .bundle_lock align_to_end
2699 .rept 16
2700 inc %eax
2701 .endr
2702 .bundle_unlock
2703 # CHECK: 1ee7: nop
2704 # CHECK: 1ef0: incl
2705
2706 .align 32, 0x90
2707 INSTRLEN_16_OFFSET_8:
2708 .fill 8, 1, 0x90
2709 .bundle_lock align_to_end
2710 .rept 16
2711 inc %eax
2712 .endr
2713 .bundle_unlock
2714 # CHECK: 1f08: nop
2715 # CHECK: 1f10: incl
2716
2717 .align 32, 0x90
2718 INSTRLEN_16_OFFSET_9:
2719 .fill 9, 1, 0x90
2720 .bundle_lock align_to_end
2721 .rept 16
2722 inc %eax
2723 .endr
2724 .bundle_unlock
2725 # CHECK: 1f29: nop
2726 # CHECK: 1f30: incl
2727
2728 .align 32, 0x90
2729 INSTRLEN_16_OFFSET_10:
2730 .fill 10, 1, 0x90
2731 .bundle_lock align_to_end
2732 .rept 16
2733 inc %eax
2734 .endr
2735 .bundle_unlock
2736 # CHECK: 1f4a: nop
2737 # CHECK: 1f50: incl
2738
2739 .align 32, 0x90
2740 INSTRLEN_16_OFFSET_11:
2741 .fill 11, 1, 0x90
2742 .bundle_lock align_to_end
2743 .rept 16
2744 inc %eax
2745 .endr
2746 .bundle_unlock
2747 # CHECK: 1f6b: nop
2748 # CHECK: 1f70: incl
2749
2750 .align 32, 0x90
2751 INSTRLEN_16_OFFSET_12:
2752 .fill 12, 1, 0x90
2753 .bundle_lock align_to_end
2754 .rept 16
2755 inc %eax
2756 .endr
2757 .bundle_unlock
2758 # CHECK: 1f8c: nop
2759 # CHECK: 1f90: incl
2760
2761 .align 32, 0x90
2762 INSTRLEN_16_OFFSET_13:
2763 .fill 13, 1, 0x90
2764 .bundle_lock align_to_end
2765 .rept 16
2766 inc %eax
2767 .endr
2768 .bundle_unlock
2769 # CHECK: 1fad: nop
2770 # CHECK: 1fb0: incl
2771
2772 .align 32, 0x90
2773 INSTRLEN_16_OFFSET_14:
2774 .fill 14, 1, 0x90
2775 .bundle_lock align_to_end
2776 .rept 16
2777 inc %eax
2778 .endr
2779 .bundle_unlock
2780 # CHECK: 1fce: nop
2781 # CHECK: 1fd0: incl
2782
2783 .align 32, 0x90
2784 INSTRLEN_16_OFFSET_15:
2785 .fill 15, 1, 0x90
2786 .bundle_lock align_to_end
2787 .rept 16
2788 inc %eax
2789 .endr
2790 .bundle_unlock
2791 # CHECK: 1fef: nop
2792 # CHECK: 1ff0: incl
2793
0 # RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - 2>&1 | FileCheck %s
1
2 # Missing .bundle_align_mode argument
3 # CHECK: error: invalid option
4
5 .bundle_align_mode 4
6 .bundle_lock 5
7 imull $17, %ebx, %ebp
8 .bundle_unlock
9
10
0 # RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
1 # RUN: | llvm-objdump -disassemble -no-show-raw-insn - | FileCheck %s
2
3 # Test some variations of padding to the end of a bundle.
4
5 .text
6 foo:
7 .bundle_align_mode 4
8
9 # Each of these callq instructions is 5 bytes long
10 callq bar
11 callq bar
12 .bundle_lock align_to_end
13 callq bar
14 .bundle_unlock
15 # To align this group to a bundle end, we need a 1-byte NOP.
16 # CHECK: a: nop
17 # CHECK-NEXT: b: callq
18
19 callq bar
20 callq bar
21 .bundle_lock align_to_end
22 callq bar
23 callq bar
24 .bundle_unlock
25 # Here we have to pad until the end of the *next* boundary because
26 # otherwise the group crosses a boundary.
27 # CHECK: 1a: nop
28 # CHECK-NEXT: 26: callq
29 # CHECK-NEXT: 2b: callq
30
31
44 # For every possible offset in an aligned bundle, a bundle-locked group of every
55 # size in the inclusive range [1, bundle_size] is inserted. An appropriate CHECK
66 # is added to verify that NOP padding occurred (or did not occur) as expected.
7 # Run with --align-to-end to generate a similar test with align_to_end for each
8 # .bundle_lock directive.
79
8 # This script runs with Python 2.6+ (including 3.x)
10 # This script runs with Python 2.7 and 3.2+
911
1012 from __future__ import print_function
13 import argparse
1114
1215 BUNDLE_SIZE_POW2 = 4
1316 BUNDLE_SIZE = 2 ** BUNDLE_SIZE_POW2
2730 ALIGNTO = ' .align {0}, 0x90'
2831 NOPFILL = ' .fill {0}, 1, 0x90'
2932
30 def print_bundle_locked_sequence(len):
31 print(' .bundle_lock')
33 def print_bundle_locked_sequence(len, align_to_end=False):
34 print(' .bundle_lock{0}'.format(' align_to_end' if align_to_end else ''))
3235 print(' .rept {0}'.format(len))
3336 print(' inc %eax')
3437 print(' .endr')
3538 print(' .bundle_unlock')
3639
37 def generate():
40 def generate(align_to_end=False):
3841 print(PREAMBLE)
3942
4043 ntest = 0
4649 print('INSTRLEN_{0}_OFFSET_{1}:'.format(instlen, offset))
4750 if offset > 0:
4851 print(NOPFILL.format(offset))
49 print_bundle_locked_sequence(instlen)
52 print_bundle_locked_sequence(instlen, align_to_end)
5053
5154 # Now generate an appropriate CHECK line
5255 base_offset = ntest * 2 * BUNDLE_SIZE
5356 inst_orig_offset = base_offset + offset # had it not been padded...
57
58 def print_check(adjusted_offset=None):
59 if adjusted_offset is not None:
60 print('# CHECK: {0:x}: nop'.format(inst_orig_offset))
61 print('# CHECK: {0:x}: incl'.format(adjusted_offset))
62 else:
63 print('# CHECK: {0:x}: incl'.format(inst_orig_offset))
5464
55 if offset + instlen > BUNDLE_SIZE:
56 # Padding needed
57 print('# CHECK: {0:x}: nop'.format(inst_orig_offset))
58 aligned_offset = (inst_orig_offset + instlen) & ~(BUNDLE_SIZE - 1)
59 print('# CHECK: {0:x}: incl'.format(aligned_offset))
65 if align_to_end:
66 if offset + instlen == BUNDLE_SIZE:
67 # No padding needed
68 print_check()
69 elif offset + instlen < BUNDLE_SIZE:
70 # Pad to end at nearest bundle boundary
71 offset_to_end = base_offset + (BUNDLE_SIZE - instlen)
72 print_check(offset_to_end)
73 else: # offset + instlen > BUNDLE_SIZE
74 # Pad to end at next bundle boundary
75 offset_to_end = base_offset + (BUNDLE_SIZE * 2 - instlen)
76 print_check(offset_to_end)
6077 else:
61 # No padding needed
62 print('# CHECK: {0:x}: incl'.format(inst_orig_offset))
78 if offset + instlen > BUNDLE_SIZE:
79 # Padding needed
80 aligned_offset = (inst_orig_offset + instlen) & ~(BUNDLE_SIZE - 1)
81 print_check(aligned_offset)
82 else:
83 # No padding needed
84 print_check()
6385
6486 print()
6587 ntest += 1
6688
6789 if __name__ == '__main__':
68 generate()
90 argparser = argparse.ArgumentParser()
91 argparser.add_argument('--align-to-end',
92 action='store_true',
93 help='generate .bundle_lock with align_to_end option')
94 args = argparser.parse_args()
95 generate(align_to_end=args.align_to_end)
6996
97