re-enable `assert_instr` for SVE `[us]mull[bt]` instructions
@davidtwco is already working on this.
Since Apr 15, 2026.
- Dominant language
- Rust
- Stars
- 694
- Forks
- 336
- Avg merge
- 5d 14h
- Merged PRs (30d)
- 9
Description
b661e23a496949e389f2633bd9c4accea59196eb disabled assert_instr on a handful of SVE intrinsics as MSVC's dumpbin.exe wasn't disassembling the instructions. I've reported this issue to @wesleywiser and internally to the relevant people at Arm. Once this is fixed in MSVC and we're using a version with the fix in CI, we'll want to revert b661e23a496949e389f2633bd9c4accea59196eb.
A simpler C reproduction is:
#include <arm_sve.h>
svint64_t foo(svint32_t op1, svint32_t op2) {
return svmullb_lane_s64(op1, op2, 0);
}
int main() { return 0; }
Compiling with the latest LLVM (clang -target aarch64-pc-windows-msvc -O3 -g0 -march=armv9-a) and given to dumpbin.exe (dumpbin.exe /DISASM:NOBYTES a.exe /OUT:a.dump), the instruction isn't disassembled:
foo:
0000000140001000: 44E1C000
0000000140001004: ret
I've reproduced this with the latest dumpbin.exe that I can download on Windows on Arm at the time of writing: 14.50.35729.0.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.