On 06/03/2010 11:35 PM, Alexander Graf wrote: > > On 04.06.2010, at 02:35, Richard Henderson wrote: > >> For 32-bit, using a segment override is smaller than the 4-byte >> immediate offset. For 64-bit, segments can hold the entire 64-bit >> offset whereas the 4-byte immediate cannot. > > Very nice idea indeed :). Have you found it to be faster? IIRC > segment accesses are slower when seg_offs != 0. But then again the > code is smaller, so it might weigh it up.
I've not yet tried to do any proper benchmarking. I had thought that the segment access was slower only when limit != 4G, i.e. when the segment boundaries need to be checked. And that 64-bit segments don't have boundaries, so the slowdown does not apply there either. I'll put it on my queue for the weekend. r~