<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/62629>62629</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [AMDGPU][AsmParser] Refine parsing instructions
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AMDGPU,
            llvm:asmparser
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            kosarev
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          kosarev
      </td>
    </tr>
</table>

<pre>
    This is an umbrella ticket for the work on refining the assembler-related parts of the backend and common LLVM infrastructure. Includes elimination of workarounds, turning custom code into TableGen definitions, simplifications and fixing minor defects found during the work.

32f6b6bff5cd [AMDGPU][AsmParser] Refine parsing SDWA operands.
5114843983b6 [AMDGPU][AsmParser] Refine SMRD offset definitions.
32f46ef09f88 [AMDGPU][AsmParser][NFC] Refine immediate operand definitions.
b06e5ad8a659 [AMDGPU][AsmParser][NFC] Simplify parsing cache policies.
905fa15d84a6 [AMDGPU][AsmParser] Distinguish literal and modifier SMEM offsets.
dbbab71b7637 [AMDGPU][NFC] Eliminate the u32imm operand definition.
f0f8ae7596c4 [AMDGPU][AsmParser] Fix matching immediate literals.
3d6b108a87cc [AMDGPU] Remove the unused u8imm operand definition.
ce1aae4d547a [AMDGPU][AsmParser][NFC] Refine defining single-bit custom operands.
99761276059c [AMDGPU][AsmParser][NFC] Refine defining i8- and i16-typed custom operands.
2d945ef864ee [AMDGPU][NFC] Rename GFX10A16 operands.
0a6dc9a8168c [AMDGPU][AsmParser] Refine parsing cache policy modifiers.
536b8c537787 [AMDGPU][AsmParser] Remove the now-unused OptionalOperand structure.
fce7a7aa9f04 [AMDGPU][AsmParser] Refine parsing instruction operands.
926acd2bb55d (arcpatch-D137638) [AMDGPU][AsmParser] Remove extra checks on missing instruction modifiers.
af6b1f797f94 [AsmParser] Match mandatory operands following optional operands.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyclV-P2jgUxT-NebFAiZM4yQMPtJRqpc62mun-eb22r8E7_oNsp5359quEwMzSFnX7AijBv3vuOdc2pGT2HnFNmjeEsceQIOIXwhhptgsY8iHE9fxwIYJ6Xn8-mERNouDp4EREa4FmIx8xUx0izQekX0N8pMHTiNp44_fTQ0gJnbAYlxEtZFT0CDEnGvT0WoB8RK8oeEVlcC54-uHDn3fUeB0h5TjIPERc0d-8tIPCRNEaZzxkE_zIGGtCDINXibC3NA9xqiyHlIOjMiikxudAP4Ow-B49VZO4cfm0IBl3tEYbORHTpEObp5HhjA9x_D_KnKgea1A1xHNjY-UVKbak2Jw-K6a54ELrRipKmjebu-37T3-QZjv-Tu4TxISRNFt6P0rA0Yc0wh62f21oOGIEr9JMbMqy7uqq7yrBf4b1cHe_pUHrhPl1h6uLspqjLnrddbdopHnz--7tK6xxDpWBjGd934GLgmMDqgPe9D8Hfzh5_nxxQII8ID0Ga6TBM7cvGg1lo7oabluwNSkbvx9MOlBrMkawU4wuKKMNRvpw9-5uNucMV0KAaEvR8qq9hs8q382DhlPaQ8WMc9-xYQbqQneAbdNzWd9UuzNP1EGWh7HxF39n4ZfEFBdl0UHXSvkfHL1HF77MmvyQUNGhu6lMYgmAtWrqFv5X-Oq8jceMLC6Fyed9dTWtfd_ykrW8aHr5ayVMt5wyMyVf5ucjqh9UYqqvG9QdrxF_kNs9enBI3-_-LotNya8JBXAle-hK3t3Uer1LX83o82W0Ltu14qKTTdW23TfjdAW9pOfD1-Wc4MfjmBfYj3OGL-fePFwSW2gBel3cHq4rzcafSNNZeRUZ4yAVE6JpFCWsgyiP41Qut2XV8qoj7OZmPjeCTzkClQeUj2k8-p1J31S-Ngs0F6Vu-1b3p25ec-9GEdSBV5BDfL7IpjpYG76O7DC79dLSQq0r1Vc9LHBd8q7idcnbbnFYy7YVuuixaRBKBUq2uocKKgTFpZJiYdasYFXRFH1Zl3XFV31ZVpUQvWx1w1rVkrpAB8aurP3iViHuFyalAdeccdYvLAi0ab5D56uMVJvZNcYIe0sYG5eSagPJHU99nm7ZuB5fLMWwT6QurEk5vVTJJtvpcv6FrNNiiHZ9yPmYSLUhbEfYbm_yYRArGRxhu0nQ6Wt5jOEflJmw3dRYImw39fZvAAAA__96Lp8m">