diff options
| author | bors <bors@rust-lang.org> | 2025-07-04 04:21:14 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2025-07-04 04:21:14 +0000 |
| commit | c96a69059ecc618b519da385a6ccd03155aa0237 (patch) | |
| tree | 8a658b79c06f3b54d15b22c22fa7b30edd889557 /compiler/rustc_codegen_llvm/src/intrinsic.rs | |
| parent | 837c5dd7de03aa97190593aef4e70d53e1bb574b (diff) | |
| parent | e4e26d2acb13f42badb6e4953c7d72a001e3aed7 (diff) | |
| download | rust-c96a69059ecc618b519da385a6ccd03155aa0237.tar.gz rust-c96a69059ecc618b519da385a6ccd03155aa0237.zip | |
Auto merge of #143407 - jhpratt:rollup-ekkoubw, r=jhpratt
Rollup of 11 pull requests
Successful merges:
- rust-lang/rust#142749 (Add methods for converting bool to `Result<(), E>`)
- rust-lang/rust#143288 (Fix `x clean` with a fifo)
- rust-lang/rust#143307 (Fast path nitpicks)
- rust-lang/rust#143346 (update coherence example)
- rust-lang/rust#143356 (use unsigned_abs instead of `abs` on signed int to silence clippy)
- rust-lang/rust#143370 (remove redundant #[must_use])
- rust-lang/rust#143378 (simplify receivers for some array method calls)
- rust-lang/rust#143380 (Replace kw_span by full span for generic const parameters.)
- rust-lang/rust#143381 (rustdoc: don't treat methods under const impls or traits as const)
- rust-lang/rust#143394 (compiler: Document and reduce `fn provide`s in hir crates)
- rust-lang/rust#143395 (Always use the pure Rust fallback instead of `llvm.{maximum,minimum}`)
r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/intrinsic.rs')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/intrinsic.rs | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/compiler/rustc_codegen_llvm/src/intrinsic.rs b/compiler/rustc_codegen_llvm/src/intrinsic.rs index 776658b9cca..35922c100cd 100644 --- a/compiler/rustc_codegen_llvm/src/intrinsic.rs +++ b/compiler/rustc_codegen_llvm/src/intrinsic.rs @@ -103,23 +103,25 @@ fn call_simple_intrinsic<'ll, 'tcx>( sym::minnumf64 => ("llvm.minnum", &[bx.type_f64()]), sym::minnumf128 => ("llvm.minnum", &[bx.type_f128()]), - sym::minimumf16 => ("llvm.minimum", &[bx.type_f16()]), - sym::minimumf32 => ("llvm.minimum", &[bx.type_f32()]), - sym::minimumf64 => ("llvm.minimum", &[bx.type_f64()]), - // There are issues on x86_64 and aarch64 with the f128 variant, - // let's instead use the intrinsic fallback body. - // sym::minimumf128 => ("llvm.minimum", &[cx.type_f128()]), + // FIXME: LLVM currently mis-compile those intrinsics, re-enable them + // when llvm/llvm-project#{139380,139381,140445} are fixed. + //sym::minimumf16 => ("llvm.minimum", &[bx.type_f16()]), + //sym::minimumf32 => ("llvm.minimum", &[bx.type_f32()]), + //sym::minimumf64 => ("llvm.minimum", &[bx.type_f64()]), + //sym::minimumf128 => ("llvm.minimum", &[cx.type_f128()]), + // sym::maxnumf16 => ("llvm.maxnum", &[bx.type_f16()]), sym::maxnumf32 => ("llvm.maxnum", &[bx.type_f32()]), sym::maxnumf64 => ("llvm.maxnum", &[bx.type_f64()]), sym::maxnumf128 => ("llvm.maxnum", &[bx.type_f128()]), - sym::maximumf16 => ("llvm.maximum", &[bx.type_f16()]), - sym::maximumf32 => ("llvm.maximum", &[bx.type_f32()]), - sym::maximumf64 => ("llvm.maximum", &[bx.type_f64()]), - // There are issues on x86_64 and aarch64 with the f128 variant, - // let's instead use the intrinsic fallback body. - // sym::maximumf128 => ("llvm.maximum", &[cx.type_f128()]), + // FIXME: LLVM currently mis-compile those intrinsics, re-enable them + // when llvm/llvm-project#{139380,139381,140445} are fixed. + //sym::maximumf16 => ("llvm.maximum", &[bx.type_f16()]), + //sym::maximumf32 => ("llvm.maximum", &[bx.type_f32()]), + //sym::maximumf64 => ("llvm.maximum", &[bx.type_f64()]), + //sym::maximumf128 => ("llvm.maximum", &[cx.type_f128()]), + // sym::copysignf16 => ("llvm.copysign", &[bx.type_f16()]), sym::copysignf32 => ("llvm.copysign", &[bx.type_f32()]), sym::copysignf64 => ("llvm.copysign", &[bx.type_f64()]), |
