blob: 14dd5dd6ddf5f7201e43a73c57cf253e7ddd94d4 [file] [log] [blame]
# RUN: llvm-mc -filetype=obj -triple x86_64 --x86-align-branch-boundary=32 --x86-align-branch=fused+jcc+call %s | llvm-objdump -d --no-show-raw-insn - | FileCheck %s
# Exercise some corner cases related to align directive.
.text
# Check the align directive between the macro fused pair
# does not make code crazy.
# CHECK: 0: cmpq %rax, %rbp
# CHECK: 3: nop
# CHECK: 4: jne
cmp %rax, %rbp
.p2align 1
jne bar
.rept 24
int3
.endr
.p2align 1
# Check we can ensure this call not cross or end at boundary when there
# is a align directive before it.
# CHECK: 20: callq *%rax
call *%rax
.type bar,@function
bar:
retq