diff options
| author | bors <bors@rust-lang.org> | 2024-10-12 08:31:43 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-10-12 08:31:43 +0000 |
| commit | 8f8bee4f60d9d3769f75c70d558c27a95761c554 (patch) | |
| tree | d0f78ea651e7174ee2b5d2cac08adfdb06bfc908 /compiler/rustc_codegen_llvm/src | |
| parent | fb20e4d3b96d1de459d086980a8b99d5060ad9fe (diff) | |
| parent | 5e477c91072b228df9c816474d93b9e9b8b4a9c6 (diff) | |
| download | rust-8f8bee4f60d9d3769f75c70d558c27a95761c554.tar.gz rust-8f8bee4f60d9d3769f75c70d558c27a95761c554.zip | |
Auto merge of #131581 - tgross35:rollup-vul4kol, r=tgross35
Rollup of 7 pull requests
Successful merges:
- #124874 (intrinsics fmuladdf{32,64}: expose llvm.fmuladd.* semantics)
- #130962 (Migrate lib's `&Option<T>` into `Option<&T>`)
- #131289 (stabilize duration_consts_float)
- #131310 (Support clobber_abi in MSP430 inline assembly)
- #131546 (Make unused_parens's suggestion considering expr's attributes.)
- #131565 (Remove deprecation note in the `non_local_definitions` lint)
- #131576 (Flatten redundant test module `run_make_support::diff::tests::tests`)
r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/context.rs | 5 | ||||
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/intrinsic.rs | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/context.rs b/compiler/rustc_codegen_llvm/src/context.rs index 0a116971e07..c836dd5473f 100644 --- a/compiler/rustc_codegen_llvm/src/context.rs +++ b/compiler/rustc_codegen_llvm/src/context.rs @@ -884,6 +884,11 @@ impl<'ll> CodegenCx<'ll, '_> { ifn!("llvm.fma.f64", fn(t_f64, t_f64, t_f64) -> t_f64); ifn!("llvm.fma.f128", fn(t_f128, t_f128, t_f128) -> t_f128); + ifn!("llvm.fmuladd.f16", fn(t_f16, t_f16, t_f16) -> t_f16); + ifn!("llvm.fmuladd.f32", fn(t_f32, t_f32, t_f32) -> t_f32); + ifn!("llvm.fmuladd.f64", fn(t_f64, t_f64, t_f64) -> t_f64); + ifn!("llvm.fmuladd.f128", fn(t_f128, t_f128, t_f128) -> t_f128); + ifn!("llvm.fabs.f16", fn(t_f16) -> t_f16); ifn!("llvm.fabs.f32", fn(t_f32) -> t_f32); ifn!("llvm.fabs.f64", fn(t_f64) -> t_f64); diff --git a/compiler/rustc_codegen_llvm/src/intrinsic.rs b/compiler/rustc_codegen_llvm/src/intrinsic.rs index 30c6f08e894..bfe623e7fc3 100644 --- a/compiler/rustc_codegen_llvm/src/intrinsic.rs +++ b/compiler/rustc_codegen_llvm/src/intrinsic.rs @@ -86,6 +86,11 @@ fn get_simple_intrinsic<'ll>( sym::fmaf64 => "llvm.fma.f64", sym::fmaf128 => "llvm.fma.f128", + sym::fmuladdf16 => "llvm.fmuladd.f16", + sym::fmuladdf32 => "llvm.fmuladd.f32", + sym::fmuladdf64 => "llvm.fmuladd.f64", + sym::fmuladdf128 => "llvm.fmuladd.f128", + sym::fabsf16 => "llvm.fabs.f16", sym::fabsf32 => "llvm.fabs.f32", sym::fabsf64 => "llvm.fabs.f64", |
