[all-commits] [llvm/llvm-project] 10a719: [RISCV] Support named opcodes in .insn directive.

Craig Topper via All-commits all-commits at lists.llvm.org
Mon Dec 13 21:15:51 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 10a71981e92d24bf7f93ed21b2acfc2e04c00472
      https://github.com/llvm/llvm-project/commit/10a71981e92d24bf7f93ed21b2acfc2e04c00472
  Author: Nelson Chu <nelson.chu at sifive.com>
  Date:   2021-12-13 (Mon, 13 Dec 2021)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrFormats.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/MC/RISCV/insn-invalid.s
    M llvm/test/MC/RISCV/insn.s

  Log Message:
  -----------
  [RISCV] Support named opcodes in .insn directive.

This patch is one of the TODO of commit, 283879793dc787225992496587581ec77b6b0610

We build the GenericTable for these opcodes, and also extend class RISCVOpcode, to store the names of opcodes.  Then we call the parseInsnDirectiveOpcode to parse the opcode filed in .insn directive.  We only allow users to write the recognized opcode names, or just write the immediate values in the 7 bits range.

Documentation: https://sourceware.org/binutils/docs-2.37/as/RISC_002dV_002dFormats.html

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D115224




More information about the All-commits mailing list