[all-commits] [llvm/llvm-project] fc2f27: [RISCV] Add support for RVV int<->fp & fp<->fp con...

Fraser Cormack via All-commits all-commits at lists.llvm.org
Thu Jan 28 01:57:16 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fc2f27ccf3c5982a8f89d2c85d83578a713c95c7
      https://github.com/llvm/llvm-project/commit/fc2f27ccf3c5982a8f89d2c85d83578a713c95c7
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2021-01-28 (Thu, 28 Jan 2021)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
    A llvm/test/CodeGen/RISCV/rvv/vfpext-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/vfptrunc-sdnode.ll
    A llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll

  Log Message:
  -----------
  [RISCV] Add support for RVV int<->fp & fp<->fp conversions

This patch adds support for the full range of vector int-to-float,
float-to-int, and float-to-float conversions on legal types.

Many conversions are supported natively in RVV so are lowered with
patterns. These include conversions between (element) types of the same
size, and those that are half/double the size of the input. When
conversions take place between types that are less than half or more
than double the size we must lower them using sequences of instructions
which go via intermediate types.

Reviewed By: craig.topper

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




More information about the All-commits mailing list