xref: /llvm-project/bolt/test/X86/rodata-simpl-loads.test (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
1*11791ae7SSayhaan Siddiqui## Check for the simplification of .rodata loads.
20e7dd1aaSAmir Ayupov
387a57aadSVladislav KhmelevskyRUN: %clang %cflags %p/Inputs/rodata_simpl_loads.s -o %t.exe
4d648aa1bSMaksim PanchenkoRUN: llvm-bolt %t.exe -o %t --simplify-rodata-loads
50e7dd1aaSAmir AyupovRUN: FileCheck %s --check-prefix=ORIGINAL --input-file %p/Inputs/rodata_simpl_loads.s
60e7dd1aaSAmir AyupovRUN: llvm-objdump -d %t --print-imm-hex --disassemble-symbols=main | FileCheck %s
70e7dd1aaSAmir Ayupov
80e7dd1aaSAmir AyupovCHECK:   Disassembly of section .text:
90e7dd1aaSAmir AyupovCHECK:   <main>:
10*11791ae7SSayhaan Siddiqui## check that the following rip-relative operands have been
11*11791ae7SSayhaan Siddiqui## replaced with immediates
120e7dd1aaSAmir Ayupov
130e7dd1aaSAmir AyupovORIGINAL: movzbl  s1(%rip), %eax
140e7dd1aaSAmir AyupovCHECK:    movl    $0x41, %eax
150e7dd1aaSAmir Ayupov
160e7dd1aaSAmir AyupovORIGINAL: cmpb    s2(%rip), %al
170e7dd1aaSAmir AyupovCHECK:    cmpb    $0x41, %al
180e7dd1aaSAmir Ayupov
190e7dd1aaSAmir AyupovORIGINAL: movzbl  s1+1(%rip), %eax
200e7dd1aaSAmir AyupovCHECK:    movl    $0x42, %eax
210e7dd1aaSAmir Ayupov
220e7dd1aaSAmir AyupovORIGINAL: cmpb    s2+1(%rip), %al
230e7dd1aaSAmir AyupovCHECK:    cmpb    $0x42, %al
240e7dd1aaSAmir Ayupov
250e7dd1aaSAmir AyupovORIGINAL: movzbl  s1+2(%rip), %eax
260e7dd1aaSAmir AyupovCHECK:    movl    $0x43, %eax
270e7dd1aaSAmir Ayupov
280e7dd1aaSAmir AyupovORIGINAL: cmpb    s2+2(%rip), %al
290e7dd1aaSAmir AyupovCHECK:    cmpb    $0x43, %al
300e7dd1aaSAmir Ayupov
310e7dd1aaSAmir AyupovORIGINAL: movzbl  s1+3(%rip), %eax
320e7dd1aaSAmir AyupovCHECK:    movl    $0x0, %eax
330e7dd1aaSAmir Ayupov
340e7dd1aaSAmir AyupovORIGINAL: cmpb    s2+3(%rip), %al
350e7dd1aaSAmir AyupovCHECK:    cmpb    $0x0, %al
360e7dd1aaSAmir Ayupov
370e7dd1aaSAmir AyupovORIGINAL: movl    I1(%rip), %eax
380e7dd1aaSAmir AyupovCHECK:    movl    $0x6, %eax
390e7dd1aaSAmir Ayupov
400e7dd1aaSAmir AyupovORIGINAL: addl    I2(%rip), %eax
410e7dd1aaSAmir AyupovCHECK:    addl    $0x43, %eax
420e7dd1aaSAmir Ayupov
430e7dd1aaSAmir AyupovORIGINAL: movl    I2(%rip), %eax
440e7dd1aaSAmir AyupovCHECK:    movl    $0x43, %eax
45