diff options
author | Craig Topper <craig.topper@sifive.com> | 2025-10-07 17:14:50 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-07 17:14:50 -0700 |
commit | 5deb787c02ed4bd26b6554199c539bf5478671a7 (patch) | |
tree | f1e90d42e63b56bf571bc7a651d9499522c9d66f /mlir/lib/Tools/mlir-translate/Translation.cpp | |
parent | e5d15c12001dc8e066ecad65297fe87e953bcc39 (diff) | |
download | llvm-main.zip llvm-main.tar.gz llvm-main.tar.bz2 |
[RISCV][GISel] Add manual instruction selection for i8/i16/i32->i32/i64 G_SEXT/G_ZEXT. (#161971)HEADmain
Because GISel doesn't distinquish integer and FP types, we need to allow
s16/s32 as legal inputs/outputs of G_SEXT and G_ZEXT.
This requires a extra isel patterns to support the cross product of
these types that we don't need for SelectionDAG. We also needed to add
i16/i32 to the GPR register class which prevents some type inferencing
in tablegen and increases the size of the RISCVGenDAGISel.inc by 2K.
This patch proposes to do manual selection so we can remove these
patterns and eventually remove the types from the register class.
Diffstat (limited to 'mlir/lib/Tools/mlir-translate/Translation.cpp')
0 files changed, 0 insertions, 0 deletions