Skip to content

add IBM f128 type - #162156

Draft
folkertdev wants to merge 9 commits into
rust-lang:mainfrom
folkertdev:ppcf128
Draft

add IBM f128 type#162156
folkertdev wants to merge 9 commits into
rust-lang:mainfrom
folkertdev:ppcf128

Conversation

@folkertdev

Copy link
Copy Markdown
Contributor

tracking issue: #161787

aka __ibm128, ppc_fp128, etc. Making this change without having settled on a final name is a bit awkward but hopefully we can get some rounds of review in anyway.

This should only merge after #160859 (so that I can deal with the merge conflicts).

I did hit that while rustc_apfloat has a DoubleDouble type, it does not implement FloatConvert (not even for conversions to itself), and its Float implementation uses Fallback, i.e. loses precision. LLVM has FIXMEs for this but clearly nobody has looked at this so far. So, a bunch of stuff for const eval / miri is stubbed out for now.

@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Sep 1, 2026
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rustbot rustbot added the T-clippy Relevant to the Clippy team. label Sep 2, 2026
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job aarch64-gnu-llvm-21-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[TEST] sysroot
[COPY] sysroot_tests source
[PATCH] "sysroot_tests" <- "0027-sysroot_tests-128bit-atomic-operations.patch"
error: patch failed: coretests/tests/lib.rs:2
error: coretests/tests/lib.rs: patch does not apply
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
cd "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2-codegen/cg_clif/build/sysroot_tests" && "git" "-c" "user.name=Dummy" "-c" "user.email=dummy@example.com" "-c" "core.autocrlf=false" "-c" "commit.gpgSign=false" "am" "/checkout/compiler/rustc_codegen_cranelift/patches/0027-sysroot_tests-128bit-atomic-operations.patch" "-q" exited with status ExitStatus(unix_wait_status(32768))
Patch failed at 0001 Disable 128bit atomic operations
Bootstrap failed while executing `--stage 2 test --skip tidy --skip intrinsic-test --skip src/tools/rust-analyzer --skip tests --skip library --skip tidyselftest`
Currently active steps:
test::CodegenCranelift { compilers: RustcPrivateCompilers { build_compiler: Compiler { stage: 1, host: aarch64-unknown-linux-gnu, forced_compiler: false }, target_compiler: Compiler { stage: 2, host: aarch64-unknown-linux-gnu, forced_compiler: false } }, target: aarch64-unknown-linux-gnu } at src/bootstrap/src/core/build_steps/test.rs:4394
Command `/checkout/obj/build/aarch64-unknown-linux-gnu/stage0/bin/cargo run --target aarch64-unknown-linux-gnu -Zbinary-dep-depinfo -j 4 -Zroot-dir=/checkout -Zembed-metadata=no --locked --color=always --profile=release --manifest-path /checkout/compiler/rustc_codegen_cranelift/build_system/Cargo.toml -- test --download-dir /checkout/obj/build/cg_clif_download --out-dir /checkout/obj/build/aarch64-unknown-linux-gnu/stage2-codegen/cg_clif --no-unstable-features --use-backend cranelift --sysroot llvm --skip-test testsuite.extended_sysroot [workdir=/checkout/compiler/rustc_codegen_cranelift]` failed with exit code 1
Created at: src/bootstrap/src/core/build_steps/test.rs:4408:25
Executed at: src/bootstrap/src/core/build_steps/test.rs:4452:26

Command has failed. Rerun with -v to see more details.
Build completed unsuccessfully in 0:24:44
  local time: Wed Sep  2 13:48:54 UTC 2026
  network time: Wed, 02 Sep 2026 13:48:55 GMT
##[error]Process completed with exit code 1.
##[group]Run echo "disk usage:"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-test-infra-minicore Area: `minicore` test auxiliary and `//@ add-core-stubs` PG-exploit-mitigations Project group: Exploit mitigations S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants