Mit den Registern sollte es nichts zu tun haben, die sind unter einer 64Bit-CPU immer 64Bit breit und werden im 32Bit-Modus einfach nur zur Hälfte genutzt.
Es könnte auch an Registern liegen, wenn viel multipliziert wird. Das Produkt von zwei 32-Bit-Integern hat halt nicht mehr als 64-Bit, das von zwei 64-Bit-Integern schon. Vielleicht sieht man ja am erzeugten Code mehr.