<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/compiler-builtins/libm/src/math/arch, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-07-27T21:27:40+00:00</updated>
<entry>
<title>Implement `floor` and `ceil` in assembly on `i586`</title>
<updated>2025-07-27T21:27:40+00:00</updated>
<author>
<name>Folkert de Vries</name>
<email>folkert@folkertdev.nl</email>
</author>
<published>2025-07-27T21:27:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9c683d3487d8966dad182bc7ad2524bf0bb6d797'/>
<id>urn:sha1:9c683d3487d8966dad182bc7ad2524bf0bb6d797</id>
<content type='text'>
Fixes: https://github.com/rust-lang/compiler-builtins/issues/837

The assembly is based on

- https://github.com/NetBSD/src/blob/20433927938987dd64c8f6aa46904b7aca3fa39e/lib/libm/arch/i387/s_floor.S
- https://github.com/NetBSD/src/blob/20433927938987dd64c8f6aa46904b7aca3fa39e/lib/libm/arch/i387/s_ceil.S

Which both state

    /*
     * Written by J.T. Conklin &lt;jtc@NetBSD.org&gt;.
     * Public domain.
     */

Which I believe means we're good in terms of licensing.</content>
</entry>
<entry>
<title>aarch64: Add a note saying why we use `frintx` rather than `frintn`</title>
<updated>2025-05-28T21:10:28+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-05-28T21:08:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5978b8b875f6c53af9ca4c72f4ea5fcf74d55c84'/>
<id>urn:sha1:5978b8b875f6c53af9ca4c72f4ea5fcf74d55c84</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Require `target_has_atomic = "ptr"` for runtime feature detection</title>
<updated>2025-05-06T21:59:03+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-05-06T20:11:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=61a14fcea05f8e9a544a5557b98633f7ace65109'/>
<id>urn:sha1:61a14fcea05f8e9a544a5557b98633f7ace65109</id>
<content type='text'>
The `feature_detect` module is currently being built on all targets, but
the use of `AtomicU32` causes a problem if atomics are not available
(such as with `bpfel-unknown-none`). Gate this module behind
`target_has_atomic = "ptr"`.

The below now completes successfully:

    cargo build -p compiler_builtins --target=bpfel-unknown-none -Z build-std=core

Fixes: https://github.com/rust-lang/compiler-builtins/issues/908
</content>
</entry>
<entry>
<title>Use runtime feature detection for fma routines on x86</title>
<updated>2025-05-03T18:17:49+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-04-29T22:16:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8995ac0448312c94f85ffe3ec92e44b85834aead'/>
<id>urn:sha1:8995ac0448312c94f85ffe3ec92e44b85834aead</id>
<content type='text'>
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: https://github.com/rust-lang/rust/issues/140452 once synced

[1]: https://github.com/bminor/musl/blob/c47ad25ea3b484e10326f933e927c0bc8cded3da/src/math/x32/fma.c
</content>
</entry>
<entry>
<title>Rename the i686 module to x86</title>
<updated>2025-05-03T18:17:49+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-05-01T17:49:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4a1dc96652ea5cbd7e0273df19c828324699f4db'/>
<id>urn:sha1:4a1dc96652ea5cbd7e0273df19c828324699f4db</id>
<content type='text'>
This module is used for both i686 and x86-64.
</content>
</entry>
<entry>
<title>libm: Flatten the `libm/libm` directory</title>
<updated>2025-04-19T21:20:24+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-04-19T21:09:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8b8bd8a0fd75e43a9b282284b849e651828ceec2'/>
<id>urn:sha1:8b8bd8a0fd75e43a9b282284b849e651828ceec2</id>
<content type='text'>
</content>
</entry>
</feed>
