diff options
author | Fraser Cormack <fraser@codeplay.com> | 2021-06-14 11:00:25 +0100 |
---|---|---|
committer | Fraser Cormack <fraser@codeplay.com> | 2021-06-17 10:04:00 +0100 |
commit | fed1503e855a1e3cf936fa0866f099bf1c8c9416 (patch) | |
tree | c882486980db0efe6746b6fcbb6461559a38be40 /lldb/source/Commands/CommandObjectGUI.cpp | |
parent | 05e95d2dd74973dd5163b7d44828fac61e416452 (diff) | |
download | llvm-fed1503e855a1e3cf936fa0866f099bf1c8c9416.zip llvm-fed1503e855a1e3cf936fa0866f099bf1c8c9416.tar.gz llvm-fed1503e855a1e3cf936fa0866f099bf1c8c9416.tar.bz2 |
[RISCV][VP] Lower FP VP ISD nodes to RVV instructions
With the exception of `frem`, this patch supports the current set of VP
floating-point binary intrinsics by lowering them to to RVV instructions. It
does so by using the existing `RISCVISD *_VL` custom nodes as an intermediate
layer. Both scalable and fixed-length vectors are supported by using this
method.
The `frem` node is unsupported due to a lack of available instructions. For
fixed-length vectors we could scalarize but that option is not (currently)
available for scalable-vector types. The support is intentionally left out so
it equivalent for both vector types.
The matching of vector/scalar forms is currently lacking, as scalable vector
types do not lower to the custom `VFMV_V_F_VL` node. We could either make
floating-point scalable vector splats lower to this node, or support the
matching of multiple kinds of splat via a `ComplexPattern`, much like we do for
integer types.
Reviewed By: rogfer01
Differential Revision: https://reviews.llvm.org/D104237
Diffstat (limited to 'lldb/source/Commands/CommandObjectGUI.cpp')
0 files changed, 0 insertions, 0 deletions