-
Notifications
You must be signed in to change notification settings - Fork 14.7k
Open
Description
This issue was discovered in LLVM 20.1.8, obtained via Homebrew.
Here's a terminal interaction showing the issue:
% echo "test: sdot v19.4s, v6.16b, v18.16b" > test.S
% /opt/homebrew/opt/llvm@20/bin/clang -c test.S -o test.o -march=armv8.6-a
% /opt/homebrew/opt/llvm@20/bin/llvm-objdump -d test.o
test.o: file format mach-o arm64
Disassembly of section __TEXT,__text:
0000000000000000 <test>:
0: 4e9294d3 sdot
Clearly the arguments to sdot
have been dropped. Strangely, other sets of arguments do appear, albeit with the optional size markers removed:
% echo "test: sdot v0.4s, v1.16b, v2.4b[0]" > test.S
% /opt/homebrew/opt/llvm@20/bin/clang -c test.S -o test.o -march=armv8.6-a
% /opt/homebrew/opt/llvm@20/bin/llvm-objdump -d test.o
test.o: file format mach-o arm64
Disassembly of section __TEXT,__text:
0000000000000000 <test>:
0: 4f82e020 sdot v0, v1, v2[0]