SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : Advanced Micro Devices - Moderated (AMD) -- Ignore unavailable to you. Want to Upgrade?


To: fyodor_ who wrote (56149)9/24/2001 8:17:10 AM
From: pgerassiRespond to of 275872
 
Dear Fyodor_:

Given register renaming, it is easy to see why this is so when you switch modes. Suppose all the registers in the RISC back end are 64 bits. When in 32 bit mode, only the lower half is loaded and the rest is whatever was there before. It is no different than, if you loaded only the real parts of any complex number and you left whatever was in the imaginary parts. Then you performed complex math on those numbers you partially initialized. And the answers changed with every run. Since you failed to set it to a known state, you deserve the shaky results. The true register on the switch back holding EAX is not the same one as the switch forward.

I hope this helps clear why the upper 32 bits is not kept the same as the lower 32 bits.

Pete