If I understand the history, things like FS and GS support in long
mode were pushed for by MS, not the *nix community.
I can't find any historical evidence either way, but glibc uses GS in x86
mode and FS in x86-64 mode for TLS data, so it seems unlikely they would
have thrown that away, only to have it brought back by MS. (IIRC, MS
uses FS for TLS and GS for CPU-specific data or vice versa.)
I think by then everyone had realized that IPF was not going to be
successful on the desktop, except perhaps Intel. On servers there
was still a sliver of hope.
MS and Intel must have both realized that the then-recent success of
Wintel servers was due to leveraging the economy of scale from Wintel
desktops. To use another architecture for only servers would negate
that and cede their most profitable customers to competitors.
MS and Intel have made a lot of bone-headed moves over the years, but
neither of them would be stupid enough to do that. As soon as Itanic's
failure on the desktop became obvious, it was dead for servers too.
OK, if I have my dates straight... Opteron first shipped April 2003,
the non-public (developers only) beta* for XP/64 was September 2003,
the public beta** was February (I think) 2004, and the production
release April 2005.
IIRC that was "XP Pro, x64 Edition"; XP64 was for Itanic. And you
couldn't get it installed on new PCs, even with Athlon64/Opterons, in
large part because there was no Home version.
Windows for x64 didn't hit the shelves until Vista, and Vista was such a
flop that x64 support wasn't mainstream until Windows 7, and that's
about how long it took for the drivers to catch up anyway.
*I don't really know how hard the public beta was to access for the,
*ahem*, public, but for developers both the initial beta and the
public beta (and I want to say there were two major builds between
those, but memory fails me), was pretty much trivial (just download
it from your MSDN subscription).
I had to torrent it because I didn't have an MSDN account, and that
requires far more effort/skill than the general public can handle.
**Yes, it sucked, unless you had exactly the right hardware, then it
was a pretty unremarkable version of Windows, except for the 64 bit
thing.
It was unremarkable until you noticed that none of your peripherals,
e.g. your printer, worked with it. Luckily I chose to dual boot, or I
would have being reinstalling XP32 the next day.
There's no doubt that Linux was there with usable systems first. And
to a certain extent MS didn't fully commit to AMD64 until Intel did,
at which point its success was assured, but they certainly threw a
lot of code at it before that point.
They had already ported to three other 32-bit systems* and one other
64-bit system, so most of that was just porting MSVC, tweaking the
kernel a bit and recompiling the OS; they didn't port anything else
(e.g. Office) until much later.
* The Alpha port was 32-bit, which is a story in itself.
S