Skip to content

Conversation

@MacDue
Copy link
Member

@MacDue MacDue commented Dec 12, 2025

This adds support for lowering smaller-than-legal masks such as:

<vscale x 8 x i1> @llvm.loop.dependence.war.mask.nxv8i1(ptr %a, ptr %b, i64 1)

To a whilewr + unpack. It also slightly simplifies the lowering.

…wr/rw

This adds support for lowering smaller-than-legal masks such as:

```
<vscale x 8 x i1> @llvm.loop.dependence.war.mask.nxv8i1(ptr %a, ptr %b, i64 1)
```

To a whilewr + unpack. It also slightly simplifies the lowering.
@llvmbot
Copy link
Member

llvmbot commented Dec 12, 2025

@llvm/pr-subscribers-backend-aarch64

Author: Benjamin Maxwell (MacDue)

Changes

This adds support for lowering smaller-than-legal masks such as:

&lt;vscale x 8 x i1&gt; @<!-- -->llvm.loop.dependence.war.mask.nxv8i1(ptr %a, ptr %b, i64 1)

To a whilewr + unpack. It also slightly simplifies the lowering.


Full diff: https://github.com/llvm/llvm-project/pull/171982.diff

2 Files Affected:

  • (modified) llvm/lib/Target/AArch64/AArch64ISelLowering.cpp (+28-40)
  • (modified) llvm/test/CodeGen/AArch64/alias_mask_scalable.ll (+35)
<html><body><h1>504 Gateway Time-out</h1>
The server didn't respond in time.
</body></html>

@MacDue MacDue merged commit 17f29c2 into llvm:main Dec 15, 2025
10 checks passed
@MacDue MacDue deleted the whilewrrw branch December 15, 2025 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants