[Alignment][NFC] Instructions::getLoadStoreAlignment
[llvm-complete.git] / test / ExecutionEngine / RuntimeDyld / X86 / COFF_x86_64_IMGREL.s
blob3522bee81eae6f354a6fbf1910580946db9e55f6
1 # RUN: rm -rf %t && mkdir -p %t
2 # RUN: llvm-mc -triple=x86_64-pc-win32 -filetype=obj -o %t/COFF_x86_64_IMGREL.o %s
3 # RUN: llvm-rtdyld -triple=x86_64-pc-win32 -verify -target-addr-start=40960000000000 -check=%s %t/COFF_x86_64_IMGREL.o
4 .text
5 .def F;
6 .scl 2;
7 .type 32;
8 .endef
9 .globl __constdata
11 .section .rdata, "dr", discard, __constdata
12 .align 8
13 __constdata:
14 .quad 0
16 .text
17 .globl F
18 .align 16, 0x90
20 F: # @F
21 # rtdyld-check: decode_operand(inst1, 3) = section_addr(COFF_x86_64_IMGREL.o, .text)+0-40960000000000
22 inst1:
23 mov %ebx, F@IMGREL
24 # rtdyld-check: decode_operand(inst2, 3) = section_addr(COFF_x86_64_IMGREL.o, .rdata)+5-40960000000000
25 inst2:
26 mov %ebx, (__constdata@imgrel+5)
27 .data
28 .space 375
29 rel1:
30 # rtdyld-check: *{4}rel1 = string - section_addr(COFF_x86_64_IMGREL.o, .data)
31 .secrel32 string
33 # We explicitly add padding to put string outside of the 16bit address space
34 # (absolute and as an offset from .data), so that relocations involving
35 # 32bit addresses / offsets are not accidentally truncated to 16 bits.
36 .space 65536
37 .global string
38 .align 1
39 string:
40 .asciz "Hello World\n"