[all-commits] [llvm/llvm-project] 66da87: [RISCV] Assemble/Disassemble v-ext instructions.

Kai Wang via All-commits all-commits at lists.llvm.org
Sat Jun 27 09:54:46 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 66da87dcbaf91fa3393ce80c687e9c2d133ee3ca
      https://github.com/llvm/llvm-project/commit/66da87dcbaf91fa3393ce80c687e9c2d133ee3ca
  Author: Hsiangkai Wang <kai.wang at sifive.com>
  Date:   2020-06-28 (Sun, 28 Jun 2020)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVInstrFormats.td
    A llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    A llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/RISCV/RISCVSchedRocket32.td
    M llvm/lib/Target/RISCV/RISCVSchedRocket64.td
    M llvm/lib/Target/RISCV/RISCVSubtarget.h
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/lib/Target/RISCV/Utils/RISCVBaseInfo.h
    A llvm/test/MC/RISCV/rvv/add.s
    A llvm/test/MC/RISCV/rvv/and.s
    A llvm/test/MC/RISCV/rvv/clip.s
    A llvm/test/MC/RISCV/rvv/compare.s
    A llvm/test/MC/RISCV/rvv/convert.s
    A llvm/test/MC/RISCV/rvv/div.s
    A llvm/test/MC/RISCV/rvv/fadd.s
    A llvm/test/MC/RISCV/rvv/fcompare.s
    A llvm/test/MC/RISCV/rvv/fdiv.s
    A llvm/test/MC/RISCV/rvv/fmacc.s
    A llvm/test/MC/RISCV/rvv/fminmax.s
    A llvm/test/MC/RISCV/rvv/fmul.s
    A llvm/test/MC/RISCV/rvv/fmv.s
    A llvm/test/MC/RISCV/rvv/fothers.s
    A llvm/test/MC/RISCV/rvv/freduction.s
    A llvm/test/MC/RISCV/rvv/fsub.s
    A llvm/test/MC/RISCV/rvv/invalid.s
    A llvm/test/MC/RISCV/rvv/load.s
    A llvm/test/MC/RISCV/rvv/macc.s
    A llvm/test/MC/RISCV/rvv/mask.s
    A llvm/test/MC/RISCV/rvv/minmax.s
    A llvm/test/MC/RISCV/rvv/mul.s
    A llvm/test/MC/RISCV/rvv/mv.s
    A llvm/test/MC/RISCV/rvv/or.s
    A llvm/test/MC/RISCV/rvv/others.s
    A llvm/test/MC/RISCV/rvv/reduction.s
    A llvm/test/MC/RISCV/rvv/shift.s
    A llvm/test/MC/RISCV/rvv/sign-injection.s
    A llvm/test/MC/RISCV/rvv/snippet.s
    A llvm/test/MC/RISCV/rvv/store.s
    A llvm/test/MC/RISCV/rvv/sub.s
    A llvm/test/MC/RISCV/rvv/vsetvl.s
    A llvm/test/MC/RISCV/rvv/xor.s

  Log Message:
  -----------
  [RISCV] Assemble/Disassemble v-ext instructions.

Assemble/disassemble RISC-V V extension instructions according to
latest version spec in https://github.com/riscv/riscv-v-spec/.

I have tested this patch using GNU toolchain. The encoding is aligned
to GNU assembler output. In this patch, there is a test case for each
instruction at least.

The V register definition is just for assemble/disassemble. Its type
is not important in this stage. I think it will be reviewed and modified
as we want to do codegen for scalable vector types.

This patch does not include Zvamo, Zvlsseg, and Zvediv.

Differential revision: https://reviews.llvm.org/D69987


  Commit: d698ff92a59c0632aa6a88b72890eb401bd64faa
      https://github.com/llvm/llvm-project/commit/d698ff92a59c0632aa6a88b72890eb401bd64faa
  Author: Hsiangkai Wang <kai.wang at sifive.com>
  Date:   2020-06-28 (Sun, 28 Jun 2020)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/test/Driver/riscv-arch.c

  Log Message:
  -----------
  [RISCV] Support experimental v extensions.

This follows the design as discussed on the mailing lists in the
following RFC:
http://lists.llvm.org/pipermail/llvm-dev/2020-January/138364.html

Support for the vector 'v' extension v0.8.

Differential revision: https://reviews.llvm.org/D81188


Compare: https://github.com/llvm/llvm-project/compare/f0634100cdc8...d698ff92a59c


More information about the All-commits mailing list