https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113025
--- Comment #7 from juki at gcc dot mail.kapsi.fi --- (In reply to Xi Ruoyao from comment #6) > Works for me: I also have plenty of code where this works just fine and still some locations where it does not. And there are optimization level requirements (-O3 -NDEBUG) for that to happen as well or GCC will generate correct code in the places I have seen those issues. Like I mentioned earlier, creating a small test case to replicate this has been something that I haven't been able to do yet. I think there are some special circumstances necessary for wrong instruction to be generated. I have caught this with gdb quite nicely in my test cases, debug information points to this load operation being used there. Assembly at that position shows movdqa instruction being used while movdqu should have been and removing possibility to use movdqa fixes all failures for all tested compilers. So it can fail and failure is tied to that alignment comparison. Somehow.