about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/builder.rs
diff options
context:
space:
mode:
authorTrevor Gross <tmgross@umich.edu>2025-02-24 22:29:37 -0500
committerTrevor Gross <tmgross@umich.edu>2025-05-13 22:08:18 +0000
commit36790d28810ac188a8bca7fc9e95fe0869ae9a11 (patch)
tree0641cea7f865e18c76578c5053f08cc75b28f839 /compiler/rustc_codegen_llvm/src/builder.rs
parent414482f6a0d4e7290f614300581a0b55442552a3 (diff)
downloadrust-36790d28810ac188a8bca7fc9e95fe0869ae9a11.tar.gz
rust-36790d28810ac188a8bca7fc9e95fe0869ae9a11.zip
Initial implementation of `core_float_math`
Since [1], `compiler-builtins` makes a certain set of math symbols
weakly available on all platforms. This means we can begin exposing some
of the related functions in `core`, so begin this process here.

It is not possible to provide inherent methods in both `core` and `std`
while giving them different stability gates, so standalone functions are
added instead. This provides a way to experiment with the functionality
while unstable; once it is time to stabilize, they can be converted to
inherent.

For `f16` and `f128`, everything is unstable so we can move the inherent
methods.

The following are included to start:

* floor
* ceil
* round
* round_ties_even
* trunc
* fract
* mul_add
* div_euclid
* rem_euclid
* powi
* sqrt
* abs_sub
* cbrt

These mirror the set of functions that we have in `compiler-builtins`
since [1].

Tracking issue: https://github.com/rust-lang/rust/issues/137578

[1]: https://github.com/rust-lang/compiler-builtins/pull/763
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/builder.rs')
0 files changed, 0 insertions, 0 deletions