[LoongArch] Pre-commit test for #133225 ยท llvm/llvm-project@ba00d9f (original) (raw)
`@@ -3,6 +3,9 @@
`
3
3
`# RUN: llvm-mc --filetype=obj --triple=loongarch64 < %s \
`
4
4
`# RUN: | llvm-readobj -r - | FileCheck --check-prefix=RELOC %s
`
5
5
``
``
6
`+
RUN: not llvm-mc --triple=loongarch64 --defsym=FIXME=1 < %s 2>&1 \
`
``
7
`+
RUN: | FileCheck --check-prefix=ERROR %s
`
``
8
+
6
9
`## Check prefixes:
`
7
10
`## RELOC - Check the relocation in the object.
`
8
11
`## FIXUP - Check the fixup on the instruction.
`
`@@ -308,3 +311,25 @@ pcaddi $t1, %desc_pcrel_20(foo)
`
308
311
`# RELOC: R_LARCH_TLS_DESC_PCREL20_S2 foo 0x0
`
309
312
`# INSTR: pcaddi $t1, %desc_pcrel_20(foo)
`
310
313
`# FIXUP: fixup A - offset: 0, value: %desc_pcrel_20(foo), kind: FK_NONE
`
``
314
+
``
315
`+
.ifdef FIXME
`
``
316
+
``
317
`+
fld.s ft1,ft1, ft1,a0, %pc_lo12(foo)
`
``
318
`+
ERROR: :[[#@LINE-1]]๐ error: immediate must be an integer in the range [-2048, 2047]
`
``
319
+
``
320
`+
fst.d ft1,ft1, ft1,a0, %pc_lo12(foo)
`
``
321
`+
ERROR: :[[#@LINE-1]]๐ error: immediate must be an integer in the range [-2048, 2047]
`
``
322
+
``
323
`+
vld vr9,vr9, vr9,a0, %pc_lo12(foo)
`
``
324
`+
ERROR: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047]
`
``
325
+
``
326
`+
vst vr9,vr9, vr9,a0, %pc_lo12(foo)
`
``
327
`+
ERROR: :[[#@LINE-1]]:16: error: immediate must be an integer in the range [-2048, 2047]
`
``
328
+
``
329
`+
xvld xr9,xr9, xr9,a0, %pc_lo12(foo)
`
``
330
`+
ERROR: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-2048, 2047]
`
``
331
+
``
332
`+
xvst xr9,xr9, xr9,a0, %pc_lo12(foo)
`
``
333
`+
ERROR: :[[#@LINE-1]]:17: error: immediate must be an integer in the range [-2048, 2047]
`
``
334
+
``
335
`+
.endif
`