brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 7cc8dda Raw
49 lines · plain
1# RUN: llvm-mc --filetype=obj --triple=loongarch64 -mattr=-relax %s -o %t.n2# RUN: llvm-readobj -r %t.n | FileCheck %s3# RUN: llvm-mc --filetype=obj --triple=loongarch64 -mattr=+relax %s -o %t.r4# RUN: llvm-readobj -r %t.r | FileCheck %s --check-prefix=CHECKR5 6# CHECK:      Relocations [7# CHECK-NEXT:   Section ({{.*}}) .rela.text {8# CHECK-NEXT:     0x4 R_LARCH_CALL36 foo 0x09# CHECK-NEXT:   }10# CHECK-NEXT:   Section ({{.*}}) .rela.data {11# CHECK-NEXT:     0x0 R_LARCH_64 .L1 0x012# CHECK-NEXT:   }13# CHECK-NEXT: ]14 15# CHECKR:      Relocations [16# CHECKR-NEXT:   Section ({{.*}}) .rela.text {17# CHECKR-NEXT:     0x4 R_LARCH_CALL36 foo 0x018# CHECKR-NEXT:     0x4 R_LARCH_RELAX - 0x019# CHECKR-NEXT:     0x10 R_LARCH_B21 .L0 0x020# CHECKR-NEXT:     0x18 R_LARCH_B16 .L0 0x021# CHECKR-NEXT:     0x20 R_LARCH_B26 .L0 0x022# CHECKR-NEXT:   }23# CHECKR-NEXT:   Section ({{.*}}) .rela.data {24# CHECKR-NEXT:     0x0 R_LARCH_64 .L1 0x025# CHECKR-NEXT:   }26# CHECKR-NEXT: ]27 28.text29  nop30 31.L0:32  call36 foo33 34.L1:35  nop36## Relocations for branches to .L0 must be reserved and be fixed up by linker37## when linker relaxation enabled, because of the relaxable call36 instruction.38## Branches to .L1 can be resolved correctly at compile time, so their39## relocations can simply be removed.40  bnez $a0, .L041  beqz $a0, .L142  beq  $a0, $a1, .L043  blt  $a0, $a1, .L144  bl   .L045  b    .L146 47.data48.dword .L149