aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/Module.cpp
diff options
context:
space:
mode:
authorFraser Cormack <fraser@codeplay.com>2020-12-15 13:05:32 +0000
committerFraser Cormack <fraser@codeplay.com>2020-12-23 20:16:18 +0000
commit1a7ac29a89f8209dda6567a3d48594a618aa1621 (patch)
treeabd14dbb7ae2dbbe7e1231fe2daf959ab20b64f5 /clang/lib/Basic/Module.cpp
parent899faa50f206073cdd8eeaaa130ffa15f850e656 (diff)
downloadllvm-1a7ac29a89f8209dda6567a3d48594a618aa1621.zip
llvm-1a7ac29a89f8209dda6567a3d48594a618aa1621.tar.gz
llvm-1a7ac29a89f8209dda6567a3d48594a618aa1621.tar.bz2
[RISCV] Add ISel support for RVV vector/scalar forms
This patch extends the SDNode ISel support for RVV from only the vector/vector instructions to include the vector/scalar and vector/immediate forms. It uses splat_vector to carry the scalar in each case, except when XLEN<SEW (RV32 SEW=64) when a custom node `SPLAT_VECTOR_I64` is used for type-legalization and to encode the fact that the value is sign-extended to SEW. When the scalar is a full 64-bit value we use a sequence to materialize the constant into the vector register. The non-intrinsic ISel patterns have also been split into their own file. Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com> Co-Authored-by: Fraser Cormack <fraser@codeplay.com> Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D93312
Diffstat (limited to 'clang/lib/Basic/Module.cpp')
0 files changed, 0 insertions, 0 deletions