CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
112 lines
3.9 KiB
ArmAsm
112 lines
3.9 KiB
ArmAsm
# RUN: llvm-mc --filetype=obj --triple=loongarch64 --mattr=-relax %s \
|
|
# RUN: | llvm-readobj -r -x .data - | FileCheck %s --check-prefix=NORELAX
|
|
# RUN: llvm-mc --filetype=obj --triple=loongarch64 --mattr=+relax %s \
|
|
# RUN: | llvm-readobj -r -x .data - | FileCheck %s --check-prefix=RELAX
|
|
|
|
# NORELAX: Relocations [
|
|
# NORELAX-NEXT: Section ({{.*}}) .rela.text {
|
|
# NORELAX-NEXT: 0x0 R_LARCH_CALL36 foo 0x0
|
|
# NORELAX-NEXT: 0x10 R_LARCH_PCALA_HI20 .L1 0x0
|
|
# NORELAX-NEXT: 0x14 R_LARCH_PCALA_LO12 .L1 0x0
|
|
# NORELAX-NEXT: }
|
|
# NORELAX-NEXT: Section ({{.*}}) .rela.data {
|
|
# NORELAX-NEXT: 0x30 R_LARCH_ADD8 foo 0x0
|
|
# NORELAX-NEXT: 0x30 R_LARCH_SUB8 .L3 0x0
|
|
# NORELAX-NEXT: 0x31 R_LARCH_ADD16 foo 0x0
|
|
# NORELAX-NEXT: 0x31 R_LARCH_SUB16 .L3 0x0
|
|
# NORELAX-NEXT: 0x33 R_LARCH_ADD32 foo 0x0
|
|
# NORELAX-NEXT: 0x33 R_LARCH_SUB32 .L3 0x0
|
|
# NORELAX-NEXT: 0x37 R_LARCH_ADD64 foo 0x0
|
|
# NORELAX-NEXT: 0x37 R_LARCH_SUB64 .L3 0x0
|
|
# NORELAX-NEXT: }
|
|
# NORELAX-NEXT: ]
|
|
|
|
# NORELAX: Hex dump of section '.data':
|
|
# NORELAX-NEXT: 0x00000000 04040004 00000004 00000000 00000004
|
|
# NORELAX-NEXT: 0x00000010 04040004 00000004 00000000 00000004
|
|
# NORELAX-NEXT: 0x00000020 08080008 00000008 00000000 00000008
|
|
# NORELAX-NEXT: 0x00000030 00000000 00000000 00000000 000000
|
|
|
|
# RELAX: Relocations [
|
|
# RELAX-NEXT: Section ({{.*}}) .rela.text {
|
|
# RELAX-NEXT: 0x0 R_LARCH_CALL36 foo 0x0
|
|
# RELAX-NEXT: 0x0 R_LARCH_RELAX - 0x0
|
|
# RELAX-NEXT: 0xC R_LARCH_ALIGN - 0xC
|
|
# RELAX-NEXT: 0x18 R_LARCH_PCALA_HI20 .L1 0x0
|
|
# RELAX-NEXT: 0x18 R_LARCH_RELAX - 0x0
|
|
# RELAX-NEXT: 0x1C R_LARCH_PCALA_LO12 .L1 0x0
|
|
# RELAX-NEXT: 0x1C R_LARCH_RELAX - 0x0
|
|
# RELAX-NEXT: }
|
|
# RELAX-NEXT: Section ({{.*}}) .rela.data {
|
|
# RELAX-NEXT: 0x10 R_LARCH_ADD8 .L3 0x0
|
|
# RELAX-NEXT: 0x10 R_LARCH_SUB8 .L2 0x0
|
|
# RELAX-NEXT: 0x11 R_LARCH_ADD16 .L3 0x0
|
|
# RELAX-NEXT: 0x11 R_LARCH_SUB16 .L2 0x0
|
|
# RELAX-NEXT: 0x13 R_LARCH_ADD32 .L3 0x0
|
|
# RELAX-NEXT: 0x13 R_LARCH_SUB32 .L2 0x0
|
|
# RELAX-NEXT: 0x17 R_LARCH_ADD64 .L3 0x0
|
|
# RELAX-NEXT: 0x17 R_LARCH_SUB64 .L2 0x0
|
|
# RELAX-NEXT: 0x1F R_LARCH_ADD_ULEB128 .L3 0x0
|
|
# RELAX-NEXT: 0x1F R_LARCH_SUB_ULEB128 .L2 0x0
|
|
# RELAX-NEXT: 0x20 R_LARCH_ADD8 .L4 0x0
|
|
# RELAX-NEXT: 0x20 R_LARCH_SUB8 .L3 0x0
|
|
# RELAX-NEXT: 0x21 R_LARCH_ADD16 .L4 0x0
|
|
# RELAX-NEXT: 0x21 R_LARCH_SUB16 .L3 0x0
|
|
# RELAX-NEXT: 0x23 R_LARCH_ADD32 .L4 0x0
|
|
# RELAX-NEXT: 0x23 R_LARCH_SUB32 .L3 0x0
|
|
# RELAX-NEXT: 0x27 R_LARCH_ADD64 .L4 0x0
|
|
# RELAX-NEXT: 0x27 R_LARCH_SUB64 .L3 0x0
|
|
# RELAX-NEXT: 0x2F R_LARCH_ADD_ULEB128 .L4 0x0
|
|
# RELAX-NEXT: 0x2F R_LARCH_SUB_ULEB128 .L3 0x0
|
|
# RELAX-NEXT: 0x30 R_LARCH_ADD8 foo 0x0
|
|
# RELAX-NEXT: 0x30 R_LARCH_SUB8 .L3 0x0
|
|
# RELAX-NEXT: 0x31 R_LARCH_ADD16 foo 0x0
|
|
# RELAX-NEXT: 0x31 R_LARCH_SUB16 .L3 0x0
|
|
# RELAX-NEXT: 0x33 R_LARCH_ADD32 foo 0x0
|
|
# RELAX-NEXT: 0x33 R_LARCH_SUB32 .L3 0x0
|
|
# RELAX-NEXT: 0x37 R_LARCH_ADD64 foo 0x0
|
|
# RELAX-NEXT: 0x37 R_LARCH_SUB64 .L3 0x0
|
|
# RELAX-NEXT: }
|
|
# RELAX-NEXT: ]
|
|
|
|
# RELAX: Hex dump of section '.data':
|
|
# RELAX-NEXT: 0x00000000 04040004 00000004 00000000 00000004
|
|
# RELAX-NEXT: 0x00000010 00000000 00000000 00000000 00000000
|
|
# RELAX-NEXT: 0x00000020 00000000 00000000 00000000 00000000
|
|
# RELAX-NEXT: 0x00000030 00000000 00000000 00000000 000000
|
|
|
|
.text
|
|
call36 foo
|
|
.L1:
|
|
nop
|
|
.L2:
|
|
.align 4
|
|
.L3:
|
|
la.pcrel $t0, .L1
|
|
.L4:
|
|
ret
|
|
|
|
.data
|
|
## Not emit relocs
|
|
.byte .L2 - .L1
|
|
.short .L2 - .L1
|
|
.word .L2 - .L1
|
|
.dword .L2 - .L1
|
|
.uleb128 .L2 - .L1
|
|
## With relaxation, emit relocs because the .align makes the diff variable.
|
|
.byte .L3 - .L2
|
|
.short .L3 - .L2
|
|
.word .L3 - .L2
|
|
.dword .L3 - .L2
|
|
.uleb128 .L3 - .L2
|
|
## With relaxation, emit relocs because the la.pcrel makes the diff variable.
|
|
.byte .L4 - .L3
|
|
.short .L4 - .L3
|
|
.word .L4 - .L3
|
|
.dword .L4 - .L3
|
|
.uleb128 .L4 - .L3
|
|
.byte foo - .L3
|
|
.short foo - .L3
|
|
.word foo - .L3
|
|
.dword foo - .L3
|