dneto0 wrote:

Hi, former SPIR WG chair here, and long time maintainer of spirv-as and 
spirv-dis.

@s-perron is correct: only the numbers in the binary are normative.

> I think implementing a way to differentiate capabilities that have the same 
> value is out of scope for this pr.

I recommend not addressing this, ever.   It's not worth it. 

spirv-as will map both the old and new string names to the number; it is driven 
from the grammar file and knows all registered names for numbers.  (e.g. see 
[here](https://github.com/KhronosGroup/SPIRV-Headers/blob/cb6b2c32dbfc3257c1e9142a116fe9ee3d9b80a2/include/spirv/unified1/spirv.core.grammar.json#L16408)
 for the declaration that capability strings `DotProduct` and `DotProductKHR` 
both map to 6019.

spirv-dis maps the number to what it considers the best name, which is the 
string listed for the `enumerant`, field and not any of the `alias` names.  By 
convention, the most standardized name is put in that slot. So the standard 
core name is better than the KHR, which is better than an EXT, which is better 
than a vendor-specific name.





https://github.com/llvm/llvm-project/pull/113623
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to