[all-commits] [llvm/llvm-project] b8d719: [RISCV] Add support for fixed vector FMA.

Craig Topper via All-commits all-commits at lists.llvm.org
Mon Feb 8 11:14:20 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b8d719fbe81c88ec9e8c9dbe406c1b7de4c1ba05
      https://github.com/llvm/llvm-project/commit/b8d719fbe81c88ec9e8c9dbe406c1b7de4c1ba05
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2021-02-08 (Mon, 08 Feb 2021)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll

  Log Message:
  -----------
  [RISCV] Add support for fixed vector FMA.

Follow up to D95705. Does not include the commuting support from D95800.

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


  Commit: 8d8cafa32e83e9557980b9906a71d0890b860c76
      https://github.com/llvm/llvm-project/commit/8d8cafa32e83e9557980b9906a71d0890b860c76
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2021-02-08 (Mon, 08 Feb 2021)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat-rv32.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat-rv64.ll

  Log Message:
  -----------
  [RISCV] Add support for splat fixed length build_vectors using RVV.

Building on the fixed vector support from D95705

I've added ISD nodes for vmv.v.x and vfmv.v.f and switched to
lowering the intrinsics to it. This allows us to share the same
isel patterns for both.

This doesn't handle splats of i64 on RV32 yet. The build_vector
gets converted to a vXi32 build_vector+bitcast during type
legalization. Not sure the best way to handle this at the moment.

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


Compare: https://github.com/llvm/llvm-project/compare/d57a305fdf31...8d8cafa32e83


More information about the All-commits mailing list