[llvm] [CSKY] Don't emit `__multi3` on 32-bit CSKY (PR #69732)

via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 23 03:53:56 PDT 2023


Dirreke wrote:

> This should be fine, but it needs a test, similar to `llvm/test/CodeGen/ARM/umulo-128-legalisation-lowering.ll`. (I don't know much about CSKY, but I assume that test case can mostly be copied except for the generated assembly code.)

Thanks! After some tests, I think #68971 is different from #21245 . I can not simply disable `UINTTOFP_I128_FXX` like `__multi3` easily.

When program call the `u128` related builtin functions like `__multi3` and `__floattidf` on `CSKY`, the value of the parameters will be passed to the function, but the function will regard it as an address. It result a `SIGSEGV`.

I have no idea about how to fix it. Do you have any advice?

https://github.com/llvm/llvm-project/pull/69732


More information about the llvm-commits mailing list