Files
TheRock/compiler/amd-llvm/llvm/test/MC/ARM/thumb-ldr-stretch.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

67 lines
1.3 KiB
ArmAsm

@ RUN: llvm-mc -triple thumbv7m -filetype=obj -o %t %s
@ RUN: llvm-objdump -d --no-show-raw-insn --triple=thumbv7m %t | FileCheck %s
@ The three "b external" instructions relax from 2-byte tB to 4-byte t2B
@ (unresolved fixup). During the fused relaxation+layout pass, the cumulative
@ Stretch must not cause the tLDRpci instructions to appear misaligned and
@ spuriously relax to 4-byte t2LDRpci. The .p2align 2 before the constant pool
@ absorbs the upstream growth, keeping the targets 4-byte aligned.
@
@ If tLDRpci spuriously widens, the extra bytes push the cbz target past the
@ 126-byte range, causing "out of range pc-relative fixup value".
@ CHECK-LABEL: <fn>:
@ CHECK: 0: cbz r0, 0x7e
@ CHECK: 4c: ldr r2, [pc, #0x30]
@ CHECK-NOT: ldr.w
@ CHECK: 5e: ldr r2, [pc, #0x24]
@ CHECK-NOT: ldr.w
@ CHECK: 70: ldr r2, [pc, #0x14]
@ CHECK-NOT: ldr.w
@ CHECK: 7e: nop
.syntax unified
.text
.globl fn
.type fn,%function
.thumb_func
fn:
cbz r0, .LBB0_11
.rept 6
nop
.endr
b .LBB0_11
.rept 6
nop
.endr
b external
.rept 14
nop
.endr
b .LBB0_11
.rept 7
nop
.endr
ldr.n r2, .LCPI0_3
.rept 6
nop
.endr
b external
ldr r2, .LCPI0_4
.rept 6
nop
.endr
b external
ldr.n r2, .LCPI0_5
.rept 6
nop
.endr
.LBB0_11:
.p2align 2
.LCPI0_3:
.long 4
.LCPI0_4:
.long 5
.LCPI0_5:
.long 6