|
3 | 3 |
|
4 | 4 | # RUN: llvm-mc --filetype=obj --triple=loongarch64 -mattr=+relax %s -o %t.o
|
5 | 5 |
|
6 |
| -## FIXME: IE relaxation has not yet been implemented. |
7 |
| -## --relax/--no-relax has the same result. Also check --emit-relocs. |
| 6 | +## Also check --emit-relocs. |
8 | 7 | # RUN: ld.lld --emit-relocs %t.o -o %t
|
9 | 8 | # RUN: llvm-readelf -x .got %t 2>&1 | FileCheck --check-prefix=LE-GOT %s
|
10 |
| -# RUN: llvm-objdump -dr --no-show-raw-insn %t | FileCheck --check-prefixes=LE %s |
| 9 | +# RUN: llvm-objdump -dr --no-show-raw-insn %t | FileCheck --check-prefixes=LER %s |
11 | 10 |
|
12 | 11 | # RUN: ld.lld --emit-relocs --no-relax %t.o -o %t.norelax
|
13 | 12 | # RUN: llvm-readelf -x .got %t.norelax 2>&1 | FileCheck --check-prefix=LE-GOT %s
|
|
42 | 41 | # LE-NEXT: add.d $a2, $a2, $tp
|
43 | 42 | # LE-NEXT: add.d $a3, $a3, $tp
|
44 | 43 |
|
| 44 | +# LER: 20158: ori $a0, $zero, 4095 |
| 45 | +# LER-NEXT: R_LARCH_TLS_IE_PC_HI20 a |
| 46 | +# LER-NEXT: R_LARCH_RELAX *ABS* |
| 47 | +# LER-NEXT: R_LARCH_TLS_IE_PC_LO12 a |
| 48 | +# LER-NEXT: R_LARCH_RELAX *ABS* |
| 49 | +# LER-NEXT: add.d $a0, $a0, $tp |
| 50 | +# LER-NEXT: 20160: lu12i.w $a1, 1 |
| 51 | +# LER-NEXT: R_LARCH_TLS_IE_PC_HI20 b |
| 52 | +# LER-NEXT: ori $a1, $a1, 0 |
| 53 | +# LER-NEXT: R_LARCH_TLS_IE_PC_LO12 b |
| 54 | +# LER-NEXT: add.d $a1, $a1, $tp |
| 55 | +# LER-NEXT: 2016c: lu12i.w $a3, 1 |
| 56 | +# LER-NEXT: R_LARCH_TLS_IE_PC_HI20 a |
| 57 | +# LER-NEXT: R_LARCH_RELAX *ABS* |
| 58 | +# LER-NEXT: R_LARCH_TLS_IE_PC_HI20 b |
| 59 | +# LER-NEXT: R_LARCH_RELAX *ABS* |
| 60 | +# LER-NEXT: ori $a2, $zero, 4095 |
| 61 | +# LER-NEXT: R_LARCH_TLS_IE_PC_LO12 a |
| 62 | +# LER-NEXT: ori $a3, $a3, 0 |
| 63 | +# LER-NEXT: R_LARCH_TLS_IE_PC_LO12 b |
| 64 | +# LER-NEXT: add.d $a2, $a2, $tp |
| 65 | +# LER-NEXT: add.d $a3, $a3, $tp |
| 66 | + |
45 | 67 | la.tls.ie $a0, a # relax
|
46 | 68 | add.d $a0, $a0, $tp
|
47 | 69 |
|
|
0 commit comments