Created attachment 152956 [details] archive containing sdot.c and valgrind output The instruction is Arm64 SIMD sdot (vector): https://developer.arm.com/documentation/100069/0609/A64-SIMD-Vector-Instructions/SDOT--vector- Decoding specification can be found in the Arm Architecture Reference manual: https://developer.arm.com/documentation/ddi0487/latest I'm using a machine that supports this instruction. The process does not receive a SIGILL when I run the program without valgrind STEPS TO REPRODUCE 1. Compile the attached source file with "gcc -march='armv8.2-a+dotprod' -o sdot -c sdot.c" with gcc 9 2. Run "valgrind --tool=memcheck sdot" 3. Disassemble at the unhandled instruction address, e.g. "objdump --disassemble --start-address 0x4006ac --stop-address 0x4006b0 sdot" Thanks for your help!
Created attachment 160568 [details] Patch to add FEAT_DotProd support I have implemented support for the dot product instructions (more specifically those under the FEAT_DotProd feature). The attached patch file applies cleanly to 'master' as of this writing. I haven't yet figured out the 'correct' process for submitting changes to the valgrind project.
On Friday I submitted the change to the valgrind-developers mailing list, https://sourceforge.net/p/valgrind/mailman/valgrind-developers/thread/ED40273D-295D-445C-8D97-9FC48F535932@amazon.com/
Created attachment 160669 [details] Patch to add FEAT_DotProd support
Found a cfarm machine that supports ASIMDDP.
This was a really good patch. Thanks. Only added a NEWS entry, then pushed as: commit f42b9a434e12bc14ec821183a69b86e91da0577c Author: William Ashley <wash@amazon.com> Date: Fri Nov 10 17:51:12 2023 +0100 Bug 460616 - Add support for aarch64 dotprod instructions This change adds support for the FEAT_DotProd instructions SDOT <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.4B[<index>] SDOT <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb> UDOT <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.4B[<index>] UDOT <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>
Thanks Mark!
*** Bug 484742 has been marked as a duplicate of this bug. ***