For those who are looking to understand what is going on, I would recommend the blog series I wrote -almost- more than half a decade ago at https://b.atch.se
Compiler intrinstics havet changed a lot since then, but the wording in the standard remains quite stable in this department
Disclaimer; I did not read your post in full (on set, working atm).
Edit: time flies, it has been more than half a decade.