Mit dem FDIV-Bug bin ich durchaus vertraut. Allergings hat der nicht so
sehr bei den Compilerherstellern für Aktivität gesorgt, als vielmehr
bei Intel. Und hat ein für alle Mal mit der unseligen Tradition
gebrochen, diese Errata Sheets nur gegen Maulkorb NDA rauszurücken.
Generell gilt bei x86, dass alles was Anwendungsprogramme betrifft,
Sache des Prozessorherstellers und ggf. des Betriebssystems ist, nicht
des Compilers.
"Es gibt noch eine ganze Reihe anderer Bugs in den
Assembler-Instruktionen, die durchaus vom Compiler umgangen werden
können."
Beispiel aus neuerer Zeit? Den letzten dieser Art fand ich beim K6, bei
dem der Beschreibung nach die fehlerhafte Konstellation vermieden werden
kann. Indes schrieb AMD trotzdem "Workaround none", fand also diese
Vorstellung nicht so prickelnd.
Was AVR angeht, oder auch ARM: Sonderlich komplex sind die Cores diese
Teile ja nicht und der ARM7-Core ist auf dem Weg über technisch sehr
ähnliche ältere ARM-Cores im Wesentlichen bald 2 Jahrzehnte alt. Die
x86-Bugs, die öfter mal Programme ausser Tritt bringen konnten, sind
auch eher in den komplexeren Teilen angesiedelt (ebd. Divider, Branch
Target Cache [K6, der war weitaus ärgerlicher als FDIV], Caches/TLBs,
SMP-Support, usw.).