brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · a33b7b8 Raw
60 lines · plain
1# RUN: llvm-mc --triple=loongarch64 --mattr=-relax %s \2# RUN:     | FileCheck --check-prefix=CHECK-ASM %s3# RUN: llvm-mc --triple=loongarch64 --mattr=-relax --filetype=obj %s \4# RUN:     | llvm-readobj -r - | FileCheck --check-prefix=CHECK-RELOC %s5 6## Test the operation of the push and pop assembler directives when7## using .option relax. Checks that using .option pop correctly restores 8## all target features to their state at the point where .option pop was9## last used.10 11# CHECK-ASM: .option push12.option push # relax = false13 14# CHECK-ASM: .option relax15.option relax # relax = true16 17# CHECK-ASM: pcalau12i $a0, %pc_hi20(sym1)18# CHECK-ASM-NEXT: addi.d $a0, $a0, %pc_lo12(sym1)19# CHECK-RELOC:      R_LARCH_PCALA_HI20 sym1 0x020# CHECK-RELOC-NEXT: R_LARCH_RELAX - 0x021# CHECK-RELOC-NEXT: R_LARCH_PCALA_LO12 sym1 0x022# CHECK-RELOC-NEXT: R_LARCH_RELAX - 0x023la.pcrel $a0, sym124 25# CHECK-ASM: .option push26.option push # relax = true27 28# CHECK-ASM: .option norelax29.option norelax # relax = false30 31# CHECK-ASM: pcalau12i $a0, %pc_hi20(sym2)32# CHECK-ASM-NEXT: addi.d $a0, $a0, %pc_lo12(sym2)33# CHECK-RELOC-NEXT: R_LARCH_PCALA_HI20 sym2 0x034# CHECK-RELOC-NOT:  R_LARCH_RELAX - 0x035# CHECK-RELOC-NEXT: R_LARCH_PCALA_LO12 sym2 0x036# CHECK-RELOC-NOT:  R_LARCH_RELAX - 0x037la.pcrel $a0, sym238 39# CHECK-ASM: .option pop40.option pop # relax = true41 42# CHECK-ASM: pcalau12i $a0, %pc_hi20(sym3)43# CHECK-ASM-NEXT: addi.d $a0, $a0, %pc_lo12(sym3)44# CHECK-RELOC:      R_LARCH_PCALA_HI20 sym3 0x045# CHECK-RELOC-NEXT: R_LARCH_RELAX - 0x046# CHECK-RELOC-NEXT: R_LARCH_PCALA_LO12 sym3 0x047# CHECK-RELOC-NEXT: R_LARCH_RELAX - 0x048la.pcrel $a0, sym349 50# CHECK-ASM: .option pop51.option pop # relax = false52 53la.pcrel $a0, sym454# CHECK-ASM: pcalau12i $a0, %pc_hi20(sym4)55# CHECK-ASM-NEXT: addi.d $a0, $a0, %pc_lo12(sym4)56# CHECK-RELOC-NEXT: R_LARCH_PCALA_HI20 sym4 0x057# CHECK-RELOC-NOT:  R_LARCH_RELAX - 0x058# CHECK-RELOC-NEXT: R_LARCH_PCALA_LO12 sym4 0x059# CHECK-RELOC-NOT:  R_LARCH_RELAX - 0x060