[PATCH] D126629: [JITLink][ELF/AARCH64][NFC] Add testcases for gpr R_AARCH64_LDST*_ABS_LO12_NC
Sunho Kim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun May 29 23:53:02 PDT 2022
sunho created this revision.
Herald added a subscriber: kristof.beyls.
Herald added a project: All.
sunho requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Add jitlink-check test cases for R_AARCH64_LDST*_ABS_LO12_NC relocation types.
https://reviews.llvm.org/D126629
Files:
llvm/test/ExecutionEngine/JITLink/AArch64/ELF_aarch64_relocations.s
Index: llvm/test/ExecutionEngine/JITLink/AArch64/ELF_aarch64_relocations.s
===================================================================
--- llvm/test/ExecutionEngine/JITLink/AArch64/ELF_aarch64_relocations.s
+++ llvm/test/ExecutionEngine/JITLink/AArch64/ELF_aarch64_relocations.s
@@ -45,6 +45,71 @@
add x0, x0, :lo12:named_data
.size test_add_abs_lo12, .-test_add_abs_lo12
+# Check R_AARCH64_LDST*_ABS_LO12_NC relocation of a local symbol
+#
+# The immediate value should be the symbol address right shifted according to its instruction bitwidth.
+#
+# jitlink-check: decode_operand(test_ldrb, 2) = named_data[11:0]
+# jitlink-check: decode_operand(test_ldrsb, 2) = (named_data + 0)[11:0]
+# jitlink-check: decode_operand(test_ldrh, 2) = (named_data + 0)[11:1]
+# jitlink-check: decode_operand(test_ldrsh, 2) = (named_data + 0)[11:1]
+# jitlink-check: decode_operand(test_ldr_32bit, 2) = (named_data + 0)[11:2]
+# jitlink-check: decode_operand(test_ldr_64bit, 2) = (named_data + 0)[11:3]
+# jitlink-check: decode_operand(test_strb, 2) = named_data[11:0]
+# jitlink-check: decode_operand(test_strh, 2) = (named_data + 0)[11:1]
+# jitlink-check: decode_operand(test_str_32bit, 2) = (named_data + 0)[11:2]
+# jitlink-check: decode_operand(test_str_64bit, 2) = (named_data + 0)[11:3]
+
+ .globl test_ldrb
+test_ldrb:
+ ldrb w0, [x1, :lo12:named_data]
+ .size test_ldrb, .-test_ldrb
+
+ .globl test_ldrsb
+test_ldrsb:
+ ldrsb w0, [x1, :lo12:named_data]
+ .size test_ldrsb, .-test_ldrsb
+
+ .globl test_ldrh
+test_ldrh:
+ ldrh w0, [x1, :lo12:named_data]
+ .size test_ldrh, .-test_ldrh
+
+ .globl test_ldrsh
+test_ldrsh:
+ ldrsh w0, [x1, :lo12:named_data]
+ .size test_ldrsh, .-test_ldrsh
+
+ .globl test_ldr_32bit
+test_ldr_32bit:
+ ldr w0, [x1, :lo12:named_data]
+ .size test_ldr_32bit, .-test_ldr_32bit
+
+ .globl test_ldr_64bit
+test_ldr_64bit:
+ ldr x0, [x1, :lo12:named_data]
+ .size test_ldr_64bit, .-test_ldr_64bit
+
+ .globl test_strb
+test_strb:
+ strb w0, [x1, :lo12:named_data]
+ .size test_strb, .-test_strb
+
+ .globl test_strh
+test_strh:
+ strh w0, [x1, :lo12:named_data]
+ .size test_strh, .-test_strh
+
+ .globl test_str_32bit
+test_str_32bit:
+ str w0, [x1, :lo12:named_data]
+ .size test_str_32bit, .-test_str_32bit
+
+ .globl test_str_64bit
+test_str_64bit:
+ str x0, [x1, :lo12:named_data]
+ .size test_str_64bit, .-test_str_64bit
+
.globl named_data
.p2align 4
.type named_data, at object
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126629.432843.patch
Type: text/x-patch
Size: 2680 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220530/4479e235/attachment.bin>
More information about the llvm-commits
mailing list