-
Notifications
You must be signed in to change notification settings - Fork 13k
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
[WIP] continue f16 and f128 impl #120645
[WIP] continue f16 and f128 impl #120645
Conversation
…_ir` Compilation of `rustc_middle` is successful at this stage Add `f16` and `f128` to `rustc_smir` and `rustc_trait_selection` These two crates check successfully at this point Add `f16` and `f128` to `rustc_abi` and `rustc_target` Next stage of `f16` and `f128` Add `f16` and `f128` support to `rustc_codegen_llvm` Compiler checks correctly Working on figuring out intrinsics Add todos to clippy and miri so check passes Apply CraftSpider's fixes Finish match for `check_intrinsic_type` Trade compiler errors for ICEs, progress Increase precision of f128 constants Apply Nil's lint_literal fix Change parsing fallbacks clif build override Enable required features for mir_build Fix parsing modules for new float types Improve wording on different result message Correct some f16/f128 constants Bless UI tests Work on getting tests to pass Get a few more tests passing Bless output with new consts modules Update bug printing Bless tests for CI once again (not sure why these are OK on my local but not on CI) Fix some float tests Fixup implementations of RawFloat Some things to help improve tidy Cover f16 and f128 in more cases Add f16 and f128 tests Improve tests results for f16 and f128 Add llvm cg tests for f16 Add f128 tests, both codegen tests passing Add more to codegen tests Fix intrinsics and add tests for them Get a lot more f16 and f128 tests passing Update a few more f128 tests Disable rust vs ieee parse checking parent 518f848 author Trevor Gross <[email protected]> 1691638369 -0400 committer Trevor Gross <[email protected]> 1701638721 -0500 Add test for f16 parsing and display Improve 'assert_approx_eq\!' output Enable all f16 tests Add meta to macros Fix rustdoc tests Update f16 and f128 tests Update constants Add inlines to reenable cg_clif on CI Disable parse checks for f16 Remove a todo Add missing unused indicators Change TODO to todo to shut rust-log-analyzer up
Add manual into conversions to fix gc_clif build Inline call_once for cg_clif Revert "Add manual into conversions to fix gc_clif build" This reverts commit 53f8eea5727f366e725306779119d15b518ccbbf. Throw some more inlines at the wall to see if cg_clif sticks Even more inlines for cg_clif Update itanium type ID Update tests Update tests Remove redundancy in gcc Cleanup note Clarify integer type for powi primitive Update clippy to use bootstrap Fix bootstrapping in miri Use f16 printing directly Add mangling for f16 and f128 Update mir_build check for f16
…nd `f128` Also remove most of `f128_math` because of the LLVM bug Update clippy to not use f128_math Update miri to not use f128_math Remove unneeded feature Update android log2 intrinsic calls Temporarily switch demangle to git repo Fix file mismatch from dropped commit Fixes after rebase
Update tracking issue Fix some tests Fixup clippy Fixup miri change Clippy update Remove spurious smir file Fix fixme format per review Fixes for rebase Update miri shims Add some broken miri tests Update parse checks f32 -> f16 change Updates to test macros Updates for clippy Small cleanup of comments and fixmes Add inference to feature gate tests Add feature gate that seems to work, but flag tests don't. Not sure how that should work... Update test files
r? @m-ou-se (rustbot has picked a reviewer for you, use r? to override) |
|
This comment has been minimized.
This comment has been minimized.
The job Click to see the possible cause of the failure (guessed by this bot)
|
Help, I've run |
This PR is extremely large, making it very hard to review properly. I would strongly recommend splitting it up.
This will allow you to simplify the steps and make it easier to review them. It also means that individual teams can review it on their own. The compiler team can review the first and second PR on its own, the libs team can then review the third PR on their own. It also means that concerns will be split, for example issues with the documentation don't have to hold up the intrinsics. As for your question, the failing tests cannot just be |
I can handle the first two items since that is complete or near complete in my original PR. @jendrikw are you planning to do the parsing / formatting changes, and/or compiler-builtins? |
☔ The latest upstream changes (presumably #120620) made this pull request unmergeable. Please resolve the merge conflicts. |
Sounds good. |
Closing as per #114607 (comment). |
…r=compiler-errors Add stubs in IR and ABI for `f16` and `f128` This is the very first step toward the changes in rust-lang#114607 and the [`f16` and `f128` RFC](https://rust-lang.github.io/rfcs/3453-f16-and-f128.html). It adds the types to `rustc_type_ir::FloatTy` and `rustc_abi::Primitive`, and just propagates those out as `unimplemented!` stubs where necessary. These types do not parse yet so there is no feature gate, and it should be okay to use `unimplemented!`. The next steps will probably be AST support with parsing and the feature gate. r? `@compiler-errors` cc `@Nilstrieb` suggested breaking the PR up in rust-lang#120645 (comment)
…r-errors Add stubs in IR and ABI for `f16` and `f128` This is the very first step toward the changes in rust-lang/rust#114607 and the [`f16` and `f128` RFC](https://rust-lang.github.io/rfcs/3453-f16-and-f128.html). It adds the types to `rustc_type_ir::FloatTy` and `rustc_abi::Primitive`, and just propagates those out as `unimplemented!` stubs where necessary. These types do not parse yet so there is no feature gate, and it should be okay to use `unimplemented!`. The next steps will probably be AST support with parsing and the feature gate. r? `@compiler-errors` cc `@Nilstrieb` suggested breaking the PR up in rust-lang/rust#120645 (comment)
…r-errors Add stubs in IR and ABI for `f16` and `f128` This is the very first step toward the changes in rust-lang/rust#114607 and the [`f16` and `f128` RFC](https://rust-lang.github.io/rfcs/3453-f16-and-f128.html). It adds the types to `rustc_type_ir::FloatTy` and `rustc_abi::Primitive`, and just propagates those out as `unimplemented!` stubs where necessary. These types do not parse yet so there is no feature gate, and it should be okay to use `unimplemented!`. The next steps will probably be AST support with parsing and the feature gate. r? `@compiler-errors` cc `@Nilstrieb` suggested breaking the PR up in rust-lang/rust#120645 (comment)
…r-errors Add stubs in IR and ABI for `f16` and `f128` This is the very first step toward the changes in rust-lang/rust#114607 and the [`f16` and `f128` RFC](https://rust-lang.github.io/rfcs/3453-f16-and-f128.html). It adds the types to `rustc_type_ir::FloatTy` and `rustc_abi::Primitive`, and just propagates those out as `unimplemented!` stubs where necessary. These types do not parse yet so there is no feature gate, and it should be okay to use `unimplemented!`. The next steps will probably be AST support with parsing and the feature gate. r? `@compiler-errors` cc `@Nilstrieb` suggested breaking the PR up in rust-lang/rust#120645 (comment)
continuing #114607