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

    <tr>
        <th>Summary</th>
        <td>
            [DirectX]  Validator is erroring with Instructions must be of an allowed type.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:DirectX
      </td>
    </tr>

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

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

<pre>
     We are generating code that looks like this:
```llvm
  %43 = bitcast i64 %42 to <2 x i32>
  %44 = extractelement <2 x i32> %43, i32 0
  %45 = extractelement <2 x i32> %43, i32 1
```
There are 160 errors that look just like this. In all cases it is an `extractelement <2 x i32> ` we emit the error for both index extractions.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUkk9vnDwQxj-NuYyCBvMvHDjsm31Xyr1qex3wLDgxeGUP2U0_fQU02fZSqRISGmue8fwePxSjHWbmVpX_qfKY0CKjD-2Zwg8_u6Tz5r2FbwwUGAaeOZDYeYDeGwYZScB5_xrB2de1tlHlB4UHVeH-Ofc2KTwAKF0WOaj8CJ2VnqKArYrtVIN4UPmThhvYXKv8_09BsQn4JoF6YccTz_Jn6z5X6ae1BvxUlv-ozH5fWuHhy8hhh84qBA7Bh3jnhZclyp05hecZyDnoKXIEK2Aj0Ayqwr9vUCFcGXiyAjLyfg2cfYDOywh2Nnz7YLB-jmli2tw0eUMJt1ldVFX9iIjJ2JZNU9ZksNaa8dxVTY1lk51NZjrKqNGJbTXqEkt8xEIjYspVXVBt6qpBjVhXqkCeyLp0fbHUhyGxMS7cZvnakDjq2MUtJFp31L_ybFR-ONrAvXxXWq_ZCe0qfuiWIaoCnY0S7-PEittS9qEpjwBfyVlD4sPq2Ia_hutqZYTnOUpYdnCYVr87Bn9efSXn_JUNyPuF02QJrh1FLlv09Enp02BlXLq095PSpy2B--_hEvwL96L0aYOLSp9-8b21-mcAAAD__1cI724">