diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:48:50 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2016-07-23 20:48:50 +0000 |
commit | 1c98619801a5705c688e683be3ef9d70169a0686 (patch) | |
tree | 8422105cd1a94c368315f2db16b9ac746cf7c000 /test/ELF/aarch64-relocs.s | |
parent | f4f3ce4613680903220815690ad79fc7ba0a2e26 (diff) | |
download | src-1c98619801a5705c688e683be3ef9d70169a0686.tar.gz src-1c98619801a5705c688e683be3ef9d70169a0686.zip |
Vendor import of lld release_39 branch r276489:vendor/lld/lld-release_39-r276489
Notes
Notes:
svn path=/vendor/lld/dist/; revision=303239
svn path=/vendor/lld/lld-release_39-r276489/; revision=303240; tag=vendor/lld/lld-release_39-r276489
Diffstat (limited to 'test/ELF/aarch64-relocs.s')
-rw-r--r-- | test/ELF/aarch64-relocs.s | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/ELF/aarch64-relocs.s b/test/ELF/aarch64-relocs.s index 56b04a679111..90541329587a 100644 --- a/test/ELF/aarch64-relocs.s +++ b/test/ELF/aarch64-relocs.s @@ -120,3 +120,33 @@ foo8: # CHECK: Disassembly of section .R_AARCH64_LDST8_ABS_LO12_NC: # CHECK-NEXT: ldst8: # CHECK-NEXT: 11044: ab 21 81 39 ldrsb x11, [x13, #72] + +.section .R_AARCH64_LDST128_ABS_LO12_NC,"ax",@progbits +ldst128: + ldr q20, [x19, #:lo12:foo128] +foo128: + .asciz "foo" + .size mystr, 3 + +# S = 0x1104c, A = 0x4 +# R = ((S + A) & 0xFF8) << 6 = 0x00001400 +# 0x00001400 | 0x3dc00274 = 0x3dc01674 +# CHECK: Disassembly of section .R_AARCH64_LDST128_ABS_LO12_NC: +# CHECK: ldst128: +# CHECK: 1104c: 74 16 c0 3d ldr q20, [x19, #80] +#foo128: +# 11050: 66 6f 6f 00 .word + +.section .R_AARCH64_LDST16_ABS_LO12_NC,"ax",@progbits +ldst16: + ldr h17, [x19, :lo12:foo16] +foo16: + .asciz "foo" + .size mystr, 3 + +# S = 0x11054, A = 0x4 +# R = ((S + A) & 0x0FFC) << 9 = 0xb000 +# 0xb000 | 0x7d400271 = 0x7d40b271 +# CHECK: Disassembly of section .R_AARCH64_LDST16_ABS_LO12_NC: +# CHECK-NEXT: ldst16: +# CHECK-NEXT: 11054: 71 b2 40 7d ldr h17, [x19, #88] |