Skip to content

Accept [u32; N] arrays as simd_shuffle indices - #1693

Open
0xmuon wants to merge 5 commits into
rust-lang:mainfrom
0xmuon:fix11
Open

0xmuon wants to merge 5 commits into
rust-lang:mainfrom
0xmuon:fix11

Conversation

@0xmuon

@0xmuon 0xmuon commented Aug 21, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #1583

pathfinder_simd passes [u32; N] array literals to simd_shuffle instead of a SIMD u32 vector. Accept both forms when lowering the intrinsic.

Test plan:

  • ./y.sh test — aot.simd-shuffle-array-index passes

Comment thread .github/workflows/main.yml Outdated
run: |
sed -i 's/jit./#jit./' config.txt
sed -i 's/aot.powi_libcall_signature/#aot.powi_libcall_signature/' config.txt
sed -i 's/aot.simd-shuffle-array-index/#aot.simd-shuffle-array-index/' config.txt

@bjorn3 bjorn3 Sep 21, 2026 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this test need to be ignored for LLVM? It doesn't test any cg_clif specific things.

View changes since the review

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added the skip because test_llvm was failing when I opened the PR.Unlike aot.powi_libcall_signature,it is just a runpass for simd_shuffle with a [u32; N] index which LLVM should handle fine.
will undo.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If LLVM doesn't accept this, how does pathfinder use it then?

Comment thread src/intrinsics/simd.rs Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pathfinder_simd doesn't compile on arm64

2 participants