Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do not use llvm.smul.with.overflow.i64 anymore #2693

Merged
merged 1 commit into from
May 16, 2018
Merged

Conversation

mfelsche
Copy link
Contributor

as it might not be available on some 32 bit systems (verified for an illumos system by @jasonbking ).

The required runtime function __mulodi4 is not available from the gcc runtime library on these systems, it seems.

This change should not have any performance impact, as already verified in #2645 .

See also:

@mfelsche mfelsche added changelog - fixed Automatically add "Fixed" CHANGELOG entry on merge LLVM labels May 10, 2018
@mfelsche
Copy link
Contributor Author

@vassilvk confirmed on IRC that the same issue also appeared on a 32 bit ubuntu 16.04 machine. So it seems to be indeed related to 32 bit compiler runtime libraries (libgcc, compiler-rt) not providing __mulodi4.

This issue only appeared recently with the merge of #2645 but it exhibited a but that was existing beforehand when I64.mulc would have been used, so i go with the changelog - fixed label.

@mfelsche mfelsche merged commit 9011b07 into master May 16, 2018
@mfelsche mfelsche deleted the i64-mulc-fix branch May 16, 2018 19:47
ponylang-main added a commit that referenced this pull request May 16, 2018
dipinhora pushed a commit to dipinhora/ponyc that referenced this pull request Jun 5, 2018
dipinhora pushed a commit to dipinhora/ponyc that referenced this pull request Jun 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog - fixed Automatically add "Fixed" CHANGELOG entry on merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants