Currently supported LLVM MTBUF syntax is not compatible with SP3:
op dst, addr, rsrc, FORMAT, soffset
This change adds support for SP3 syntax:
op dst, addr, rsrc, soffset SP3FORMAT
In addition to being compatible with SP3, this syntax allows using symbolic names for data, numeric and unified formats. Below is a list of added syntax variants.
format:<expression> format:[<numeric-format-name>,<data-format-name>] format:[<data-format-name>] format:[<numeric-format-name>] format:[<unified-format-name>]
The last syntax is supported for GFX10 only.
See llvm bug 37738
Should we use any map structures here and other places? I was always curious is there something lightweight for such cases, like presorted list of IDs with binary search on it.