1 # RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \ 2 # RUN: | llvm-objdump -disassemble -no-show-raw-insn - | FileCheck %s 3 # RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu -mc-relax-all %s -o - \ 4 # RUN: | llvm-objdump -disassemble -no-show-raw-insn - | FileCheck %s 5 6 # Test some variations of padding for bundle-locked groups. 7 8 .text 9 foo: 10 .bundle_align_mode 4 11 12 # Each of these callq instructions is 5 bytes long 13 callq bar 14 callq bar 15 16 .bundle_lock 17 callq bar 18 callq bar 19 .bundle_unlock 20 # We'll need a 6-byte NOP before this group 21 # CHECK: a: nop 22 # CHECK-NEXT: 10: callq 23 # CHECK-NEXT: 15: callq 24 25 .bundle_lock 26 callq bar 27 callq bar 28 .bundle_unlock 29 # Same here 30 # CHECK: 1a: nop 31 # CHECK-NEXT: 20: callq 32 # CHECK-NEXT: 25: callq 33 34 .align 16, 0x90 35 callq bar 36 .bundle_lock 37 callq bar 38 callq bar 39 callq bar 40 .bundle_unlock 41 # And here we'll need a 11-byte NOP 42 # CHECK: 30: callq 43 # CHECK: 35: nop 44 # CHECK-NEXT: 40: callq 45 # CHECK-NEXT: 45: callq 46 47 48 49