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

    <tr>
        <th>Summary</th>
        <td>
            Erroneous sin value when passed an integer and using libmvec
        </td>
    </tr>

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

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

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

<pre>
    Given the following program:

```c++
#include <cmath>
#include <cstdio>
void fn5() {
 static constexpr int the_value_count = 64;

    float the_large_array_1[the_value_count]{};

    for (int ivalue = 0; ivalue < the_value_count; ++ivalue) {
        the_large_array_1[ivalue] = std::sin(ivalue);
    }

    for (int ivalue = 0; ivalue < the_value_count; ++ivalue) {
        float ref = std::sin(static_cast<float>(ivalue));
        if (ref != the_large_array_1[ivalue])
            printf("%d %f %f\n", ivalue, static_cast<double>(ref),
 static_cast<double>(the_large_array_1[ivalue]));
    }
}
int main() { fn5(); }
```

I get the output:
```
ASM generation compiler returned: 0
Execution build compiler returned: 0
Program returned: 0
2 0.909297 -0.166667
3 0.141120 -0.158529
6 -0.279415 -0.160633
7 0.656987 -0.153471
10 -0.544021 -0.150545
11 -0.999990 -0.165169
14 0.990607 -0.164014
15 0.650288 -0.165107
18 -0.750987 -0.165957
19 0.149877 -0.153296
22 -0.008851 -0.155979
23 -0.846220 -0.158669
26 0.762558 -0.156295
27 0.956376 -0.166520
30 -0.988032 -0.166041
31 -0.404038 -0.162333
34 0.529083 -0.163847
35 -0.428183 -0.147580
38 0.296369 -0.150162
39 0.963795 -0.162641
42 -0.916522 -0.160875
43 -0.831775 -0.166455
46 0.901788 -0.166664
47 0.123573 -0.158245
50 -0.262375 -0.160386
51 0.670229 -0.153819
54 -0.558789 -0.150925
55 -0.999755 -0.165291
58 0.992873 -0.164176
59 0.636738 -0.164977
62 -0.739181 -0.165869
63 0.167356 -0.152942
```
Check it out at:
https://godbolt.org/z/ad55fr3b1

The program output is erroneous, the sin value is completely wrong. The last two columns should be similar.
The behavior changes if we merge the two loops.

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0Vktv4zgS_jX0hWiDLLL4OPiQOJ3FHhZYYPce6EHZnJFFQ6Sc7vn1g6LkSTqdmTmNILibrMf31VcsRk3O8TSFcGD4yPBp1yzlnOZDKDFMU7iM7a5N_ffDv-ItTLycAx_SOKbXOJ34dU6nubkw9cBEfY1Y347BI73igYGKUzcufeBMHbtLU85Mff3ZkEsf02q5pdjzYUIGjoHnzFIenktTYse7NOUSvl1nHqdCdF5uzbiEly4tU-FMPXGjmXpc-XDO-TCmZnUcm_kUXpp5br6_SIaPH4IZPhGUffoxPM2cgSOwWJ0rhmDq8W19_MiDrKsCq8-7MrbnMz6bLz5ViFx60lU95DgRgXuilR3lIKr_NM9VvTkMn3FaW_LSNbkwdayu1MH3ZN_zpScOxLLmA0kp_1IICn-Lpec6x6kM9WQAA-w5AxzqD8PjVDeP_A5_5D8y7NPSjmGlOIeh8ju-na3P3P6W3icNqb_UiEtTZdpUfTvSVfbV9z4wayP_zU-hnlWelnJdyjZY75we_vcffgpTmJsS08S7dLnGMcx8DmWZp0Dt4eT39VvolurSLnHs_9zxv-sI_7QPXOy98OAt_yL20hhjLBMPiou91FKCqNvosLbI0Aqs1xJXd2GUYuLBcrE3aLxbs6DSVjLxIGs0ai1ArgaBGslQl56eFcCgNAQgNfHxwoiNjxZS0z5WBAHO3f0F8ZR1aVHcoQ16rAZfK_DO3imBN1Qv0FII53CjhN4SMihaOm3gj5pNpQSGi701gLhCowFPNQAV7dEoazbpEEhRVcO9c0LBZhCa1FAVUAst1FYEqKqeoqIRvHBq3VdO1yZUkTU4uRm0RVchHBd78EYZv8kqDdA-Fe2Nsn5rD5iKrCsRLw3CRkk4SzXotWglrd0ijMZqMPVcSHvX2xhDfdBUtASFVm0iQW0o1qLBgLonEsqR3iipcVYAbFSVk6Qq6no00Fl3r8FDzYTb0bC4ZULwVAS6ejTAbdBGS1sRqGijjL2rqr0l9Uwt1SovndwSudpQUw-3sQrXxiF4DR_m73gO3a88FhpQ3mwDei7lmum_8Mzg-ZT6No1ln-YTg-ffGDw3PeIwq1auU_7_c7j_5dzmnMfMwzynKaQl071FV0COE19v7pjr_I6hhPE7f53TdNpzyjI2ufDymniXxuUyZZ7PaRl73lL0JY7NvN_w2nBubjHNvDs30ylkuohfA7-E-RQqGmUZU7pmitj1B9V75ZtdOEirjQSJEnbng2u9a5UcfN9IdEqiCQqMwcH3Qzug2MUDCECBQkqrUcK-wxZRGxv6wTSIimkRLk0c9-N4u5BGu5jzEg5SOWnlbmzaMOb6KQIwhVderXSv49NuPlDQl3Y5ZabFGHPJb2lKLGM4fL2r-E6-13OY-LXJOfS8mei7IZzCzJup50umz5gxtpdb6HbLPB4-9DKW89Luu3Rh8ExQ2z9frnP6JXSFwXMlmBk8bxXcDvB7AAAA__-j_Ib2">