<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/compiler-builtins/libm/src/math, 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-09-22T00:37:51+00:00</updated>
<entry>
<title>Mark float intrinsics with no preconditions as safe</title>
<updated>2025-09-22T00:37:51+00:00</updated>
<author>
<name>ltdk</name>
<email>usr@ltdk.xyz</email>
</author>
<published>2025-09-17T18:07:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=055e05a338af00751ffccc992feeda227b8436b1'/>
<id>urn:sha1:055e05a338af00751ffccc992feeda227b8436b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix some typos</title>
<updated>2025-08-19T23:03:18+00:00</updated>
<author>
<name>Stefan Schindler</name>
<email>dns2utf8@users.noreply.github.com</email>
</author>
<published>2025-08-19T23:03:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ca7a0aff74668ec62f4eb84a6b7655a2dfb821e2'/>
<id>urn:sha1:ca7a0aff74668ec62f4eb84a6b7655a2dfb821e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify the configuration for no-panic</title>
<updated>2025-07-30T15:02:34+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-07-30T14:45:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ecf6d3c6ced41d71a09248fdc679309e39bae318'/>
<id>urn:sha1:ecf6d3c6ced41d71a09248fdc679309e39bae318</id>
<content type='text'>
Currently, attributes for `no-panic` are gated behind both the `test`
config and `assert_no_panic`, because `no-panic` is a dev dependency (so
only available with test configuration). However, we only emit
`assert_no_panic` when the test config is also set anyway, so there
isn't any need to gate on both.

Replace gates on `all(test, assert_no_panic)` with only
`assert_no_panic`. This is simpler, and also has the benefit that
attempting to check for panics without `--test` errors.
</content>
</entry>
<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>Avoid inlining `floor` into `rem_pio2`</title>
<updated>2025-07-27T05:26:58+00:00</updated>
<author>
<name>quaternic</name>
<email>57393910+quaternic@users.noreply.github.com</email>
</author>
<published>2025-07-27T05:26:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c061e73d9ff3fa07dcb005a40453e124302bdeb8'/>
<id>urn:sha1:c061e73d9ff3fa07dcb005a40453e124302bdeb8</id>
<content type='text'>
Possible workaround for
https://github.com/rust-lang/compiler-builtins/pull/976#issuecomment-3085530354

Inline assembly in the body of a function currently causes the compiler
to consider that function possibly unwinding, even if said asm
originated from inlining an `extern "C"` function. This patch wraps the
problematic callsite with `#[inline(never)]`.</content>
</entry>
<entry>
<title>libm: Update for new warn-by-default clippy lints</title>
<updated>2025-07-27T01:21:35+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-07-26T21:51:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=474315828b5a6eca321b2e2816829ccd530b210b'/>
<id>urn:sha1:474315828b5a6eca321b2e2816829ccd530b210b</id>
<content type='text'>
Silence the approximate constant lint because it is noisy and not always
correct. `single_component_path_imports` is also not accurate when built
as part of `compiler-builtins`, so that needs to be `allow`ed as well.
</content>
</entry>
<entry>
<title>Use `x86_no_sse` configuration in more places</title>
<updated>2025-07-24T19:37:45+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-07-24T18:55:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9dad77f337745e1aeed4337dcc25549be053eeb5'/>
<id>urn:sha1:9dad77f337745e1aeed4337dcc25549be053eeb5</id>
<content type='text'>
Emit `x86_no_sse` in the compiler-builtins (and builtins-test) build
script, and use it to simplify `all(target_arch = "x86",
not(target_fefature = "sse))` configuration.
</content>
</entry>
<entry>
<title>Enable tests that were skipped on PowerPC</title>
<updated>2025-07-24T12:18:08+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-07-24T06:18:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=43c3e1bb97186d598dc7066706bd66cf5a383cfb'/>
<id>urn:sha1:43c3e1bb97186d598dc7066706bd66cf5a383cfb</id>
<content type='text'>
Most of these were skipped because of a bug with the platform
implementation, or some kind of crash unwinding. Since the upgrade to
Ubuntu 25.04, these all seem to be resolved with the exception of a bug
in the host `__floatundisf` [1].

[1] https://github.com/rust-lang/compiler-builtins/pull/384#issuecomment-740413334
</content>
</entry>
<entry>
<title>Allow a new lint failure in nightly</title>
<updated>2025-07-17T08:59:25+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-07-17T08:58:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5157aa1a0f4d9a7a5f90bff59a7f9f7ca39ca1e9'/>
<id>urn:sha1:5157aa1a0f4d9a7a5f90bff59a7f9f7ca39ca1e9</id>
<content type='text'>
```text
warning: function `f32_to_bits` is never used
   --&gt; libm/src/math/support/float_traits.rs:367:14
    |
367 | pub const fn f32_to_bits(x: f32) -&gt; u32 {
    |              ^^^^^^^^^^^
    |
    = note: `#[warn(dead_code)]` on by default

warning: function `f64_to_bits` is never used
   --&gt; libm/src/math/support/float_traits.rs:381:14
    |
381 | pub const fn f64_to_bits(x: f64) -&gt; u64 {
    |              ^^^^^^^^^^^

warning: `libm` (lib) generated 2 warnings
```

This is a false positive, see RUST-144060.
</content>
</entry>
<entry>
<title>libm: Improved integer utilities, implement shifts and bug fixes for i256 and u256</title>
<updated>2025-07-01T08:07:48+00:00</updated>
<author>
<name>quaternic</name>
<email>57393910+quaternic@users.noreply.github.com</email>
</author>
<published>2025-07-01T08:07:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6c4221818e00828ecf54b395475477f49d0ea716'/>
<id>urn:sha1:6c4221818e00828ecf54b395475477f49d0ea716</id>
<content type='text'>
`i256` and `u256`
- operators now use the same overflow convention as primitives
- implement `&lt;&lt;` and `-` (previously just `&gt;&gt;` and `+`)
- implement `Ord` correctly (the previous `PartialOrd` was broken)
- correct `i256::SIGNED` to `true`

The `Int`-trait is extended with `trailing_zeros`, `carrying_add`, and
`borrowing_sub`.</content>
</entry>
</feed>
