<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [AMDGPU][MC] Incorrect error position"
   href="https://bugs.llvm.org/show_bug.cgi?id=47518">47518</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[AMDGPU][MC] Incorrect error position
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: AMDGPU
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>dpreobrazhensky@luxoft.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>In many cases assembler does show error position or indicates a position
incorrectly.

Examples:

    // Incorrect error position, should point at '0x1FFFFF'
    gfx9> s_atc_probe 0, s[4:5], 0x1FFFFF
    _test.s:1:13: error: expected a 21-bit signed offset
    s_atc_probe 0, s[4:5], 0x1FFFFF
                ^

    // Error position is correct for gfx8 but incorrect for gfx9
    gfx8> global_load_dword v1, v[3:4], off dlc
    _test.s:3:35: error: invalid operand for instruction
    global_load_dword v1, v[3:4], off dlc
                                      ^
    gfx8> global_load_dword v1, v[3:4], off dlc
    _test.s:3:38: error: failed parsing operand.
    global_load_dword v1, v[3:4], off dlc
                                         ^

    // Incorrect error position, should point at '3'
    gfx8> ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,3)
    _test.s:1:45: error: group size must be a power of two
    ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,3)
                                                ^

    // Incorrect error position, should point at '33'
    gfx8> s_setreg_b32  hwreg(3,33,33), s2
    _test.s:1:15: error: invalid bit offset: only 5-bit values are legal
    s_setreg_b32  hwreg(3,33,33), s2
                  ^</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>