rust-lang / rust-lang/stdarch

re-enable `assert_instr` for SVE `[us]mull[bt]` instructions

Open
#2,084 1 comment 0 reactions 1 assignee View on GitHub

@davidtwco is already working on this.

Since Apr 15, 2026.

A-aarch64
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.