> This is not true. If you use a register for any purpose like this, > it can't be used for anything else and that has a cost.
This is a segment register. Please go and read about what segment registers. They are not real registers and cannot be used for anything except memory accesses. They date back to the 16bits processor days when you could have 24bits of memory but you needed to switch the segment register, remember far/near memory?? Now some other ABIs on other processors just use a normal register (on PPC, it is r13) but then again those processors usually have larger register set than x86 (or x86_64). Thanks, Andrew Pinski