Skip to content
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 and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable LSX feature for LoongArch Linux targets #132140

Merged
merged 1 commit into from
Oct 26, 2024
Merged

Conversation

heiher
Copy link
Contributor

@heiher heiher commented Oct 25, 2024

Enable 128-bit vector (LSX) feature for loongarch64-unknown-linux-{gnu, musl} targets.

try-job: dist-loongarch64-linux
try-job: dist-loongarch64-musl

@rustbot
Copy link
Collaborator

rustbot commented Oct 25, 2024

r? @estebank

rustbot has assigned @estebank.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@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 Oct 25, 2024
@rustbot
Copy link
Collaborator

rustbot commented Oct 25, 2024

These commits modify compiler targets.
(See the Target Tier Policy.)

@Urgau
Copy link
Member

Urgau commented Oct 25, 2024

Some questions:

  • What is the availability of the lsx target feature in LLVM?
    • Is it available with all of our LLVM supported versions?
  • Does this target feature impacts ABI?
  • Do we want to "announce" the change in the relnotes?

@heiher
Copy link
Contributor Author

heiher commented Oct 26, 2024

Some questions:

* What is the availability of the `lsx` target feature in LLVM?

The lsx target feature is fully available in LLVM, and Clang has it enabled by default.

  * Is it available with all of our LLVM supported versions?

Yes, it is available in all supported versions of LLVM. It was first supported in LLVM 16, which is the version that introduced support for LoongArch.

* Does this target feature impacts ABI?

No, it does not impact the ABI. (Argument passing for SIMD types does not rely on the lsx registers.)

* Do we want to "announce" the change in the relnotes?

Yes.

@Urgau
Copy link
Member

Urgau commented Oct 26, 2024

Thanks for those answers.

Looks go to me, in particular since Clang does indeed enable it by default, I see no reason not to do the same.

r? @Urgau
@rustbot label +relnotes

@rustbot rustbot assigned Urgau and unassigned estebank Oct 26, 2024
@rustbot rustbot added the relnotes Marks issues that should be documented in the release notes of the next release. label Oct 26, 2024
@Urgau
Copy link
Member

Urgau commented Oct 26, 2024

Let's do a try build of the LoongArch builder, in case some of the assembly/codegen changes.
r=me when CI/try is green

@bors try
@bors delegate+

@bors
Copy link
Contributor

bors commented Oct 26, 2024

✌️ @heiher, you can now approve this pull request!

If @Urgau told you to "r=me" after making some further change, please make that change, then do @bors r=@Urgau

@bors
Copy link
Contributor

bors commented Oct 26, 2024

⌛ Trying commit baa3b6d with merge 37fc544...

bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 26, 2024
Enable LSX feature for LoongArch Linux targets

Enable 128-bit vector (LSX) feature for `loongarch64-unknown-linux-{gnu, musl}` targets.

try-job: dist-loongarch64-linux
try-job: dist-loongarch64-musl
@bors
Copy link
Contributor

bors commented Oct 26, 2024

☀️ Try build successful - checks-actions
Build commit: 37fc544 (37fc544de7d0e5ea686cc38150fcc95755c880f3)

@Urgau
Copy link
Member

Urgau commented Oct 26, 2024

@bors r+ rollup

@bors
Copy link
Contributor

bors commented Oct 26, 2024

📌 Commit baa3b6d has been approved by Urgau

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 Oct 26, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Oct 26, 2024
Rollup of 5 pull requests

Successful merges:

 - rust-lang#132124 (coverage: Consolidate creation of covmap/covfun records)
 - rust-lang#132140 (Enable LSX feature for LoongArch Linux targets)
 - rust-lang#132169 (Deny calls to non-`#[const_trait]` methods in MIR constck)
 - rust-lang#132174 (x86 target features: make pclmulqdq imply sse2)
 - rust-lang#132180 (Print unsafety of attribute in AST pretty print)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 7981aca into rust-lang:master Oct 26, 2024
7 checks passed
@rustbot rustbot added this to the 1.84.0 milestone Oct 26, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Oct 26, 2024
Rollup merge of rust-lang#132140 - heiher:loong-lsx, r=Urgau

Enable LSX feature for LoongArch Linux targets

Enable 128-bit vector (LSX) feature for `loongarch64-unknown-linux-{gnu, musl}` targets.

try-job: dist-loongarch64-linux
try-job: dist-loongarch64-musl
@heiher heiher deleted the loong-lsx branch October 27, 2024 04:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
relnotes Marks issues that should be documented in the release notes of the next release. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants