CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2025/07/17 15:13:46
Modified files: gnu/usr.bin/gcc/gcc/config/m88k: m88k.c Log message: For the sake of proper superscalar operation, consecutive accesses to volatile variables need to be separated by weak barriers to enforce that load and stores to these variables happen in order. That wasn't required until gcc grew support for the 88110 processor (the 88100 wasn't superscalar enough for that cinematic). But then one (of the many...) errata of the 88110 processor caused the weak barrier to have to be replaced with a strong one, which also impacts the 88100, which doesn't need such a barrier in the first place! Since then, better knowledge of the 88110 errata tell us that it's ok to use the original weak (88100-friendly) barrier as long as it isn't the last instruction of a page. So force it to be aligned to an 8 byte boundary. At worst we waste a NOP, and even that way this lets the 88100 systems run faster. Well, less slowed down.