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

    <tr>
        <th>Summary</th>
        <td>
            x64-86 strange xor in sqrt(x^2 + y^2)
        </td>
    </tr>

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

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

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

<pre>
    [godbolt link with clang 16.0 with strange xorps instruction](https://godbolt.org/z/1Tv5xnG1K)

```c++
#include <cmath>

double f(double x, double y) noexcept
{
    return std::sqrt(x * x + y * y);
}
```

clang 16.0 with "-Ofast" convert into

```asm
f(double, double): # @f(double, double)
        mulsd   xmm0, xmm0
        mulsd xmm1, xmm1
        addsd   xmm1, xmm0
        xorps   xmm0, xmm0 <<<< why there is need for such instruction???
        sqrtsd  xmm0, xmm1
 ret
```


All other compilers gcc, icc generates:

```
f(double, double):
        mulsd   xmm1, xmm1
 mulsd   xmm0, xmm0
        addsd   xmm0, xmm1
        sqrtsd xmm0, xmm0
        ret
```

without any xorps instruction before sqrtsd.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEVM2SozYQfprm0jUuaBkMBw6e9ZJDDrnkBYSQQYmQHEl4cJ4-JYx3bMezS3VJjVr69PWPmnuveiNlDfk75IeET2Gwrj5MflA-2HPS2u4Sjb3tWqsDamX-xg8VBhSamx6zYpNe_31w3PQSZ-tOHpXxwU0iKGsgPwCVQwgnD2wP1AA1K9zGuh6o-Reoyf4857P5LfsdqIL0AOl-HYv0KgLoPcp1lZgyQk-dRGDfxMjDAOz7_bnOTq2WeAQqV3UG-oarfgGq0Fg5C3kK67Hdio2I6GSYnEEfukiZ7f0_LgCVMwLtMY7veFn0CATsxmp3eCJ9z-g5YED09seR-wBEKKw5SxdQmWBfus_9eF359OjTn4XEHoEYwjb9ascP7-I3Ttp3iDiPYxq3LfOLHfM4Zqs9e7TzrrshZK8RrqXweEfM1w_Bj-GCYZBOovJopOzwaB36SQwPFcSaVR7gY1Iigzv4G0Unw08ycR33WqONl6Ow40lp6Tz2QkQkJQT20kjHg1yK9lVGfpWOL-P9HM9fp-Iu1M-ePsbia4ifRyQWpJ0CcnP5_wPGVh6tk-sdm6SrWVexiieyzoqSKkasZMlQizJj7THLsqptSy6OBRGvSrGrRF5uBSsSVVNKLM3TLK0ylrJNd8xJlF1Lu5x4tS1hm8qRK73R-jzG5pAo7ydZF7TdFYnmrdR-aVVERn7gYgSi2LlcHc-8tVPvYZtq5YP_RAkqaFnPxfatLO4bFSqDt6cN-Xe6PuyoAVXJ5HT91LZUGKZ2I-wI1ET0dXo7OfuXFAGoWTh5oGbh_F8AAAD___vPiuE">