Mark s390x condition code register as clobbered in inline assembly by taiki-e · Pull Request #111331 · rust-lang/rust (original) (raw)

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation6 Commits1 Checks0 Files changed

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

taiki-e

@rustbot rustbot added S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

T-compiler

Relevant to the compiler team, which will review and decide on the PR/issue.

labels

May 8, 2023

Amanieu

@Amanieu

Not directly related to this PR, but for clobber_abi support we'll probably need a way to mark the access registers as clobbered since they are volatile according to the calling convention.

@taiki-e

@Amanieu

@bors

📌 Commit e61bb88 has been approved by Amanieu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors

Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

and removed S-waiting-on-review

Status: Awaiting review from the assignee but also interested parties.

labels

May 8, 2023

@uweigand

This looks correct to me. Thanks for taking care of this!

bors added a commit to rust-lang-ci/rust that referenced this pull request

May 8, 2023

@bors

Rollup of 7 pull requests

Successful merges:

Failed merges:

r? @ghost @rustbot modify labels: rollup

GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request

Oct 1, 2024

@GuillaumeGomez

Support clobber_abi and vector/access registers (clobber-only) in s390x inline assembly

This supports clobber_abi which is one of the requirements of stabilization mentioned in rust-lang#93335.

This also supports vector registers (as vreg) and access registers (as areg) as clobber-only, which need to support clobbering of them to implement clobber_abi.

Refs:

I have three questions:

Note:

cc @uweigand

r? @Amanieu

@rustbot label +O-SystemZ

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request

Oct 1, 2024

@rust-timer

Rollup merge of rust-lang#130630 - taiki-e:s390x-clobber-abi, r=Amanieu

Support clobber_abi and vector/access registers (clobber-only) in s390x inline assembly

This supports clobber_abi which is one of the requirements of stabilization mentioned in rust-lang#93335.

This also supports vector registers (as vreg) and access registers (as areg) as clobber-only, which need to support clobbering of them to implement clobber_abi.

Refs:

I have three questions:

Note:

cc @uweigand

r? @Amanieu

@rustbot label +O-SystemZ

This was referenced

Oct 4, 2024

antoyo pushed a commit to rust-lang/rustc_codegen_gcc that referenced this pull request

Oct 9, 2024

@GuillaumeGomez

Support clobber_abi and vector/access registers (clobber-only) in s390x inline assembly

This supports clobber_abi which is one of the requirements of stabilization mentioned in #93335.

This also supports vector registers (as vreg) and access registers (as areg) as clobber-only, which need to support clobbering of them to implement clobber_abi.

Refs:

I have three questions:

Note:

cc @uweigand

r? @Amanieu

@rustbot label +O-SystemZ

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request

Nov 9, 2024

@matthiaskrgr

…nieu

Stabilize s390x inline assembly

This stabilizes inline assembly for s390x (SystemZ).

Corresponding reference PR: rust-lang/reference#1643


From the requirements of stabilization mentioned in rust-lang#93335

Each architecture needs to be reviewed before stabilization:

Done in rust-lang#130630.

Done in the PR that added support for clobber_abi.

The followings can be used as input/output:

The followings are clobber-only:

All of the above register classes except reg_addr are needed for clobber_abi.

The followings cannot be used as operands for inline asm (see also getReservedRegs and SystemZELFRegisters in LLVM):

Although not listed in the above requirements, preserves_flags is implemented in rust-lang#111331.


cc @uweigand

r? @Amanieu

@rustbot label +O-SystemZ +A-inline-assembly

workingjubilee added a commit to workingjubilee/rustc that referenced this pull request

Nov 10, 2024

@workingjubilee

…nieu

Stabilize s390x inline assembly

This stabilizes inline assembly for s390x (SystemZ).

Corresponding reference PR: rust-lang/reference#1643


From the requirements of stabilization mentioned in rust-lang#93335

Each architecture needs to be reviewed before stabilization:

Done in rust-lang#130630.

Done in the PR that added support for clobber_abi.

The followings can be used as input/output:

The followings are clobber-only:

All of the above register classes except reg_addr are needed for clobber_abi.

The followings cannot be used as operands for inline asm (see also getReservedRegs and SystemZELFRegisters in LLVM):

Although not listed in the above requirements, preserves_flags is implemented in rust-lang#111331.


cc @uweigand

r? @Amanieu

@rustbot label +O-SystemZ +A-inline-assembly

rust-timer added a commit to rust-lang-ci/rust that referenced this pull request

Nov 10, 2024

@rust-timer

Rollup merge of rust-lang#131258 - taiki-e:s390x-stabilize-asm, r=Amanieu

Stabilize s390x inline assembly

This stabilizes inline assembly for s390x (SystemZ).

Corresponding reference PR: rust-lang/reference#1643


From the requirements of stabilization mentioned in rust-lang#93335

Each architecture needs to be reviewed before stabilization:

Done in rust-lang#130630.

Done in the PR that added support for clobber_abi.

The followings can be used as input/output:

The followings are clobber-only:

All of the above register classes except reg_addr are needed for clobber_abi.

The followings cannot be used as operands for inline asm (see also getReservedRegs and SystemZELFRegisters in LLVM):

Although not listed in the above requirements, preserves_flags is implemented in rust-lang#111331.


cc @uweigand

r? @Amanieu

@rustbot label +O-SystemZ +A-inline-assembly

RalfJung pushed a commit to RalfJung/miri that referenced this pull request

Nov 10, 2024

@workingjubilee

Stabilize s390x inline assembly

This stabilizes inline assembly for s390x (SystemZ).

Corresponding reference PR: rust-lang/reference#1643


From the requirements of stabilization mentioned in rust-lang/rust#93335

Each architecture needs to be reviewed before stabilization:

Done in rust-lang/rust#130630.

Done in the PR that added support for clobber_abi.

The followings can be used as input/output:

The followings are clobber-only:

All of the above register classes except reg_addr are needed for clobber_abi.

The followings cannot be used as operands for inline asm (see also getReservedRegs and SystemZELFRegisters in LLVM):

Although not listed in the above requirements, preserves_flags is implemented in rust-lang/rust#111331.


cc @uweigand

r? @Amanieu

@rustbot label +O-SystemZ +A-inline-assembly

mati865 pushed a commit to mati865/rust that referenced this pull request

Nov 12, 2024

@workingjubilee @mati865

…nieu

Stabilize s390x inline assembly

This stabilizes inline assembly for s390x (SystemZ).

Corresponding reference PR: rust-lang/reference#1643


From the requirements of stabilization mentioned in rust-lang#93335

Each architecture needs to be reviewed before stabilization:

Done in rust-lang#130630.

Done in the PR that added support for clobber_abi.

The followings can be used as input/output:

The followings are clobber-only:

All of the above register classes except reg_addr are needed for clobber_abi.

The followings cannot be used as operands for inline asm (see also getReservedRegs and SystemZELFRegisters in LLVM):

Although not listed in the above requirements, preserves_flags is implemented in rust-lang#111331.


cc @uweigand

r? @Amanieu

@rustbot label +O-SystemZ +A-inline-assembly

Labels

A-inline-assembly

Area: Inline assembly (`asm!(…)`)

O-SystemZ

Target: SystemZ processors (s390x)

S-waiting-on-bors

Status: Waiting on bors to run and complete tests. Bors will change the label on completion.

T-compiler

Relevant to the compiler team, which will review and decide on the PR/issue.