xref: /llvm-project/bolt/test/X86/rodata-simpl-loads.test (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
1## Check for the simplification of .rodata loads.
2
3RUN: %clang %cflags %p/Inputs/rodata_simpl_loads.s -o %t.exe
4RUN: llvm-bolt %t.exe -o %t --simplify-rodata-loads
5RUN: FileCheck %s --check-prefix=ORIGINAL --input-file %p/Inputs/rodata_simpl_loads.s
6RUN: llvm-objdump -d %t --print-imm-hex --disassemble-symbols=main | FileCheck %s
7
8CHECK:   Disassembly of section .text:
9CHECK:   <main>:
10## check that the following rip-relative operands have been
11## replaced with immediates
12
13ORIGINAL: movzbl  s1(%rip), %eax
14CHECK:    movl    $0x41, %eax
15
16ORIGINAL: cmpb    s2(%rip), %al
17CHECK:    cmpb    $0x41, %al
18
19ORIGINAL: movzbl  s1+1(%rip), %eax
20CHECK:    movl    $0x42, %eax
21
22ORIGINAL: cmpb    s2+1(%rip), %al
23CHECK:    cmpb    $0x42, %al
24
25ORIGINAL: movzbl  s1+2(%rip), %eax
26CHECK:    movl    $0x43, %eax
27
28ORIGINAL: cmpb    s2+2(%rip), %al
29CHECK:    cmpb    $0x43, %al
30
31ORIGINAL: movzbl  s1+3(%rip), %eax
32CHECK:    movl    $0x0, %eax
33
34ORIGINAL: cmpb    s2+3(%rip), %al
35CHECK:    cmpb    $0x0, %al
36
37ORIGINAL: movl    I1(%rip), %eax
38CHECK:    movl    $0x6, %eax
39
40ORIGINAL: addl    I2(%rip), %eax
41CHECK:    addl    $0x43, %eax
42
43ORIGINAL: movl    I2(%rip), %eax
44CHECK:    movl    $0x43, %eax
45