Files
TheRock/compiler/amd-llvm/llvm/test/MC/RISCV/long-conditional-jump.s
T
derek.holloway 7502bf64a4
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
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

180 lines
6.7 KiB
ArmAsm

# RUN: llvm-mc -filetype=obj -triple=riscv64 %s \
# RUN: | llvm-objdump -dr -M no-aliases - \
# RUN: | FileCheck --check-prefix=CHECK-INST %s
# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+c %s \
# RUN: | llvm-objdump -dr -M no-aliases - \
# RUN: | FileCheck --check-prefix=CHECK-INST-C %s
# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+relax %s \
# RUN: | llvm-objdump -dr -M no-aliases - \
# RUN: | FileCheck --check-prefix=CHECK-INST-RELAX %s
# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+c,+relax %s \
# RUN: | llvm-objdump -dr -M no-aliases - \
# RUN: | FileCheck --check-prefix=CHECK-INST-C-RELAX %s
.text
.type test,@function
test:
# CHECK-INST: beq a0, a1, 0x8
# CHECK-INST-NEXT: jal zero, 0x1458
# CHECK-INST-C: beq a0, a1, 0x8
# CHECK-INST-C-NEXT: jal zero, 0x1458
# CHECK-INST-RELAX: beq a0, a1, 0x8
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L1
# CHECK_INST-RELAX-NEXT: R_RISCV_RELAX *ABS*
# CHECK-INST-C-RELAX: beq a0, a1, 0x8
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L1
# CHECK_INST-C-RELAX-NEXT: R_RISCV_RELAX *ABS*
bne a0, a1, .L1
call relax
.fill 1300-2, 4, 0
.L1:
ret
# CHECK-INST: bne a0, a1, 0x1464
# CHECK-INST-NEXT: jal zero, 0x28b4
# CHECK-INST-C: bne a0, a1, 0x1462
# CHECK-INST-C-NEXT: jal zero, 0x28b2
# CHECK-INST-RELAX: bne a0, a1, 0x1464
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L2
# CHECK_INST-RELAX-NEXT: R_RISCV_RELAX *ABS*
# CHECK-INST-C-RELAX: bne a0, a1, 0x1462
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L2
# CHECK_INST-C-RELAX-NEXT: R_RISCV_RELAX *ABS*
beq a0, a1, .L2
.fill 1300, 4, 0
.L2:
ret
# CHECK-INST: bge a0, a1, 0x28c0
# CHECK-INST-NEXT: jal zero, 0x3d10
# CHECK-INST-C: bge a0, a1, 0x28bc
# CHECK-INST-C-NEXT: jal zero, 0x3d0c
# CHECK-INST-RELAX: bge a0, a1, 0x28c0
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L3
# CHECK_INST-RELAX-NEXT: R_RISCV_RELAX *ABS*
# CHECK-INST-C-RELAX: bge a0, a1, 0x28bc
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L3
# CHECK_INST-C-RELAX-NEXT: R_RISCV_RELAX *ABS*
blt a0, a1, .L3
.fill 1300, 4, 0
.L3:
ret
# CHECK-INST: blt a0, a1, 0x3d1c
# CHECK-INST-NEXT: jal zero, 0x516c
# CHECK-INST-C: blt a0, a1, 0x3d16
# CHECK-INST-C-NEXT: jal zero, 0x5166
# CHECK-INST-RELAX: blt a0, a1, 0x3d1c
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L4
# CHECK_INST-RELAX-NEXT: R_RISCV_RELAX *ABS*
# CHECK-INST-C-RELAX: blt a0, a1, 0x3d16
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L4
# CHECK_INST-C-RELAX-NEXT: R_RISCV_RELAX *ABS*
bge a0, a1, .L4
.fill 1300, 4, 0
.L4:
ret
# CHECK-INST: bgeu a0, a1, 0x5178
# CHECK-INST-NEXT: jal zero, 0x65c8
# CHECK-INST-C: bgeu a0, a1, 0x5170
# CHECK-INST-C-NEXT: jal zero, 0x65c0
# CHECK-INST-RELAX: bgeu a0, a1, 0x5178
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L5
# CHECK_INST-RELAX-NEXT: R_RISCV_RELAX *ABS*
# CHECK-INST-C-RELAX: bgeu a0, a1, 0x5170
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L5
# CHECK_INST-C-RELAX-NEXT: R_RISCV_RELAX *ABS*
bltu a0, a1, .L5
.fill 1300, 4, 0
.L5:
ret
# CHECK-INST: bltu a0, a1, 0x65d4
# CHECK-INST-NEXT: jal zero, 0x7a24
# CHECK-INST-C: bltu a0, a1, 0x65ca
# CHECK-INST-C-NEXT: jal zero, 0x7a1a
# CHECK-INST-RELAX: bltu a0, a1, 0x65d4
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L6
# CHECK_INST-RELAX-NEXT: R_RISCV_RELAX *ABS*
# CHECK-INST-C-RELAX: bltu a0, a1, 0x65ca
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L6
# CHECK_INST-C-RELAX-NEXT: R_RISCV_RELAX *ABS*
bgeu a0, a1, .L6
.fill 1300, 4, 0
.L6:
ret
# CHECK-INST: bne a0, zero, 0x7a30
# CHECK-INST-NEXT: jal zero, 0x8e80
# CHECK-INST-C: c.bnez a0, 0x7a22
# CHECK-INST-C-NEXT: jal zero, 0x8e72
# CHECK-INST-RELAX: bne a0, zero, 0x7a30
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L7
# CHECK_INST-RELAX-NEXT: R_RISCV_RELAX *ABS*
# CHECK-INST-C-RELAX: c.bnez a0, 0x7a22
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L7
# CHECK_INST-C-RELAX-NEXT: R_RISCV_RELAX *ABS*
beqz a0, .L7
.fill 1300, 4, 0
.L7:
ret
# CHECK-INST: bne zero, a0, 0x8e8c
# CHECK-INST-NEXT: jal zero, 0xa2dc
# CHECK-INST-C: c.bnez a0, 0x8e7a
# CHECK-INST-C-NEXT: jal zero, 0xa2ca
# CHECK-INST-RELAX: bne zero, a0, 0x8e8c
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L8
# CHECK_INST-RELAX-NEXT: R_RISCV_RELAX *ABS*
# CHECK-INST-C-RELAX: c.bnez a0, 0x8e7a
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L8
# CHECK_INST-C-RELAX-NEXT: R_RISCV_RELAX *ABS*
beq x0, a0, .L8
.fill 1300, 4, 0
.L8:
ret
# CHECK-INST: beq a0, zero, 0xa2e8
# CHECK-INST-NEXT: jal zero, 0xb738
# CHECK-INST-C: c.beqz a0, 0xa2d2
# CHECK-INST-C-NEXT: jal zero, 0xb722
# CHECK-INST-RELAX: beq a0, zero, 0xa2e8
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L9
# CHECK_INST-RELAX-NEXT: R_RISCV_RELAX *ABS*
# CHECK-INST-C-RELAX: c.beqz a0, 0xa2d2
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L9
# CHECK_INST-C-RELAX-NEXT: R_RISCV_RELAX *ABS*
bnez a0, .L9
.fill 1300, 4, 0
.L9:
ret
# CHECK-INST: beq a6, zero, 0xb744
# CHECK-INST-NEXT: jal zero, 0xcb94
# CHECK-INST-C: beq a6, zero, 0xb72c
# CHECK-INST-C-NEXT: jal zero, 0xcb7c
# CHECK-INST-RELAX: beq a6, zero, 0xb744
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L10
# CHECK_INST-RELAX-NEXT: R_RISCV_RELAX *ABS*
# CHECK-INST-C-RELAX: beq a6, zero, 0xb72c
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L10
# CHECK_INST-C-RELAX-NEXT: R_RISCV_RELAX *ABS*
bnez x16, .L10
.fill 1300, 4, 0
.L10:
ret
.Lfunc_end0:
.size test, .Lfunc_end0-test