[RISCV][CodeGen] Add codegen patterns for experimental zfa extension (try 2)
authorJun Sha (Joshua) <cooper.joshua@linux.alibaba.com>
Fri, 17 Feb 2023 17:36:18 +0000 (09:36 -0800)
committerPhilip Reames <listmail@philipreames.com>
Fri, 17 Feb 2023 18:28:08 +0000 (10:28 -0800)
commitdf56b55e1288b17163ab55f3f8f71cff0224937d
tree30817bc1d4a8cb4a0bf6ad01d9f6f89b0672747e
parent04d59f2ab3a86c6a9a61429e76856391a97e965a
[RISCV][CodeGen] Add codegen patterns for experimental zfa extension (try 2)

Recommit by preames with commit message, various style cleanups, and unaddressed review comments corrected.

This patch implements experimental codegen support for the RISCV Zfa extension as specified here: https://github.com/riscv/riscv-isa-manual/releases/download/draft-20221119-5234c63/riscv-spec.pdf, Ch. 25. This extension has not been ratified.

This change does not include support for FLI (upcoming in a follow up change) or FCVTMOD (not relevant for C/C++).

Differential Revision: https://reviews.llvm.org/D143982
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
llvm/lib/Target/RISCV/RISCVInstrInfoZfa.td
llvm/test/CodeGen/RISCV/double-zfa.ll [new file with mode: 0644]
llvm/test/CodeGen/RISCV/float-zfa.ll [new file with mode: 0644]
llvm/test/CodeGen/RISCV/half-zfa.ll [new file with mode: 0644]