_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
------------------------------------------------------------------Sender:Craig Topper <craig....@gmail.com>Sent At:2021 Sep. 17 (Fri.) 02:03Recipient:Zeson <zixu...@linux.alibaba.com>Cc:llvm-dev <llvm...@lists.llvm.org>Subject:Re: [llvm-dev] [SelectionDAG][RISCV] i32 type illegal in 64-bit target is really a good design in RISCV?
Hi Zeson,
It's definitely a pain point for the RISC-V backend, though I would
highlight that making i32 a legal type and therefore duplicating all
instruction definitions for RV32 and RV64 has its own drawbacks
(repetition, possibility of surprising codegen differences for 32 vs
64-bit due to missing the duplicated instructions in instruction
patterns or elsewhere in the backend). You could of course argue that
those issues may be easier to debug and reason about than some of the
hassles with *W instructions.
Please see <https://lists.llvm.org/pipermail/llvm-dev/2018-October/126690.html>
for the initial RFC and discussion on this.
I think ideally we would be able to maintain a single set of
parameterised instruction definitions (and I'd be keen to discuss any
ideas on making this easier to work with), but obviously if the
current implementation approach is causing more problems than it
solves we should be pragmatic.
Best,
Alex
------------------------------------------------------------------Sender:Alex Bradbury <a...@asbradbury.org>Sent At:2021 Sep. 20 (Mon.) 22:01
Recipient:Zeson <zixu...@linux.alibaba.com>Cc:llvm-dev <llvm...@lists.llvm.org>Subject:Re: [llvm-dev] [SelectionDAG][RISCV] i32 type illegal in 64-bit target is really a good design in RISCV?