<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/67654>67654</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[aarch64] Is vqsubq_s64() neon intrinsics does not consider the dependency on the FPSR register
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
joyhou-hw
</td>
</tr>
</table>
<pre>
As code is:
https://godbolt.org/z/KM5z873Yz
This case is from the gnu deja test gcc.target/aarch64/advsimd-intrinsics/vqsub.c
I simplify the case for only test one small case. The case call the neon vqsubq_s64() intrinsics and test the fpsr.QC bit
Set FPSR, then sqsbu, then got FPSR.QC
>From the asm, it seems that "sqsub" is move up "msr fpsr" inst.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxkUk9v2z4M_TTyhYjhyPG_gw9t-jNQ_DBgXXvZaZAlxlYhS6kop0g__SB5RYPtYkvk4-MT-QSRnixiz6p7Vj1kYg2z8_2ru85u3c3v2ejUtb8jkE4haGLlHSseWHE3h3BONz4wPkxOjc6E3PmJ8eGD8eH_b9VH25Q_Pzb49n2ZNYEUFJng5N0CYUaY7AoKXwUEpAAwSZkH4ScMjA9CeDnXh3hSF9KL2mkbvLakJTE-XN5oHXN52-MRSC9no0_XRJ66nZwHZ8116-AsAi3CmJTMAQBePpEyhmOdRWch0b_9oiigZbyDr-YgrNroIvp0Jp8_HWHU4VbLMwYYvj__YP8N7P7I2iNEtAV6o3Fl_LjdJreh8qfjVjZ8TkbQElE6ACEuBGEWARjnFHUxzuMYF3dBWM8xvJBPSlLGUshvtWSqL1VXdiLDfl93VduVTVNnc98cTmPVtYe2qtpGtm3RYFfxtpUdlzVWPNM9L3hZdLwturLe1znyuqubejyJPe45VuxQ4CK0yY25LNEDmSZasa-bujpkRoxoKBmMc4vvkJKM8-g338ea3bhOxA6F0RToiyXoYJIzP11QPcAj_buVtKub1SiHBNYFkM6SVujTMBWe0Sq08grOpkgcOnicNAX02epN_5erdZijvdzC-BBV_fntzt69ooz-TG-JTkxv_R0AAP__T2MNwg">