summaryrefslogtreecommitdiffstats
path: root/lld/test/ELF/loongarch-relax-align-ldr.s
diff options
context:
space:
mode:
Diffstat (limited to 'lld/test/ELF/loongarch-relax-align-ldr.s')
-rw-r--r--lld/test/ELF/loongarch-relax-align-ldr.s28
1 files changed, 28 insertions, 0 deletions
diff --git a/lld/test/ELF/loongarch-relax-align-ldr.s b/lld/test/ELF/loongarch-relax-align-ldr.s
new file mode 100644
index 000000000000..6534dc906cfd
--- /dev/null
+++ b/lld/test/ELF/loongarch-relax-align-ldr.s
@@ -0,0 +1,28 @@
+# REQUIRES: loongarch
+## Test `ld -r` not changes the addend of R_LARCH_ALIGN.
+
+# RUN: llvm-mc --filetype=obj --triple=loongarch64 --mattr=+relax %s -o %t.64.o
+# RUN: ld.lld -r %t.64.o %t.64.o -o %t.64.r
+# RUN: llvm-objdump -dr --no-show-raw-insn %t.64.r | FileCheck %s
+
+# CHECK: <.text>:
+# CHECK-NEXT: break 1
+# CHECK-NEXT: nop
+# CHECK-NEXT: {{0*}}04: R_LARCH_ALIGN .text+0x804
+# CHECK-NEXT: nop
+# CHECK-NEXT: nop
+# CHECK-NEXT: break 2
+# CHECK-NEXT: break 0
+# CHECK-NEXT: break 0
+# CHECK-NEXT: break 0
+# CHECK-NEXT: break 1
+# CHECK-NEXT: nop
+# CHECK-NEXT: {{0*}}24: R_LARCH_ALIGN .text+0x804
+# CHECK-NEXT: nop
+# CHECK-NEXT: nop
+# CHECK-NEXT: break 2
+
+.text
+break 1
+.p2align 4, , 8
+break 2