forked from OSchip/llvm-project
45 lines
1.2 KiB
Plaintext
45 lines
1.2 KiB
Plaintext
# Check for the simplification of .rodata loads.
|
|
|
|
RUN: %clang %cflags %p/Inputs/rodata_simpl_loads.s -o %t.exe
|
|
RUN: llvm-bolt %t.exe -o %t --simplify-rodata-loads
|
|
RUN: FileCheck %s --check-prefix=ORIGINAL --input-file %p/Inputs/rodata_simpl_loads.s
|
|
RUN: llvm-objdump -d %t --print-imm-hex --disassemble-symbols=main | FileCheck %s
|
|
|
|
CHECK: Disassembly of section .text:
|
|
CHECK: <main>:
|
|
# check that the following rip-relative operands have been
|
|
# replaced with immediates
|
|
|
|
ORIGINAL: movzbl s1(%rip), %eax
|
|
CHECK: movl $0x41, %eax
|
|
|
|
ORIGINAL: cmpb s2(%rip), %al
|
|
CHECK: cmpb $0x41, %al
|
|
|
|
ORIGINAL: movzbl s1+1(%rip), %eax
|
|
CHECK: movl $0x42, %eax
|
|
|
|
ORIGINAL: cmpb s2+1(%rip), %al
|
|
CHECK: cmpb $0x42, %al
|
|
|
|
ORIGINAL: movzbl s1+2(%rip), %eax
|
|
CHECK: movl $0x43, %eax
|
|
|
|
ORIGINAL: cmpb s2+2(%rip), %al
|
|
CHECK: cmpb $0x43, %al
|
|
|
|
ORIGINAL: movzbl s1+3(%rip), %eax
|
|
CHECK: movl $0x0, %eax
|
|
|
|
ORIGINAL: cmpb s2+3(%rip), %al
|
|
CHECK: cmpb $0x0, %al
|
|
|
|
ORIGINAL: movl I1(%rip), %eax
|
|
CHECK: movl $0x6, %eax
|
|
|
|
ORIGINAL: addl I2(%rip), %eax
|
|
CHECK: addl $0x43, %eax
|
|
|
|
ORIGINAL: movl I2(%rip), %eax
|
|
CHECK: movl $0x43, %eax
|