-
Notifications
You must be signed in to change notification settings - Fork 12.6k
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
Rollup of 9 pull requests #128767
Rollup of 9 pull requests #128767
Commits on Aug 1, 2024
-
Specify the integer type of the
powi
LLVM intrinsicSince LLVM <https://reviews.llvm.org/D99439> (4c7f820, "Update @llvm.powi to handle different int sizes for the exponent"), the size of the integer can be specified for the `powi` intrinsic. Make use of this so it is more obvious that integer size is consistent across all float types. This feature is available since LLVM 13 (October 2021). Based on bootstrap we currently support >= 17.0, so there should be no support problems.
Configuration menu - View commit details
-
Copy full SHA for e6d5702 - Browse repository at this point
Copy the full SHA e6d5702View commit details -
Add math intrinsics for
f16
andf128
These already exist in the compiler. Expose them in core so we can add their library functions.
Configuration menu - View commit details
-
Copy full SHA for 82b40c4 - Browse repository at this point
Copy the full SHA 82b40c4View commit details -
Add math functions for
f16
andf128
This adds missing functions for math operations on the new float types. Platform support is pretty spotty at this point, since even platforms with generally good support can be missing math functions. `std/build.rs` is updated to reflect this.
Configuration menu - View commit details
-
Copy full SHA for fc43c01 - Browse repository at this point
Copy the full SHA fc43c01View commit details -
Add
core
functions forf16
andf128
that require math routines`min`, `max`, and similar functions require external math routines. Add these under the same gates as `std` math functions (`reliable_f16_math` and `reliable_f128_math`).
Configuration menu - View commit details
-
Copy full SHA for e18036c - Browse repository at this point
Copy the full SHA e18036cView commit details -
Update comments for
{f16, f32, f64, f128}::midpoint
Clarify what makes some operations not safe, and correct comment in the default branch ("not safe" -> "safe").
Configuration menu - View commit details
-
Copy full SHA for 4383642 - Browse repository at this point
Copy the full SHA 4383642View commit details -
Add a disclaimer about x86
f128
math functionsDue to a LLVM bug, `f128` math functions link successfully but LLVM chooses the wrong symbols (`long double` symbols rather than those for binary128). Since this is a notable problem that may surprise a number of users, add a note about it. Link: llvm/llvm-project#44744
Configuration menu - View commit details
-
Copy full SHA for 8e2ca0c - Browse repository at this point
Copy the full SHA 8e2ca0cView commit details
Commits on Aug 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for b46237b - Browse repository at this point
Copy the full SHA b46237bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e5341a - Browse repository at this point
Copy the full SHA 2e5341aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d8c2b76 - Browse repository at this point
Copy the full SHA d8c2b76View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3268b2e - Browse repository at this point
Copy the full SHA 3268b2eView commit details
Commits on Aug 5, 2024
-
Enable msvc for run-make/rust-lld
This is simply a matter of using the right argument for lld-link.
Configuration menu - View commit details
-
Copy full SHA for 1737845 - Browse repository at this point
Copy the full SHA 1737845View commit details -
Configuration menu - View commit details
-
Copy full SHA for 131d453 - Browse repository at this point
Copy the full SHA 131d453View commit details -
Configuration menu - View commit details
-
Copy full SHA for f31f8c4 - Browse repository at this point
Copy the full SHA f31f8c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 011727f - Browse repository at this point
Copy the full SHA 011727fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1967951 - Browse repository at this point
Copy the full SHA 1967951View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1054054 - Browse repository at this point
Copy the full SHA 1054054View commit details
Commits on Aug 6, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 0ac3d2e - Browse repository at this point
Copy the full SHA 0ac3d2eView commit details -
Configuration menu - View commit details
-
Copy full SHA for a42ec98 - Browse repository at this point
Copy the full SHA a42ec98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 82fd5e9 - Browse repository at this point
Copy the full SHA 82fd5e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5077f33 - Browse repository at this point
Copy the full SHA 5077f33View commit details -
Configuration menu - View commit details
-
Copy full SHA for a3ffd8d - Browse repository at this point
Copy the full SHA a3ffd8dView commit details -
Configuration menu - View commit details
-
Copy full SHA for d00d42f - Browse repository at this point
Copy the full SHA d00d42fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0cdc508 - Browse repository at this point
Copy the full SHA 0cdc508View commit details -
Configuration menu - View commit details
-
Copy full SHA for d327fdb - Browse repository at this point
Copy the full SHA d327fdbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9869a99 - Browse repository at this point
Copy the full SHA 9869a99View commit details -
Configuration menu - View commit details
-
Copy full SHA for ee7d957 - Browse repository at this point
Copy the full SHA ee7d957View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c00b34 - Browse repository at this point
Copy the full SHA 9c00b34View commit details -
Configuration menu - View commit details
-
Copy full SHA for a141d76 - Browse repository at this point
Copy the full SHA a141d76View commit details -
Co-authored-by: Amanieu d'Antras <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7a78383 - Browse repository at this point
Copy the full SHA 7a78383View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4fad881 - Browse repository at this point
Copy the full SHA 4fad881View commit details
Commits on Aug 7, 2024
-
Rollup merge of rust-lang#128107 - Oneirical:tomato-hartester, r=jiey…
…ouxu Migrate `raw-dylib-alt-calling-convention`, `raw-dylib-c` and `redundant-libs` `run-make` tests to rmake Part of rust-lang#121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html). Please try: // try-job: x86_64-msvc // try-job: x86_64-mingw // try-job: i686-msvc try-job: x86_64-gnu-llvm-17 try-job: aarch64-apple
Configuration menu - View commit details
-
Copy full SHA for e4f1b6c - Browse repository at this point
Copy the full SHA e4f1b6cView commit details -
Rollup merge of rust-lang#128221 - calebzulawski:implied-target-featu…
…res, r=Amanieu Add implied target features to target_feature attribute See [zulip](https://rust-lang.zulipchat.com/#narrow/stream/208962-t-libs.2Fstdarch/topic/Why.20would.20target-feature.20include.20implied.20features.3F) for some context. Adds implied target features, e.g. `#[target_feature(enable = "avx2")]` acts like `#[target_feature(enable = "avx2,avx,sse4.2,sse4.1...")]`. Fixes rust-lang#128125, fixes rust-lang#128426 The implied feature sets are taken from [the rust reference](https://doc.rust-lang.org/reference/attributes/codegen.html?highlight=target-fea#x86-or-x86_64), there are certainly more features and targets to add. Please feel free to reassign this to whoever should review it. r? ``@Amanieu``
Configuration menu - View commit details
-
Copy full SHA for 9c09e87 - Browse repository at this point
Copy the full SHA 9c09e87View commit details -
Rollup merge of rust-lang#128362 - folkertdev:naked-function-symbol-v…
…isibility, r=bjorn3 add test for symbol visibility of `#[naked]` functions tracking issue: rust-lang#90957 This test is extracted from rust-lang#128004 That PR attempts to generated naked functions as an extern function declaration, combined with a global asm block that provides the implementation for that declaration. In order to link declaration and definition together, some flavor of external linking must be used: LLVM will error for other linkage types. Specifically the allowed options are `#[linkage = "external"]` and `#[linkage = "extern_weak"]`. That is kind of an implementation detail though: to the user, a naked function should just behave like a normal function. Hence it should be visible to the linker under the same circumstances as a normal, vanilla function and have the same attributes (Weak, External). Getting this behavior right will require some care, so I think it's a good idea to lock it in now, before making any changes, to make sure we don't regress. Are there any interesting cases that I missed here? E.g. is checking on different architectures worth it? I don't think the other binary types (rlib etc) are relevant here, but may be missing something. r? `@bjorn3`
Configuration menu - View commit details
-
Copy full SHA for 2e45a70 - Browse repository at this point
Copy the full SHA 2e45a70View commit details -
Rollup merge of rust-lang#128417 - tgross35:f16-f128-math, r=dtolnay
Add `f16` and `f128` math functions This adds intrinsics and math functions for `f16` and `f128` floating point types. Support is quite limited and some things are broken so tests don't run on many platforms, but this provides a starting point.
Configuration menu - View commit details
-
Copy full SHA for 6329d89 - Browse repository at this point
Copy the full SHA 6329d89View commit details -
Rollup merge of rust-lang#128638 - ChrisDenton:link-dedup, r=jieyouxu
run-make: enable msvc for `link-dedup` This is just a case of differing style of linker arguments. I also cleaned up a bit where we were running the same command three times in a row. Instead I reused the output. One thing that confused me is why we were testing for the same lib three times in a row but not two. After figuring that out I added a note to hopefully save future readers some confusion. try-job: x86_64-msvc try-job: i686-msvc
Configuration menu - View commit details
-
Copy full SHA for fd1bbf6 - Browse repository at this point
Copy the full SHA fd1bbf6View commit details -
Rollup merge of rust-lang#128647 - ChrisDenton:link-args-order, r=jie…
…youxu Enable msvc for link-args-order I could not see any reason in rust-lang#70665 why this test needs to specifically use `ld`. Maybe to provide a consistent linker input line? In any case, the test does work for the MSVC linker. try-job: i686-msvc try-job: x86_64-msvc
Configuration menu - View commit details
-
Copy full SHA for 38ebf04 - Browse repository at this point
Copy the full SHA 38ebf04View commit details -
Rollup merge of rust-lang#128649 - ChrisDenton:param-passing, r=jieyouxu
run-make: Enable msvc for `no-duplicate-libs` and `zero-extend-abi-param-passing` The common thing between these two tests is to use `#[link(..., kind="static")]` so that it doesn't try to do a DLL import. `zero-extend-abi-param-passing` also needs to have an optimized static library but there's only helper function for a non-optimized version. Rather than copy/pasting the code (and adding the optimization flag) I reused the same code so that it more easily be kept in sync. try-job: i686-msvc try-job: x86_64-msvc
Configuration menu - View commit details
-
Copy full SHA for 5d986d7 - Browse repository at this point
Copy the full SHA 5d986d7View commit details -
Rollup merge of rust-lang#128656 - ChrisDenton:rust-lld, r=lqd
Enable msvc for run-make/rust-lld This is simply a matter of using the right argument for lld-link. As a bonus, I also fixed a typo. try-job: i686-msvc try-job: x86_64-msvc
Configuration menu - View commit details
-
Copy full SHA for fc593bf - Browse repository at this point
Copy the full SHA fc593bfView commit details -
Rollup merge of rust-lang#128700 - Oneirical:i-ffind-these-tests-quit…
…e-simdple, r=jieyouxu Migrate `simd-ffi` `run-make` test to rmake Part of rust-lang#121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html). try-job: x86_64-msvc try-job: x86_64-mingw try-job: i686-msvc try-job: armhf-gnu try-job: test-various try-job: aarch64-apple try-job: x86_64-gnu-llvm-17
Configuration menu - View commit details
-
Copy full SHA for 76169ec - Browse repository at this point
Copy the full SHA 76169ecView commit details