b661e23 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 b661e23.
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.
b661e23 disabled
assert_instron a handful of SVE intrinsics as MSVC'sdumpbin.exewasn'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 b661e23.A simpler C reproduction is:
Compiling with the latest LLVM (
clang -target aarch64-pc-windows-msvc -O3 -g0 -march=armv9-a) and given todumpbin.exe(dumpbin.exe /DISASM:NOBYTES a.exe /OUT:a.dump), the instruction isn't disassembled:I've reproduced this with the latest
dumpbin.exethat I can download on Windows on Arm at the time of writing: 14.50.35729.0.