align-branch-64-2c.s
1.39 KB
# Check only indirect jumps and calls are aligned with option --x86-align-branch-boundary=32 --x86-align-branch=indirect+call
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown --x86-align-branch-boundary=32 --x86-align-branch=indirect+call %p/Inputs/align-branch-64-2.s | llvm-objdump -d - | FileCheck %s
# CHECK: 0000000000000000 foo:
# CHECK-COUNT-3: : 64 89 04 25 01 00 00 00 movl %eax, %fs:1
# CHECK-COUNT-2: : 89 75 f4 movl %esi, -12(%rbp)
# CHECK-COUNT-2: : 90 nop
# CHECK: 20: ff e0 jmpq *%rax
# CHECK-COUNT-3: : 64 89 04 25 01 00 00 00 movl %eax, %fs:1
# CHECK: 3a: 89 75 f4 movl %esi, -12(%rbp)
# CHECK-NEXT: 3d: 55 pushq %rbp
# CHECK-COUNT-2: : 90 nop
# CHECK: 40: ff d0 callq *%rax
# CHECK-COUNT-3: : 64 89 04 25 01 00 00 00 movl %eax, %fs:1
# CHECK: 5a: 55 pushq %rbp
# CHECK-COUNT-5: : 90 nop
# CHECK: 60: e8 00 00 00 00 callq {{.*}}
# CHECK-COUNT-4: : 64 89 04 25 01 00 00 00 movl %eax, %fs:1
# CHECK: 85: ff 14 25 00 00 00 00 callq *0