Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rust-lang/compiler-builtins
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: libm-v0.2.13
Choose a base ref
...
head repository: rust-lang/compiler-builtins
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: libm-v0.2.14
Choose a head ref
  • 13 commits
  • 39 files changed
  • 2 contributors

Commits on Apr 22, 2025

  1. musl: Update submodule

    Update the musl submodule to c47ad25ea3 ("iconv: harden UTF-8 output
    code path against input decoder bugs").
    tgross35 committed Apr 22, 2025
    Configuration menu
    Copy the full SHA
    667ba28 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2025

  1. libm-macros: Start tracking which functions are public

    It would be nice to reuse some of the macro structure for internal
    functions, like `rem_pio2`. To facilitate this, add a `public` field and
    make it available in the macro's API.
    tgross35 committed Apr 23, 2025
    Configuration menu
    Copy the full SHA
    672ba57 View commit details
    Browse the repository at this point in the history
  2. libm-macros: Allow a way to bulk match f16 and f128 functions

    These are never available in musl, so introduce easier ways to skip them
    rather than needing to exclude f16/f128 functions in three different
    places.
    tgross35 committed Apr 23, 2025
    Configuration menu
    Copy the full SHA
    bf79280 View commit details
    Browse the repository at this point in the history
  3. Warn on unsafe_op_in_unsafe_fn by default

    Edition 2024 requires that we avoid this. There is a lot of code that
    will need to be adjusted, so start the process here with a warning that
    will show up in CI.
    tgross35 committed Apr 23, 2025
    Configuration menu
    Copy the full SHA
    fdbefb3 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2025

  1. Resolve unnecessary_transmutes lints

    These appeared in a later nightly. In compiler-builtins we can apply the
    suggestion, but in `libm` we need to ignore them since `fx::from_bits`
    is not `const` at the MSRV.
    
    `clippy::uninlined_format_args` also seems to have gotten stricter, so
    fix those here.
    tgross35 committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    99b4c19 View commit details
    Browse the repository at this point in the history
  2. Move fma implementations to mod generic

    This will not build correctly, the move is done as a separate step from
    the rest of refactoring so git's history is cleaner.
    tgross35 committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    91963f5 View commit details
    Browse the repository at this point in the history
  3. Refactor the fma modules

    Move implementations to `generic/` like the other functions. This also
    allows us to combine the `fma` and `fma_wide` modules.
    tgross35 committed Apr 29, 2025
    Configuration menu
    Copy the full SHA
    f456aa8 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2025

  1. builtins-test: Remove no_mangle from eh_personality

    Rustc now mangles these symbols on its own, so `no_mangle` is rejected
    as an error.
    tgross35 committed May 1, 2025
    Configuration menu
    Copy the full SHA
    7ccb126 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2025

  1. fmaf: Add a test case from a MinGW failure

    This is a known problem in the MinGW fmaf implementation, identified at
    [1].  Make sure our implementation passes this edge case.
    
    [1]: rust-lang/rust#140515
    tgross35 committed May 2, 2025
    Configuration menu
    Copy the full SHA
    725484e View commit details
    Browse the repository at this point in the history

Commits on May 3, 2025

  1. Configuration menu
    Copy the full SHA
    f83962e View commit details
    Browse the repository at this point in the history
  2. Rename the i686 module to x86

    This module is used for both i686 and x86-64.
    tgross35 committed May 3, 2025
    Configuration menu
    Copy the full SHA
    6e4255a View commit details
    Browse the repository at this point in the history
  3. Use runtime feature detection for fma routines on x86

    Get performance closer to the glibc implementations by adding assembly
    fma routines, with runtime feature detection so they are used even if
    not compiled with `+fma` (as the distributed standard library is often
    not). Glibc uses ifuncs, this implementation stores a function pointer
    in an atomic.
    
    Results of CPU flags are also cached in order to avoid repeating the
    startup time in calls to different functions. The feature detection code
    is a slightly simplified version of `std-detect`.
    
    Musl sources were used as a reference [1].
    
    Fixes: rust-lang/rust#140452 once synced
    
    [1]: https://github.com/bminor/musl/blob/c47ad25ea3b484e10326f933e927c0bc8cded3da/src/math/x32/fma.c
    tgross35 committed May 3, 2025
    Configuration menu
    Copy the full SHA
    a2f6440 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2025

  1. chore: release

    github-actions[bot] authored and tgross35 committed May 4, 2025
    Configuration menu
    Copy the full SHA
    257dd48 View commit details
    Browse the repository at this point in the history
Loading