xref: /llvm-project/bolt/test/X86/addr32.s (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
1## Check that we don't accidentally strip addr32 prefix
2
3# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
4# RUN: ld.lld %t.o -o %t.exe -nostdlib
5# RUN: llvm-objdump -d %t.exe | FileCheck %s
6# RUN: llvm-bolt %t.exe -o %t.out --lite=0 --x86-strip-redundant-address-size=false
7# RUN: llvm-objdump -d %t.out | FileCheck %s
8# CHECK: 67 e8 {{.*}} addr32 callq {{.*}} <foo>
9# RUN: llvm-bolt %t.exe -o %t.out --lite=0 --x86-strip-redundant-address-size=true
10# remove test name from objdump output, to only search for addr32 in disassembly
11# RUN: llvm-objdump -d %t.out | grep -v addr32.s | FileCheck %s --check-prefix=CHECK-STRIP
12# CHECK-STRIP-NOT: addr32
13
14.globl	_start
15.type	_start, @function
16_start:
17.code64
18  addr32 callq foo
19  ret
20  .size	_start, .-_start
21
22.globl	foo
23.type	foo, @function
24foo:
25  ud2
26