Messages in this thread | | | Date | Wed, 12 Dec 2007 15:48:01 +0100 | From | Rene Herman <> | Subject | Re: [RFT] Port 0x80 I/O speed |
| |
On 12-12-07 12:20, linux@horizon.com wrote:
> Here are a variety of machines:
Thanks much for all! Collecting all data now...
> With -O2, the cycle counts come out (before division) as > out: 0xFFFFFFFFFFEA6F4F > in: 0xFFFFFFFFFCE68BB6 > I think the "A" constraint doesn't work quite the same in > 64-bit code. The compiler seems to be using %rdx rather than > %edx:%eax.
Yes indeed, that tripped me up. Have been using the "=A" locally for a while for similar timing tests. Will use a manual "=a" (lo), "=d" (hi) I guess for amd64 compatibility from now on.
If I'd care deeply I'd probably categorize this as a backwards compatibility bug in GCC though. Things were probably never guaranteed but they certainly worked that way...
Rene.
| |