[RISCV] Custom lower vector F(MIN|MAX)NUM to vf(min|max)
authorFraser Cormack <fraser@codeplay.com>
Thu, 22 Apr 2021 08:55:27 +0000 (09:55 +0100)
committerFraser Cormack <fraser@codeplay.com>
Fri, 23 Apr 2021 11:22:15 +0000 (12:22 +0100)
commit83b8f8da828383074f59d331c262200d65a4833e
treeb529e2daa14dc4a8a243c13067af7b5fdad98cff
parentf3e6f856c2905362f54acebc5ef500df10cb06fa
[RISCV] Custom lower vector F(MIN|MAX)NUM to vf(min|max)

This patch adds support for both scalable- and fixed-length vector code
lowering of the llvm.minnum and llvm.maxnum intrinsics to the equivalent
RVV instructions.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D101035
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
llvm/lib/Target/RISCV/RISCVISelLowering.h
llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax.ll [new file with mode: 0644]
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin.ll [new file with mode: 0644]
llvm/test/CodeGen/RISCV/rvv/vfmax-sdnode.ll [new file with mode: 0644]
llvm/test/CodeGen/RISCV/rvv/vfmin-sdnode.ll [new file with mode: 0644]