Mysterious assembler documentation in llvm/docs/AMDGPU

Does anyone know anything about the assembler instruction syntax documentation listed in llvm/docs/AMDGPU? It looks like they were autogenerated by @dpreobra, but it isn’t clear to me what tool was used or what input was given to it. It would be nice to figure out how to generate a document there for GFX12. Thanks!

The documentation was generated using an internal AMD tool - TestGen. It was based on instruction descriptions provided by sp3. The tool was not publicly available.

I’m no longer working for AMD and do not have access to the tool. Somebody from AMD might use the tool for documentation generation, but the task is non-trivial and time consuming.

1 Like

I don’t know if anybody plans to fill that in for gfx12. Is there anything in these documents that is systematically missing from the documentation at AMD ISA Documentation - AMD GPUOpen? The latter doesn’t cover gfx12 yet but is planned to, according to our usual processes around releasing software and documentation for new hardware generations.

ISA and assembler are different things. The documentation in llvm/docs/AMDGPU describes assembler and various llvm-specific assembler peculiarities that differentiate it from sp3. When it was maintained, the documentation only described assembler features that passed testing; it was regularly updated to reflect actually supported features.

1 Like