[RISCV][Clang] Add more RVV Floating-Point intrinsic functions.
authorZakk Chen <zakk.chen@sifive.com>
Thu, 8 Apr 2021 15:09:42 +0000 (08:09 -0700)
committerZakk Chen <zakk.chen@sifive.com>
Mon, 12 Apr 2021 02:19:01 +0000 (19:19 -0700)
commit98a3ff9d05250807867be3dd82fdb10ee5c4030a
treedf0d763b3fb74325475cecbde127f8bcae0d825d
parent007ea0e736432ef1f6be7d88378012822d96767b
[RISCV][Clang] Add more RVV Floating-Point intrinsic functions.

Support below instructions.
1. Vector Widening Floating-Point Add/Subtract Instructions
2. Vector Widening Floating-Point Multiply
3. Vector Single-Width Floating-Point Fused Multiply-Add Instructions
4. Vector Widening Floating-Point Fused Multiply-Add Instructions
5. Vector Floating-Point Compare Instructions

Reviewed By: craig.topper, HsiangKai

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Zakk Chen <zakk.chen@sifive.com>
Differential Revision: https://reviews.llvm.org/D99669
43 files changed:
clang/include/clang/Basic/riscv_vector.td
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmacc.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmadd.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmsac.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfmsub.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmacc.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmadd.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmsac.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfnmsub.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwadd.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmacc.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmsac.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwmul.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwnmacc.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwnmsac.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwsub.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfeq.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfge.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfgt.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfle.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmflt.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vmfne.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfmacc.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfmadd.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfmsac.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfmsub.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfnmacc.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfnmadd.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsac.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfnmsub.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfwadd.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfwmacc.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfwmsac.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfwmul.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmacc.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfwnmsac.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vfwsub.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vmfeq.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vmfge.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vmfgt.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vmfle.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vmflt.c [new file with mode: 0644]
clang/test/CodeGen/RISCV/rvv-intrinsics/vmfne.c [new file with mode: 0644]