[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

`