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

    <tr>
        <th>Summary</th>
        <td>
            [AMDGPU] Incorrect parsing of bf16 literals
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    bf16 immediate operands are not handled correctly by asm parser (but seem OK in the codegen):
```
llvm-mc -arch=amdgcn -mcpu=gfx1200 -show-encoding <<< 'v_dot2_bf16_bf16 v5, v1, v2, 100.0'
v_dot2_bf16_bf16 v5, v1, v2, 0x5640     ; encoding: [0x05,0x00,0x67,0xd6,0x01,0x05,0xfe,0x03,0x40,0x56,0x00,0x00]
```
bf16 constants are essentially fp32 with all zero low 16 bits. So 100.0 shall be encoded as 0x42c80000, and since we only accept 16 bits in the asm hex for it has to be 0x42c8.
```
llvm-mc -arch=amdgcn -mcpu=gfx1200 -show-encoding <<< 'v_dot2_bf16_bf16 v5, v1, v2, 1.0'
v_dot2_bf16_bf16 v5, v1, v2, 0x3c00 ; encoding: [0x05,0x00,0x67,0xd6,0x01,0x05,0xfe,0x03,0x00,0x3c,0x00,0x00]
```
This shall be inline immediate.

Basically we a parsing bf16 constants as f16.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzElFvr6zYMwD-N8yIafMmlfchDe0rHGGODbc8Hx1YSD8cOtnvbpx9x2v3H2MN_MDjFSLixZEk_WTJGMzrEjtQnUp8LeU2TD12Q82ISqqL3-tn1A2vAzDNqIxOCXzBIpyPIgOB8gkk6bVGD8iGgSvYJ_RNknGGRIWIAwvf9NUFEnOGnH8A4SBOC8hpHdIQfiDgSeib0SBr6Wnlr7W3ezQp2MqiJiLOc9agc7Ga1XIk4j8ODcUphFyd_36FTXhs3AhFftgWEt7ev2if-dc0gC7jVhH-BG8uSr5JRWlLC2-3OTxjQR91UFNYfESd4X0zEEUh9og-6WtAHpVk1bVa62f5km9qODLjtRFbVZlA3fzenlNTnf61Ojk55F5N0aYOBMaJLRlr7hGERHO4mTSCthT8weLD-DqyB3qRYwi9-yxzitB7ocUsENcgI9FFxtac0BwHSaYjGKYQ7gnf2CVIpXNLb2ZvoinzCBww-gFnbIkLyq-fNXfktIf9XxEJR-v_ifRkI9Tm8v04mfrAxzhqHH4_wXcssTzIalaHfEWR-dWuN_tkgEQbWlIXuhD6IgyywYy1tGD-0rCqmrlF636uKC70fBNOMtohy2EvG9nstEAvTccorynjFaV2zqux5U_e9Eg0T7UH2glQUZ2lsuTItfRgLE-MVu_YgmkNhZY825kHDucM75I-E83XuhC73QX8dI6moNTHFDy_JJJsn1PHH83c__0bqM3zvXsPmr2z9sCVsTcIgbSyuwXZTSktcxwu_EH4ZTZqufan8TPhl9f5SuyX431Elwi85pkj4Jcf8ZwAAAP__w0yDjA">