Skip to content

Conversation

heiher
Copy link
Contributor

@heiher heiher commented Sep 28, 2025

This patch introduces an LSX-optimized version of analyze_source_file for the loongarch64 target. Similar to existing SSE2 implementation for x86, this version:

  • Processes 16-byte chunks at a time using LSX vector intrinsics.
  • Quickly identifies newlines in ASCII-only chunks.
  • Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.

Reland #145963

r? @lqd

This patch introduces an LSX-optimized version of `analyze_source_file`
for the `loongarch64` target. Similar to existing SSE2 implementation
for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8
  characters are detected or in the tail portion.
@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 Sep 28, 2025
@lqd
Copy link
Member

lqd commented Sep 28, 2025

Is this now testable on CI?

@heiher
Copy link
Contributor Author

heiher commented Sep 28, 2025

Is this now testable on CI?

Yes.

@lqd
Copy link
Member

lqd commented Sep 28, 2025

How?

@heiher
Copy link
Contributor Author

heiher commented Sep 28, 2025

How?

I may have misunderstood you earlier. What I meant is that after this PR (#146636), the patch passed testing on our private native build CI.

@lqd
Copy link
Member

lqd commented Sep 28, 2025

Ok so I guess this target isn't, and cannot, be tested on the rust project CI?

In that case, @bors r+ rollup

@bors
Copy link
Collaborator

bors commented Sep 28, 2025

📌 Commit c1259aa has been approved by lqd

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 Sep 28, 2025
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Sep 28, 2025
Reland "Add LSX accelerated implementation for source file analysis"

This patch introduces an LSX-optimized version of `analyze_source_file` for the `loongarch64` target. Similar to existing SSE2 implementation for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.

Reland rust-lang#145963

r? `@lqd`
bors added a commit that referenced this pull request Sep 28, 2025
Rollup of 6 pull requests

Successful merges:

 - #140482 (std::net: update tcp deferaccept delay type to Duration.)
 - #141469 (Allow `&raw [mut | const]` for union field in safe code)
 - #144197 (TypeTree support in autodiff)
 - #146675 (Allow shared access to `Exclusive<T>` when `T: Sync`)
 - #147113 (Reland "Add LSX accelerated implementation for source file analysis")
 - #147120 (Fix --extra-checks=spellcheck to prevent cargo install every time)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit aa6bd55 into rust-lang:master Sep 28, 2025
10 checks passed
@rustbot rustbot added this to the 1.92.0 milestone Sep 28, 2025
rust-timer added a commit that referenced this pull request Sep 28, 2025
Rollup merge of #147113 - heiher:src-analysis-lsx, r=lqd

Reland "Add LSX accelerated implementation for source file analysis"

This patch introduces an LSX-optimized version of `analyze_source_file` for the `loongarch64` target. Similar to existing SSE2 implementation for x86, this version:

- Processes 16-byte chunks at a time using LSX vector intrinsics.
- Quickly identifies newlines in ASCII-only chunks.
- Falls back to the generic implementation when multi-byte UTF-8 characters are detected or in the tail portion.

Reland #145963

r? ``@lqd``
@heiher heiher deleted the src-analysis-lsx branch September 29, 2025 01:25
github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Sep 29, 2025
Rollup of 6 pull requests

Successful merges:

 - rust-lang/rust#140482 (std::net: update tcp deferaccept delay type to Duration.)
 - rust-lang/rust#141469 (Allow `&raw [mut | const]` for union field in safe code)
 - rust-lang/rust#144197 (TypeTree support in autodiff)
 - rust-lang/rust#146675 (Allow shared access to `Exclusive<T>` when `T: Sync`)
 - rust-lang/rust#147113 (Reland "Add LSX accelerated implementation for source file analysis")
 - rust-lang/rust#147120 (Fix --extra-checks=spellcheck to prevent cargo install every time)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

4 participants