https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107836
--- Comment #3 from Zixuan Chen <czx211355007 at gmail dot com> --- I think there is a data dependency between the second asm statement and the third, a read-after-write one. If the third one is moved to the top then we can't get the correct value of mm5(mm0). Also, could you explain why the result using -O1 to compile is correct as expected where the asm statements remain in the same order as they should be? sch...@linux-m68k.org <gcc-bugzi...@gcc.gnu.org> 于2022年11月23日周三 23:48写道: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107836 > > Andreas Schwab <sch...@linux-m68k.org> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > Resolution|--- |INVALID > Status|UNCONFIRMED |RESOLVED > > --- Comment #2 from Andreas Schwab <sch...@linux-m68k.org> --- > There is no dependency whatsoever between the asm statements, thus they > can be > moved around freely. Especially the third one is producing a constant > output as > seen by the compiler, thus moving it to the top of the function is > perfectly > valid. > > -- > You are receiving this mail because: > You reported the bug.