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

    <tr>
        <th>Summary</th>
        <td>
            [DirectX] MakeDouble doesn't match validator expectations
        </td>
    </tr>

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

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

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

<pre>
    ```
Function: main: error: 'dx.op.makeDouble' is not a DXILOpFuncition for DXILOpcode 'MakeDouble'.
# | note: at '%hlsl.asdouble.i1 = call double @dx.op.makeDouble(i32 101, i32 0, i32 2146959360) #3' in block 'entry' of function 'main'.
# | Function: dx.op.makeDouble.f64: error: External function 'dx.op.makeDouble.f64' is unused.
# | Validation failed.
```

seen when compiling this code:
```
RWStructuredBuffer<double> Out1 : register(u0);

[numthreads(1,1,1)]
void main() {
  Out1[0] = asdouble(0x00000000, 0x7FF80000); // Should be NaN
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxsk92u2zYMgJ-GviFqKJQd2xe-SE4aYMDWAiuw9VaRmFirYgX6OU3ffpDjojlnM2yIpsQffSRVjPYyM4_Q7qE9VCqnyYcx3pRz1cmbHyNsxfqK3THPOlk_g9zhVdll5RB8KAJQZ-61v9VX9Y0PPp8cA3VoI84-ocLD199-_3wrLmzxgWcfVp32hov5H8-GNYgdkEToXooDLiFUKseA2slFV6tolsO13SDIA2rlHD5UCI34bzK9lYQbsQF6wSKKnwJtmu3QDnIrgAYEknLJfMaT8_pbiclzCj-K0p_xvFIo-oXC22SfIb3PoT5vmzfQPt4Th1m5N07_1-qBMs85snkO95dy1qgHUWXduvlUNBC7yDzj94ln1P56s87OF0yTjVjIg9y9s_jz7y8pZJ1yYLPP5zMHkC8PsCA_4uecCvAdBr7YmDgA9bmQA7l_xIN2P-drmgIrE4H6Qnz9BmgPIHav3ppHC1G_MO-KKS6-od0LaA9LTX_WGKgXd7E-pWzi3h2P_eOvBEagI9ARv0w-O4Mnxk_qU0mlOzzfrjKjNIMcVMXjpmu6vm97GqpplGK7laLrGz1oowwr0XStNH2_OWsjmSo7kqBWtERCtoKGWp70oNWgqBFnJlbQCL4q62rnXq-1D5fKxph53DRiGPrKqRO7uMwZ0czfcdkFojJ2YSxGH075EqERzsYUf7lJNrllQA82sE5fC5tfo4LGcyw9mPCqkp7w9dEQPiDfb6zT0huxysGNU0q3WOq9sLrYNOVTrf0V6FiircuHW_D_sE5AxyXHCHRcL_E60r8BAAD__1wiQiQ">