<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/tests/codegen/asm, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-06-21T21:26:56+00:00</updated>
<entry>
<title>remove asm_goto feature annotation, for it is now stabilized</title>
<updated>2025-06-21T21:26:56+00:00</updated>
<author>
<name>Tshepang Mbambo</name>
<email>hopsi@tuta.io</email>
</author>
<published>2025-06-21T21:26:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eb86d0951ea632c68931b525775084282ceb063e'/>
<id>urn:sha1:eb86d0951ea632c68931b525775084282ceb063e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use explicit cpu in some asm and codegen tests.</title>
<updated>2025-03-19T18:45:46+00:00</updated>
<author>
<name>Jesus Checa Hidalgo</name>
<email>jchecahi@redhat.com</email>
</author>
<published>2025-03-19T18:29:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=20432c9eee4d22047994f1e334a639c891535aa9'/>
<id>urn:sha1:20432c9eee4d22047994f1e334a639c891535aa9</id>
<content type='text'>
Some tests expect to be compiled for a specific CPU or require certain
target features to be present (or absent). These tests work fine with
default CPUs but fail in downstream builds for RHEL and Fedora, where
we use non-default CPUs such as z13 on s390x, pwr9 on ppc64le, or
x86-64-v2/x86-64-v3 on x86_64.
</content>
</entry>
<entry>
<title>Stabilize asm_goto</title>
<updated>2025-03-17T11:12:10+00:00</updated>
<author>
<name>Gary Guo</name>
<email>gary@garyguo.net</email>
</author>
<published>2024-12-02T21:20:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=292c622507391dabd0434adcc6437edb193ac5be'/>
<id>urn:sha1:292c622507391dabd0434adcc6437edb193ac5be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Break critical edges in inline asm before code generation</title>
<updated>2025-03-06T19:00:24+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2025-03-05T12:14:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5c1733e4f4d51d7887a117a06ac4c465d55c3b8d'/>
<id>urn:sha1:5c1733e4f4d51d7887a117a06ac4c465d55c3b8d</id>
<content type='text'>
An inline asm terminator defines outputs along its target edges -- a
fallthrough target and labeled targets. Code generation implements this
by inserting code directly into the target blocks. This approach works
only if the target blocks don't have other predecessors.

Establish required invariant by extending existing code that breaks
critical edges before code generation.
</content>
</entry>
<entry>
<title>Create a generic AVR target: avr-none</title>
<updated>2025-02-19T18:01:51+00:00</updated>
<author>
<name>Patryk Wychowaniec</name>
<email>pwychowaniec@pm.me</email>
</author>
<published>2024-10-13T12:58:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=78ddabf31d3147a19be77c3b38b49fe60915d75a'/>
<id>urn:sha1:78ddabf31d3147a19be77c3b38b49fe60915d75a</id>
<content type='text'>
This commit removes the `avr-unknown-gnu-atmega328` target and replaces
it with a more generic `avr-none` variant that must be specialized with
the `-C target-cpu` flag (e.g. `-C target-cpu=atmega328p`).
</content>
</entry>
<entry>
<title>Rollup merge of #136217 - taiki-e:csky-asm-flags, r=Amanieu</title>
<updated>2025-02-13T01:09:58+00:00</updated>
<author>
<name>Jacob Pratt</name>
<email>jacob@jhpratt.dev</email>
</author>
<published>2025-02-13T01:09:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0de2341fefd17bd48809f06a3bed2d5d2074cbd4'/>
<id>urn:sha1:0de2341fefd17bd48809f06a3bed2d5d2074cbd4</id>
<content type='text'>
Mark condition/carry bit as clobbered in C-SKY inline assembly

C-SKY's compare and some arithmetic/logical instructions modify condition/carry bit (C) in PSR, but there is currently no way to mark it as clobbered in `asm!`.

This PR marks it as clobbered except when [`options(preserves_flags)`](https://doc.rust-lang.org/reference/inline-assembly.html#r-asm.options.supported-options.preserves_flags) is used.

Refs:
- Section 1.3 "Programming model" and Section 1.3.5 "Condition/carry bit" in CSKY Architecture user_guide:
  https://github.com/c-sky/csky-doc/blob/9f7121f7d40970ba5cc0f15716da033db2bb9d07/CSKY%20Architecture%20user_guide.pdf

  &gt; Under user mode, condition/carry bit (C) is located in the lowest bit of PSR, and it can be
accessed and changed by common user instructions. It is the only data bit that can be visited
under user mode in PSR.

  &gt; Condition or carry bit represents the result after one operation. Condition/carry bit can be
clearly set according to the results of compare instructions or unclearly set as some
high-precision arithmetic or logical instructions. In addition, special instructions such as
DEC[GT,LT,NE] and XTRB[0-3] will influence the value of condition/carry bit.

- Register definition in LLVM:
  https://github.com/llvm/llvm-project/blob/llvmorg-19.1.0/llvm/lib/Target/CSKY/CSKYRegisterInfo.td#L88

cc ```@Dirreke``` ([target maintainer](https://github.com/rust-lang/rust/blob/aa6f5ab18e67cb815f73e0d53d217bc54b0da924/src/doc/rustc/src/platform-support/csky-unknown-linux-gnuabiv2.md#target-maintainers))

r? ```@Amanieu```

```@rustbot``` label +O-csky +A-inline-assembly
</content>
</entry>
<entry>
<title>tests/codegen: use -Copt-level=3 instead of -O</title>
<updated>2025-02-11T21:41:35+00:00</updated>
<author>
<name>Jubilee Young</name>
<email>workingjubilee@gmail.com</email>
</author>
<published>2025-02-09T03:45:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3c0c9b6770f1ac0324be91580f52b6f45346e47b'/>
<id>urn:sha1:3c0c9b6770f1ac0324be91580f52b6f45346e47b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Mark condition/carry bit as clobbered in C-SKY inline assembly</title>
<updated>2025-01-28T21:46:05+00:00</updated>
<author>
<name>Taiki Endo</name>
<email>te316e89@gmail.com</email>
</author>
<published>2025-01-28T21:46:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=93465e6c3106043b8db7089ff7a1a4d610d8f79f'/>
<id>urn:sha1:93465e6c3106043b8db7089ff7a1a4d610d8f79f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support clobber_abi in BPF inline assembly</title>
<updated>2025-01-28T17:14:25+00:00</updated>
<author>
<name>Taiki Endo</name>
<email>te316e89@gmail.com</email>
</author>
<published>2025-01-28T17:14:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e586382febf7d03ac330595dcf578184fccbd971'/>
<id>urn:sha1:e586382febf7d03ac330595dcf578184fccbd971</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests/codegen/asm: Remove uses of rustc_attrs and lang_items features by using minicore</title>
<updated>2024-12-20T14:19:12+00:00</updated>
<author>
<name>Taiki Endo</name>
<email>te316e89@gmail.com</email>
</author>
<published>2024-12-20T14:19:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=96edf411947afdc7867d9515cff2557357a2f9c4'/>
<id>urn:sha1:96edf411947afdc7867d9515cff2557357a2f9c4</id>
<content type='text'>
</content>
</entry>
</feed>
