[all-commits] [llvm/llvm-project] f22291: [RISCV][NFC] Merge Xqci Decoder Tables (#128140)

Sam Elliott via All-commits all-commits at lists.llvm.org
Tue Feb 25 11:14:26 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f22291c791c8063ef5125392ada3556dd3e62df5
      https://github.com/llvm/llvm-project/commit/f22291c791c8063ef5125392ada3556dd3e62df5
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2025-02-25 (Tue, 25 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td

  Log Message:
  -----------
  [RISCV][NFC] Merge Xqci Decoder Tables (#128140)

RISC-V has multiple decoder tables because there is no guarantee that
non-standard extensions do not overlap with each other.

Qualcomm's Xqci family of extensions are intended to be implemented
together, and therefore we want a single decode table for this group of
extensions. This should be more efficient overall, and allows us to use
tablegen's existing mechanism that finds overlapping encodings within
the group.

To implement this, the key addition is `TRY_TO_DECODE_FEATURE_ANY`,
which will use the provided decoder table if any of the features from
the FeatureBitset (first argument) are enabled, rather than if all are
enabled.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list