1# RUN: llvm-mc -filetype=obj -triple x86_64 --x86-align-branch-boundary=32 --x86-align-branch=fused+jcc+indirect+call+ret %s | llvm-objdump -d --no-show-raw-insn - | FileCheck %s 2 3 # Check if no instruction crosses or is against the boundary, 4 # there will be no extra padding. 5 6 .text 7 .globl foo 8 .p2align 5 9foo: 10 .p2align 5 11 .rept 24 12 int3 13 .endr 14 # CHECK: 18: js 15 js foo 16 17 .p2align 5 18 .rept 24 19 int3 20 .endr 21 # CHECK: 38: jmp 22 jmp foo 23 24 .p2align 5 25 .rept 24 26 int3 27 .endr 28 # CHECK: 58: jmpq *%rcx 29 jmp *%rcx 30 31 32 .p2align 5 33 .rept 24 34 int3 35 .endr 36 # CHECK: 78: callq 37 call foo 38 39 .p2align 5 40 .rept 27 41 int3 42 .endr 43 # CHECK: 9b: retq $0 44 ret $0 45 46 47 .p2align 5 48 .rept 21 49 int3 50 .endr 51 # CHECK: b5: cmpq %rax, %rbp 52 # CHECK: b8: je 53 cmp %rax, %rbp 54 je foo 55