aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s41
-rw-r--r--test/MC/X86/AlignedBundling/autogen-inst-offset-align-to-end.s2794
-rw-r--r--test/MC/X86/AlignedBundling/bundle-lock-option-error.s11
-rw-r--r--test/MC/X86/AlignedBundling/pad-align-to-bundle-end.s32
-rw-r--r--utils/testgen/mc-bundling-x86-gen.py54
5 files changed, 2919 insertions, 13 deletions
diff --git a/test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s b/test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s
new file mode 100644
index 0000000000..341358b9db
--- /dev/null
+++ b/test/MC/ARM/AlignedBundling/pad-align-to-bundle-end.s
@@ -0,0 +1,41 @@
+# RUN: llvm-mc -filetype=obj -triple armv7-linux-gnueabi %s -o - \
+# RUN: | llvm-objdump -no-show-raw-insn -triple armv7 -disassemble - | FileCheck %s
+
+ .syntax unified
+ .text
+ .bundle_align_mode 4
+
+ bx lr
+ and r1, r1, r2
+ and r1, r1, r2
+ .bundle_lock align_to_end
+ bx r9
+ .bundle_unlock
+# No padding required here because bx just happens to be in the
+# right offset.
+# CHECK: 8: and
+# CHECK-NEXT: c: bx
+
+ bx lr
+ and r1, r1, r2
+ .bundle_lock align_to_end
+ bx r9
+ .bundle_unlock
+# A 4-byte padding is needed here
+# CHECK: 18: nop
+# CHECK-NEXT: 1c: bx
+
+ bx lr
+ and r1, r1, r2
+ .bundle_lock align_to_end
+ bx r9
+ bx r9
+ bx r9
+ .bundle_unlock
+# A 12-byte padding is needed here to push the group to the end of the next
+# bundle
+# CHECK: 28: nop
+# CHECK-NEXT: 2c: nop
+# CHECK-NEXT: 30: nop
+# CHECK-NEXT: 34: bx
+
diff --git a/test/MC/X86/AlignedBundling/autogen-inst-offset-align-to-end.s b/test/MC/X86/AlignedBundling/autogen-inst-offset-align-to-end.s
new file mode 100644
index 0000000000..7fbb71bd4d
--- /dev/null
+++ b/test/MC/X86/AlignedBundling/autogen-inst-offset-align-to-end.s
@@ -0,0 +1,2794 @@
+# RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - \
+# RUN: | llvm-objdump -triple i386 -disassemble -no-show-raw-insn - | FileCheck %s
+
+# !!! This test is auto-generated from utils/testgen/mc-bundling-x86-gen.py !!!
+# It tests that bundle-aligned grouping works correctly in MC. Read the
+# source of the script for more details.
+
+ .text
+ .bundle_align_mode 4
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_0:
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 0: nop
+# CHECK: f: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_1:
+ .fill 1, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 21: nop
+# CHECK: 2f: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_2:
+ .fill 2, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 42: nop
+# CHECK: 4f: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_3:
+ .fill 3, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 63: nop
+# CHECK: 6f: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_4:
+ .fill 4, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 84: nop
+# CHECK: 8f: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_5:
+ .fill 5, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: a5: nop
+# CHECK: af: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_6:
+ .fill 6, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: c6: nop
+# CHECK: cf: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_7:
+ .fill 7, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: e7: nop
+# CHECK: ef: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_8:
+ .fill 8, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 108: nop
+# CHECK: 10f: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_9:
+ .fill 9, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 129: nop
+# CHECK: 12f: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_10:
+ .fill 10, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 14a: nop
+# CHECK: 14f: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_11:
+ .fill 11, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 16b: nop
+# CHECK: 16f: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_12:
+ .fill 12, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 18c: nop
+# CHECK: 18f: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_13:
+ .fill 13, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 1ad: nop
+# CHECK: 1af: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_14:
+ .fill 14, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 1ce: nop
+# CHECK: 1cf: incl
+
+ .align 32, 0x90
+INSTRLEN_1_OFFSET_15:
+ .fill 15, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 1
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 1ef: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_0:
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 200: nop
+# CHECK: 20e: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_1:
+ .fill 1, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 221: nop
+# CHECK: 22e: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_2:
+ .fill 2, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 242: nop
+# CHECK: 24e: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_3:
+ .fill 3, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 263: nop
+# CHECK: 26e: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_4:
+ .fill 4, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 284: nop
+# CHECK: 28e: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_5:
+ .fill 5, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 2a5: nop
+# CHECK: 2ae: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_6:
+ .fill 6, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 2c6: nop
+# CHECK: 2ce: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_7:
+ .fill 7, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 2e7: nop
+# CHECK: 2ee: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_8:
+ .fill 8, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 308: nop
+# CHECK: 30e: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_9:
+ .fill 9, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 329: nop
+# CHECK: 32e: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_10:
+ .fill 10, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 34a: nop
+# CHECK: 34e: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_11:
+ .fill 11, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 36b: nop
+# CHECK: 36e: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_12:
+ .fill 12, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 38c: nop
+# CHECK: 38e: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_13:
+ .fill 13, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 3ad: nop
+# CHECK: 3ae: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_14:
+ .fill 14, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 3ce: incl
+
+ .align 32, 0x90
+INSTRLEN_2_OFFSET_15:
+ .fill 15, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 2
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 3ef: nop
+# CHECK: 3fe: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_0:
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 400: nop
+# CHECK: 40d: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_1:
+ .fill 1, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 421: nop
+# CHECK: 42d: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_2:
+ .fill 2, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 442: nop
+# CHECK: 44d: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_3:
+ .fill 3, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 463: nop
+# CHECK: 46d: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_4:
+ .fill 4, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 484: nop
+# CHECK: 48d: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_5:
+ .fill 5, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 4a5: nop
+# CHECK: 4ad: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_6:
+ .fill 6, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 4c6: nop
+# CHECK: 4cd: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_7:
+ .fill 7, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 4e7: nop
+# CHECK: 4ed: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_8:
+ .fill 8, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 508: nop
+# CHECK: 50d: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_9:
+ .fill 9, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 529: nop
+# CHECK: 52d: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_10:
+ .fill 10, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 54a: nop
+# CHECK: 54d: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_11:
+ .fill 11, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 56b: nop
+# CHECK: 56d: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_12:
+ .fill 12, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 58c: nop
+# CHECK: 58d: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_13:
+ .fill 13, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 5ad: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_14:
+ .fill 14, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 5ce: nop
+# CHECK: 5dd: incl
+
+ .align 32, 0x90
+INSTRLEN_3_OFFSET_15:
+ .fill 15, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 3
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 5ef: nop
+# CHECK: 5fd: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_0:
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 600: nop
+# CHECK: 60c: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_1:
+ .fill 1, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 621: nop
+# CHECK: 62c: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_2:
+ .fill 2, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 642: nop
+# CHECK: 64c: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_3:
+ .fill 3, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 663: nop
+# CHECK: 66c: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_4:
+ .fill 4, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 684: nop
+# CHECK: 68c: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_5:
+ .fill 5, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 6a5: nop
+# CHECK: 6ac: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_6:
+ .fill 6, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 6c6: nop
+# CHECK: 6cc: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_7:
+ .fill 7, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 6e7: nop
+# CHECK: 6ec: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_8:
+ .fill 8, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 708: nop
+# CHECK: 70c: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_9:
+ .fill 9, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 729: nop
+# CHECK: 72c: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_10:
+ .fill 10, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 74a: nop
+# CHECK: 74c: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_11:
+ .fill 11, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 76b: nop
+# CHECK: 76c: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_12:
+ .fill 12, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 78c: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_13:
+ .fill 13, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 7ad: nop
+# CHECK: 7bc: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_14:
+ .fill 14, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 7ce: nop
+# CHECK: 7dc: incl
+
+ .align 32, 0x90
+INSTRLEN_4_OFFSET_15:
+ .fill 15, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 4
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 7ef: nop
+# CHECK: 7fc: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_0:
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 800: nop
+# CHECK: 80b: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_1:
+ .fill 1, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 821: nop
+# CHECK: 82b: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_2:
+ .fill 2, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 842: nop
+# CHECK: 84b: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_3:
+ .fill 3, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 863: nop
+# CHECK: 86b: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_4:
+ .fill 4, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 884: nop
+# CHECK: 88b: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_5:
+ .fill 5, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 8a5: nop
+# CHECK: 8ab: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_6:
+ .fill 6, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 8c6: nop
+# CHECK: 8cb: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_7:
+ .fill 7, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 8e7: nop
+# CHECK: 8eb: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_8:
+ .fill 8, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 908: nop
+# CHECK: 90b: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_9:
+ .fill 9, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 929: nop
+# CHECK: 92b: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_10:
+ .fill 10, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 94a: nop
+# CHECK: 94b: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_11:
+ .fill 11, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 96b: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_12:
+ .fill 12, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 98c: nop
+# CHECK: 99b: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_13:
+ .fill 13, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 9ad: nop
+# CHECK: 9bb: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_14:
+ .fill 14, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 9ce: nop
+# CHECK: 9db: incl
+
+ .align 32, 0x90
+INSTRLEN_5_OFFSET_15:
+ .fill 15, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 5
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 9ef: nop
+# CHECK: 9fb: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_0:
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: a00: nop
+# CHECK: a0a: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_1:
+ .fill 1, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: a21: nop
+# CHECK: a2a: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_2:
+ .fill 2, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: a42: nop
+# CHECK: a4a: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_3:
+ .fill 3, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: a63: nop
+# CHECK: a6a: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_4:
+ .fill 4, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: a84: nop
+# CHECK: a8a: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_5:
+ .fill 5, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: aa5: nop
+# CHECK: aaa: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_6:
+ .fill 6, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: ac6: nop
+# CHECK: aca: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_7:
+ .fill 7, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: ae7: nop
+# CHECK: aea: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_8:
+ .fill 8, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: b08: nop
+# CHECK: b0a: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_9:
+ .fill 9, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: b29: nop
+# CHECK: b2a: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_10:
+ .fill 10, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: b4a: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_11:
+ .fill 11, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: b6b: nop
+# CHECK: b7a: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_12:
+ .fill 12, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: b8c: nop
+# CHECK: b9a: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_13:
+ .fill 13, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: bad: nop
+# CHECK: bba: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_14:
+ .fill 14, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: bce: nop
+# CHECK: bda: incl
+
+ .align 32, 0x90
+INSTRLEN_6_OFFSET_15:
+ .fill 15, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 6
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: bef: nop
+# CHECK: bfa: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_0:
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: c00: nop
+# CHECK: c09: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_1:
+ .fill 1, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: c21: nop
+# CHECK: c29: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_2:
+ .fill 2, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: c42: nop
+# CHECK: c49: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_3:
+ .fill 3, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: c63: nop
+# CHECK: c69: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_4:
+ .fill 4, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: c84: nop
+# CHECK: c89: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_5:
+ .fill 5, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: ca5: nop
+# CHECK: ca9: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_6:
+ .fill 6, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: cc6: nop
+# CHECK: cc9: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_7:
+ .fill 7, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: ce7: nop
+# CHECK: ce9: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_8:
+ .fill 8, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: d08: nop
+# CHECK: d09: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_9:
+ .fill 9, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: d29: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_10:
+ .fill 10, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: d4a: nop
+# CHECK: d59: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_11:
+ .fill 11, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: d6b: nop
+# CHECK: d79: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_12:
+ .fill 12, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: d8c: nop
+# CHECK: d99: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_13:
+ .fill 13, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: dad: nop
+# CHECK: db9: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_14:
+ .fill 14, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: dce: nop
+# CHECK: dd9: incl
+
+ .align 32, 0x90
+INSTRLEN_7_OFFSET_15:
+ .fill 15, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 7
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: def: nop
+# CHECK: df9: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_0:
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: e00: nop
+# CHECK: e08: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_1:
+ .fill 1, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: e21: nop
+# CHECK: e28: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_2:
+ .fill 2, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: e42: nop
+# CHECK: e48: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_3:
+ .fill 3, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: e63: nop
+# CHECK: e68: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_4:
+ .fill 4, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: e84: nop
+# CHECK: e88: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_5:
+ .fill 5, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: ea5: nop
+# CHECK: ea8: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_6:
+ .fill 6, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: ec6: nop
+# CHECK: ec8: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_7:
+ .fill 7, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: ee7: nop
+# CHECK: ee8: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_8:
+ .fill 8, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: f08: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_9:
+ .fill 9, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: f29: nop
+# CHECK: f38: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_10:
+ .fill 10, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: f4a: nop
+# CHECK: f58: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_11:
+ .fill 11, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: f6b: nop
+# CHECK: f78: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_12:
+ .fill 12, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: f8c: nop
+# CHECK: f98: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_13:
+ .fill 13, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: fad: nop
+# CHECK: fb8: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_14:
+ .fill 14, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: fce: nop
+# CHECK: fd8: incl
+
+ .align 32, 0x90
+INSTRLEN_8_OFFSET_15:
+ .fill 15, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 8
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: fef: nop
+# CHECK: ff8: incl
+
+ .align 32, 0x90
+INSTRLEN_9_OFFSET_0:
+ .bundle_lock align_to_end
+ .rept 9
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 1000: nop
+# CHECK: 1007: incl
+
+ .align 32, 0x90
+INSTRLEN_9_OFFSET_1:
+ .fill 1, 1, 0x90
+ .bundle_lock align_to_end
+ .rept 9
+ inc %eax
+ .endr
+ .bundle_unlock
+# CHECK: 1021: nop
+# CHECK: 1027: incl
+