[all-commits] [llvm/llvm-project] e2692f: [RISCV] Add matching of codegen patterns to RISCV ...

lewis-revill via All-commits all-commits at lists.llvm.org
Wed Jul 15 04:20:42 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e2692f0ee7f338fea4fc918669643315cefc7678
      https://github.com/llvm/llvm-project/commit/e2692f0ee7f338fea4fc918669643315cefc7678
  Author: lewis-revill <lewis.revill at embecosm.com>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoB.td
    A llvm/test/CodeGen/RISCV/rv32Zbb.ll
    A llvm/test/CodeGen/RISCV/rv64Zbb.ll

  Log Message:
  -----------
  [RISCV] Add matching of codegen patterns to RISCV Bit Manipulation Zbb asm instructions

This patch provides optimization of bit manipulation operations by
enabling the +experimental-b target feature.
It adds matching of single block patterns of instructions to specific
bit-manip instructions from the base subset (zbb subextension) of the
experimental B extension of RISC-V.
It adds also the correspondent codegen tests.

This patch is based on Claire Wolf's proposal for the bit manipulation
extension of RISCV:
https://github.com/riscv/riscv-bitmanip/blob/master/bitmanip-0.92.pdf

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


  Commit: 31b52b4345e36b169a2b6a89eac44651f59889dd
      https://github.com/llvm/llvm-project/commit/31b52b4345e36b169a2b6a89eac44651f59889dd
  Author: lewis-revill <lewis.revill at embecosm.com>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoB.td
    A llvm/test/CodeGen/RISCV/rv32Zbp.ll
    A llvm/test/CodeGen/RISCV/rv64Zbp.ll

  Log Message:
  -----------
  [RISCV] Add matching of codegen patterns to RISCV Bit Manipulation Zbp asm instructions

This patch provides optimization of bit manipulation operations by
enabling the +experimental-b target feature.
It adds matching of single block patterns of instructions to specific
bit-manip instructions from the permutation subset (zbp subextension) of
the experimental B extension of RISC-V.
It adds also the correspondent codegen tests.

This patch is based on Claire Wolf's proposal for the bit manipulation
extension of RISCV:
https://github.com/riscv/riscv-bitmanip/blob/master/bitmanip-0.92.pdf

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


  Commit: 6144f0a1e52e7f5439a67267ca65f2d72c21aaa6
      https://github.com/llvm/llvm-project/commit/6144f0a1e52e7f5439a67267ca65f2d72c21aaa6
  Author: lewis-revill <lewis.revill at embecosm.com>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoB.td
    A llvm/test/CodeGen/RISCV/rv32Zbbp.ll
    A llvm/test/CodeGen/RISCV/rv64Zbbp.ll

  Log Message:
  -----------
  [RISCV] Add matching of codegen patterns to RISCV Bit Manipulation Zbbp asm instructions

This patch provides optimization of bit manipulation operations by
enabling the +experimental-b target feature.
It adds matching of single block patterns of instructions to specific
bit-manip instructions belonging to both the permutation and the base
subsets of the experimental B extension of RISC-V.
It adds also the correspondent codegen tests.

This patch is based on Claire Wolf's proposal for the bit manipulation
extension of RISCV:
https://github.com/riscv/riscv-bitmanip/blob/master/bitmanip-0.92.pdf

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


  Commit: d4be33374c07ea9a9362892876aa76b227298181
      https://github.com/llvm/llvm-project/commit/d4be33374c07ea9a9362892876aa76b227298181
  Author: lewis-revill <lewis.revill at embecosm.com>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoB.td
    A llvm/test/CodeGen/RISCV/rv32Zbs.ll
    A llvm/test/CodeGen/RISCV/rv64Zbs.ll

  Log Message:
  -----------
  [RISCV] Add matching of codegen patterns to RISCV Bit Manipulation Zbs asm instructions

This patch provides optimization of bit manipulation operations by
enabling the +experimental-b target feature.
It adds matching of single block patterns of instructions to specific
bit-manip instructions from the single-bit subset (zbs subextension) of
the experimental B extension of RISC-V.
It adds also the correspondent codegen tests.

This patch is based on Claire Wolf's proposal for the bit manipulation
extension of RISCV:
https://github.com/riscv/riscv-bitmanip/blob/master/bitmanip-0.92.pdf

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


  Commit: c9c955ada8e65205312f2bc41b46eefa0e98b36c
      https://github.com/llvm/llvm-project/commit/c9c955ada8e65205312f2bc41b46eefa0e98b36c
  Author: lewis-revill <lewis.revill at embecosm.com>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoB.td
    A llvm/test/CodeGen/RISCV/rv32Zbt.ll
    A llvm/test/CodeGen/RISCV/rv64Zbt.ll

  Log Message:
  -----------
  [RISCV] Add matching of codegen patterns to RISCV Bit Manipulation Zbt asm instructions

This patch provides optimization of bit manipulation operations by
enabling the +experimental-b target feature.
It adds matching of single block patterns of instructions to specific
bit-manip instructions from the ternary subset (zbt subextension) of the
experimental B extension of RISC-V.
It adds also the correspondent codegen tests.

This patch is based on Claire Wolf's proposal for the bit manipulation
extension of RISCV:
https://github.com/riscv/riscv-bitmanip/blob/master/bitmanip-0.92.pdf

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


Compare: https://github.com/llvm/llvm-project/compare/20854d85e14c...c9c955ada8e6


More information about the All-commits mailing list