[PATCH] D120449: [RISCV][RVV] Add strict vfcvt intrinsics that have side effects for dynamically-set rounding mode
ShihPo Hung via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 23 19:11:35 PST 2022
arcbbb created this revision.
arcbbb added reviewers: craig.topper, rogfer01, frasercrmck, kito-cheng, monkchiang, eopXD, khchen.
Herald added subscribers: VincentWu, luke957, achieveartificialintelligence, vkmr, evandro, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, hiraditya.
arcbbb requested review of this revision.
Herald added subscribers: llvm-commits, cfe-commits, pcwang-thead, MaskRay.
Herald added projects: clang, LLVM.
This patch adds a set of vector vfcvt intrinsics that have side effects:
strict.vfcvt.xu.f, strict.vfcvt.x.f, strict.vfcvt.f.xu, strict.vfcvt.f.xu,
strict.vfwcvt.xu.f, strict.vfwcvt.x.f, strict.vfwcvt.f.xu, strict.vfwcvt.f.xu, strict.vfwcvt.f.f
strict.vfncvt.xu.f, strict.vfncvt.x.f, strict.vfncvt.f.xu, strict.vfncvt.f.xu,.strict.vfncvt.f.f
Clang can emit these based on getIsFPConstrained().
And the rest strict vector fp intrinsics will come in later patches:
vfsqrt, vfrsqrt7, vfrec7, vfadd, vfsub, vfmul, vfdiv,
vfredosum, vfredusum, vfmacc, vfmadd, vfmsac, vfmsub
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D120449
Files:
clang/include/clang/Basic/riscv_vector.td
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfcvt.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfncvt.c
clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vfwcvt.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vfcvt.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vfncvt.c
clang/test/CodeGen/RISCV/rvv-intrinsics/vfwcvt.c
clang/utils/TableGen/RISCVVEmitter.cpp
llvm/include/llvm/IR/IntrinsicsRISCV.td
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
llvm/lib/Target/RISCV/RISCVISelLowering.h
llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
llvm/test/CodeGen/RISCV/rvv/strict-vfcvt-f-x.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfcvt-f-xu.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfcvt-x-f.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfcvt-xu-f.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfncvt-f-f.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfncvt-f-x.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfncvt-f-xu.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfncvt-x-f.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfncvt-xu-f.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfwcvt-f-f.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfwcvt-f-x.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfwcvt-f-xu.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfwcvt-x-f.ll
llvm/test/CodeGen/RISCV/rvv/strict-vfwcvt-xu-f.ll
More information about the cfe-commits
mailing list