mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-28 05:37:46 -05:00
In PR https://github.com/compiler-explorer/compiler-explorer/pull/7976, I forgot to handle the case where same instructions have different descriptions. This PR fixes the script and removes the duplicates from the generated file. The SASS docs are extracted from multiple tables from https://docs.nvidia.com/cuda/cuda-binary-utilities/index.html#instruction-set-reference. For example, - Table 4. Maxwell and Pascal Instruction Set - ... - Table 8. Hopper Instruction Set - Table 8. Blackwell Instruction Set (wait...what? both tables are table 8? whatever...) Previously, only the duplications for the (opcode, descriptions) pair were removed. In this PR, we only check the duplications based on the opcode and only keep the last one (based on the assumption that the newer ones are better). I manually went through the removed duplicates, and found that - No instruction actually changed the meaning across generations (I would be very surprised if they did so). - Most of the changes are minor fixes like changing capitalization (e.g., `generic Memory` -> `Generic Memory`) or fixing typo (e.g., `Local within Shared Memory Window` -> `Load within Shared Memory Window`) - A couple of the descriptions are for whatever reason simplified (e.g., `LOP3`: `3-input Logic Operation` -> `Logic Operation`), which is a bit unfortunate.