Investigate 128bit integers on 32bit platforms
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.9k
- Forks
- 230
- Avg merge
- 19h 55m
- Merged PRs (30d)
- 67
Description
From this issue https://github.com/antoyo/rustc_codegen_gcc/issues/71 it seems there may be issues for 128bit integers on 32bit platforms with GCC. We have some test cases using them such as: https://github.com/Rust-GCC/gccrs/blob/master/gcc/testsuite/rust/compile/torture/primconsts.rs
Which are being run on a build farm which includes 32-bit platforms: https://builder.wildebeest.org/buildbot/#/ though this is not a thorough enough test for 128bit integers but it does seem to compile at least.
And the check for the integer not supported seems to be a front-end error in c/c-decl.c as shown from this issue: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60846 but not sure what the code being generated actually looks like for 32bit platforms with that test case.
c/c-decl.c
11247: "%<__int%d%> is not supported on this target",
11459: "%<_Float%d%s%> is not supported on this target",
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with gcc/testsuite/rust/compile/torture/primconsts.rs and compare its results on the 32-bit build-farm targets. Read the cited c/c-decl.c diagnostics and inspect the generated code or compiler behavior for 128-bit integers. Done means determining whether 32-bit support is incorrect or already working, with reproducible findings and any needed regression coverage identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100