<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/stdarch, branch perf-tmp</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-09-22T14:35:46+00:00</updated>
<entry>
<title>Auto merge of #146683 - clarfonthey:safe-intrinsics, r=RalfJung,Amanieu</title>
<updated>2025-09-22T14:35:46+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-09-22T14:35:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ce4beebecb77821734079cff47d8af08f9f27f11'/>
<id>urn:sha1:ce4beebecb77821734079cff47d8af08f9f27f11</id>
<content type='text'>
Mark float intrinsics with no preconditions as safe

Note: for ease of reviewing, the list of safe intrinsics is sorted in the first commit, and then safe intrinsics are added in the second commit.

All *recently added* float intrinsics have been correctly marked as safe to call due to the fact that they have no preconditions. This adds the remaining float intrinsics which are safe to call to the safe intrinsic list, and removes the unsafe blocks around their calls.

---

Side note: this may want a try run before being added to the queue, since I'm not sure if there's any tier-2 code that uses these intrinsics that might not be tested on the usual PR flow. We've already uncovered a few places in subtrees that do this, and it's worth double-checking before clogging up the queue.
</content>
</entry>
<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>Merge pull request #1921 from a4lg/riscv-inline-asm-general-improvements</title>
<updated>2025-09-15T18:39:49+00:00</updated>
<author>
<name>Sayantan Chakraborty</name>
<email>142906350+sayantn@users.noreply.github.com</email>
</author>
<published>2025-09-15T18:39:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c1242fab74e942ff252da5d6b8ccadc5f4af1208'/>
<id>urn:sha1:c1242fab74e942ff252da5d6b8ccadc5f4af1208</id>
<content type='text'>
RISC-V: Improvements of inline assembly uses
</content>
</entry>
<entry>
<title>Merge pull request #1919 from sayantn/fix-vreinterpret</title>
<updated>2025-09-15T08:18:20+00:00</updated>
<author>
<name>Folkert de Vries</name>
<email>flokkievids@gmail.com</email>
</author>
<published>2025-09-15T08:18:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5dd0fdcd67b3c938dbf010f97e5a1d0ff656d13d'/>
<id>urn:sha1:5dd0fdcd67b3c938dbf010f97e5a1d0ff656d13d</id>
<content type='text'>
Remove big-endian swizzles from `vreinterpret`
</content>
</entry>
<entry>
<title>RISC-V: Improvements of inline assembly uses</title>
<updated>2025-09-14T05:08:19+00:00</updated>
<author>
<name>Tsukasa OI</name>
<email>floss_rust@irq.a4lg.com</email>
</author>
<published>2025-09-13T21:59:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8df078a3f0071b311be2449407ae523f89ca6a33'/>
<id>urn:sha1:8df078a3f0071b311be2449407ae523f89ca6a33</id>
<content type='text'>
This commit performs various improvements (better register allocation,
less register clobbering on the worst case and better readability) of
RISC-V inline assembly use cases.

Note that it does not change the `p` module (which defines the "P"
extension draft instructions but very likely to change).

1.  Use `lateout` as possible.
    Unlike `out(reg)` and `in(reg)` pair, `lateout(reg)` and `in(reg)`
    can share the same register because they state that the late-output
    register is written after all the reads are performed.
    It can improve register allocation.
2.  Add `preserves_flags` option as possible.
    While RISC-V doesn't have _regular_ condition codes, RISC-V inline
    assembly in the Rust language assumes that some registers
    (mainly vector state registers) may be overwritten by default.
    By adding `preserves_flags` to the intrinsics corresponding
    instructions without overwriting them, it can minimize register
    clobbering on the worst case.
3.  Use trailing semicolon.
    As `asm!` declares an action and it doesn't return a value by
    itself, it would be better to have trailing semicolon to denote that
    an `asm!` call is effectively a statement.
4.  Make most of `asm!` calls multi-lined.
    `rustfmt` makes some simple (yet long) `asm!` calls multi-lined but
    it does not perform formatting of complex `asm!` calls with inputs
    and/or outputs.  To keep consistency, it makes most of the `asm!`
    calls multi-lined.
</content>
</entry>
<entry>
<title>examples: Make Clippy happy</title>
<updated>2025-09-12T11:51:38+00:00</updated>
<author>
<name>Tsukasa OI</name>
<email>floss_rust@irq.a4lg.com</email>
</author>
<published>2025-09-12T11:51:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=05133f2115940aa581df8831031ea77c2c7c99c8'/>
<id>urn:sha1:05133f2115940aa581df8831031ea77c2c7c99c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stdarch-gen-arm: Make Clippy happy</title>
<updated>2025-09-12T11:50:51+00:00</updated>
<author>
<name>Tsukasa OI</name>
<email>floss_rust@irq.a4lg.com</email>
</author>
<published>2025-09-12T11:50:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a3b7aad20f6ff2a4af0e96c543ac300650c97d5e'/>
<id>urn:sha1:a3b7aad20f6ff2a4af0e96c543ac300650c97d5e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>intrinsic-test: Make Clippy happy</title>
<updated>2025-09-12T11:50:25+00:00</updated>
<author>
<name>Tsukasa OI</name>
<email>floss_rust@irq.a4lg.com</email>
</author>
<published>2025-09-12T11:50:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=221eb1f0d51a97ec6ccb67427635370797d37225'/>
<id>urn:sha1:221eb1f0d51a97ec6ccb67427635370797d37225</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #1918 from a4lg/riscv-aes64im-lower-requirements</title>
<updated>2025-09-11T19:59:18+00:00</updated>
<author>
<name>Sayantan Chakraborty</name>
<email>142906350+sayantn@users.noreply.github.com</email>
</author>
<published>2025-09-11T19:59:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=269cecc91c2d8d37213a5a015513d584e0af7283'/>
<id>urn:sha1:269cecc91c2d8d37213a5a015513d584e0af7283</id>
<content type='text'>
RISC-V: "Lower" requirements of `aes64im`
</content>
</entry>
<entry>
<title>Remove big-endian swizzles from `vreinterpret`</title>
<updated>2025-09-11T19:50:34+00:00</updated>
<author>
<name>sayantn</name>
<email>sayantn05@gmail.com</email>
</author>
<published>2025-09-11T19:50:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bb31725e679c48e75e54c8ec88c7e654c5509d37'/>
<id>urn:sha1:bb31725e679c48e75e54c8ec88c7e654c5509d37</id>
<content type='text'>
</content>
</entry>
</feed>
