Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SelectionDAG] Emit calls to __divei4 and friends for division/remain…
…der of large integers Emit calls to __divei4 and friends for divison/remainder of large integers. This fixes #44994. The overall RFC is in https://discourse.llvm.org/t/rfc-add-support-for-division-of-large-bitint-builtins-selectiondag-globalisel-clang/60329 The compiler-rt part is in https://reviews.llvm.org/D120327 Differential Revision: https://reviews.llvm.org/D120329
- Loading branch information
1 parent
f3cbe60
commit 09854f2
Showing
5 changed files
with
1,529 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
09854f2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't this re-enable support for BigInt > 128? a6cabd9 @mgehre-amd ?
09854f2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_BitInt > 128 bit to/from float conversions still crash the backend, so we cannot re-enable the support yet.
09854f2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mgehre-amd would it be possible to add a runtime flag to support >128bit? It's very important for anyone doing crypto work (like us) and the alternatives are not great. The removal of 256bit support forced us to scramble for an alternative and having a runtime flag would have made things much easier for us.
09854f2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, I opened https://reviews.llvm.org/D127287 to add a flag for enabling larger bitints
09854f2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much @mgehre-amd!