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

    <tr>
        <th>Summary</th>
        <td>
            amdgpu disassembler ignores opsel on vop3 instructions
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

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

<pre>
    ```
Representation: Assembly (Final Assembly)

BB0:
    s_mov_b32 s0, s3                                            ; be800303
    s_movk_i32 s3, 0x8000                                       ; b0038000
    s_load_dwordx8 s[8:15], s[2:3], 0xe0                        ; f40c0201 fa0000e0
    v_lshl_add_u32 v2, s0, 3, v0                                ; d7460002 04010600
    v_lshl_add_u32 v3, s4, 3, v1                                ; d7460003 04050604
    v_add_nc_u16 v0, v2, 4                                      ; d7030000 00010902
    v_add_nc_u16 v0, v3, 4                                      ; d7034000 00010903
    v_pack_b32_f16 v1, v0, 0xfd66                               ; d7110001 0001ff00 0000fd66
    s_waitcnt lgkmcnt(0)                                        ; bf8cc07f
    image_store v[0:1], v[2:3], s[8:15] dmask:0xf dim:SQ_RSRC_IMG_2D unorm glc d16 ; f0203f08 80020002
    s_endpgm                                                    ; bf810000
```

This was created by radv+aco using llvm as the disassembler, and I think the second v_add_nc_u16 is using opsel to write to the high half of v0, but that's not visible in the resulting assembly.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydVE1zmzAU_DVweVOPhLCBA4c4nnR66KFJ74xAAlQL5EECx_--T0AbJ9OmThkB-tx9q7dSacQlD3ZkLeQQkLtHeRqklb3jTpk-YHdwZ63sSn2BIEofVM_1754gypZFy3e_Jzh_qQM-tujMVJQsAkuC6B4sgw88AdtDKVNCGGFvMI-F8qDMg5JnnEI-gomIfsk1pjZcFOJsBvGcgg22-xSF0G2wPcxxY0eEHWxtk2f5V0LPUMekIhGhUHPkIfKKaiq0bXXBhShGlDBFM_68O7Oa6Z9KPIFI4h0CR0BiQsmOvEMwo9r4hYB-gIB5gi0SxNcEHruvipHuMNwZc1YR354CkWBSfdbwpSQj0fvw7D_g4yt4dg1_4tXRe7KoPQFdNn3Jai12u5vgKfXIM3xdLzzEL7621JkrV_UOdHPs8I9nB1my20SsRq3TqiJJ_YKqOt7IwjozSJjQlP640dWU0xuTvnIxiI7bI7ZQJAjVYe3pW_H49HhffPn6uYgOMPZm6KDRFQjcl9nFaGFWkxTwsETebdfqZC9OTXermj8o8zu42vbNBbR8v7fKwplbqAbJnRRQXmDgYgqiPa8MjFb1DWg9dYBzXCtRleXLtSQHr5_3Ar7giOqP87iVlcGuV_5CigXInKzU4AycB-Wkr_glrWpaaLmuwdSrScrR4RDHdCYWeuNgUlYhJah-XoJX56idh1yDuWwWPaHImchYxkOnnJY570RzGl9FDarBJEi7RmN6mMyJIbJ1w1j529iG46Dz1rmT9Rdt9IClUa4dy01lOmz4DVl_n06D-SErjPRBWTtKi5VtTGkWtnlWS76tWJoQyuOyzPAOYYSWiUxknGQRDzUvpbY5WgjNE6o8IpEvKU1YFicbJrYxl7GglLOtrKsgJrLjSm888cYMTTjkcwzl2Fgc1Mo6-zKIilGqlL_w-ehaM-QHLp6q1pjBynAOOZ_j_QlLsb2V">