Skip to content

[RISCV] Add support for R_RISCV_QC_ACCESS_16 and R_RISCV_QC_ACCESS_32#1139

Draft
lenary wants to merge 1 commit into
qualcomm:mainfrom
lenary:pr/riscv-qc-e-li-annotate
Draft

[RISCV] Add support for R_RISCV_QC_ACCESS_16 and R_RISCV_QC_ACCESS_32#1139
lenary wants to merge 1 commit into
qualcomm:mainfrom
lenary:pr/riscv-qc-e-li-annotate

Conversation

@lenary
Copy link
Copy Markdown
Member

@lenary lenary commented May 6, 2026

These QUALCOMM vendor relocations mark 16-bit compressed and 32-bit load/store instructions as candidates for relaxation from a QC_E_LI + Load/Store sequence.

This Change:

  • Extends the internal QUALCOMM relocation range to cover the new relocations
  • registers them with applyNone (marker semantics, no instruction changes),
  • and add tests covering loads, stores, and compressed instructions.

This PR goes with llvm/llvm-project#188671 and quic/riscv-elf-psabi-quic-extensions#63 - the latter is necessary to understand how these relocations are intended to work.

This was written with the assistance of AI.

These QUALCOMM vendor relocations mark 16-bit compressed and 32-bit
load/store instructions as candidates for relaxation from a QC_E_LI +
Load/Store sequence.

This Change:
- Extends the internal QUALCOMM relocation range to cover the new
  relocations
- registers them with applyNone (marker semantics, no instruction
  changes),
- and add tests covering loads, stores, and compressed instructions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Sam Elliott <aelliott@qti.qualcomm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant