Я, наверное, чего-то недопонимаю, но push/pop как раз пишет/читает в память. В вычислениях немного сложнее "2 x 2" все регистры общего назначения заняты и приходится использовать память (будь то стек или не стек - не важно).
Верятно, чтобы получить перечень фортунок, нужен аккаунт в багзиле. У меня его нет. Так что просто приведу три таких фортунки.
Many people can walk on their hands. Only a few extraordinary people can run 100 mt below the ten seconds wall. Only the son of God could walk on the sea. Nobody can patch reload.c without causing regressions.
yes, I find some kind of beauty in reload after looking into dwarf2out for 2 days. (Honza)
I begin to understand the reload entity
Последняя, видимо, должна вызывать у причастных истерический смех.
Если чуть серьезнее, то я многократно натыкался на обсуджение плохой работы аллокатора в случае high register pressure. И жалобы, что к аллокатору хрен притронешься.
В версии 4.4 Макаров таки осилил переделать аллокатор (и при этом в тестах Spec Cpu у gcc случилось улучшение). Возникли регрессии: в некоторых случаях новый аллокатор распределяет регистры ощутимо хуже, чем старый (о чем в багзиле имеется несколько багов). Пофиксить эти регрессии Макаров не осилил, сославшись на эвристическую природу обоих аллокаторов.