[all-commits] [llvm/llvm-project] 502ede: [ValueTypes][RISCV] Cap RVV fixed-length vectors b...

Fraser Cormack via All-commits all-commits at lists.llvm.org
Wed Jun 9 04:24:08 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 502edebd9d6eb4665add9fd5edaa2dd1b1b24298
      https://github.com/llvm/llvm-project/commit/502edebd9d6eb4665add9fd5edaa2dd1b1b24298
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2021-06-09 (Wed, 09 Jun 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/include/llvm/Support/MachineValueType.h
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast-large-vector.ll
    M llvm/test/CodeGen/RISCV/rvv/interleave-crash.ll
    M llvm/utils/TableGen/CodeGenTarget.cpp

  Log Message:
  -----------
  [ValueTypes][RISCV] Cap RVV fixed-length vectors by size

This patch changes RVV's policy for its supported list of fixed-length
vector types by capping by vector size rather than element count. Now
all 1024-byte vectors (of supported element types) are supported, rather
than all 256-element vectors.

This is a more natural fit for the architecture, and allows us to, for
example, improve the support for vector bitcasts.

This change necessitated the adding of some new simple types to avoid
"regressing" on the number of currently-supported vectors. We round out
the 1024-byte types by adding `v512i8`, `v1024i8`, `v512i16` and
`v512f16`.

Reviewed By: craig.topper

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




More information about the All-commits mailing list