Rust-GCC / Rust-GCC/gccrs

Investigate 128bit integers on 32bit platforms

Open
#643 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.