wangpc-pp wrote: > > As for your diffs, it seems that you only handle the > > `__riscv_save/restore_[2|1|0]`, which is incomplete. And the code is not > > different with non-rve cases? > > Yes, I mostly copy-pasted the existing code and removed all of the code > dealing with registers not available on RV32E, so having only > `__riscv_save/restore_[2|1|0]` is intended I suppose because there are only > this many saved registers on RV32E. (There's probably a better way of doing > it, and it looks like I screwed up the RV64E part of the patch.) > > If I remember correctly I think I did this because otherwise compiling > `compiler-rt` was not possible for RV32E and the compilation was spewing out > errors about the unavailable registers? But I need to check this again once I > finish porting this newest version of the patch to the most recent version of > Rust.
Oh, I see. My previous comment was wrong. I just checked GCC implementation, we do need to handle RVE cases (but GCC still lacks of RV64E handling). LLVM hasn't handled this mainly because we haven't support RVE now, I think. Can you fire a PR for these changes? I think we should support it in compiler-rt once we have merge this PR. https://github.com/llvm/llvm-project/pull/76777 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits