On Mar 25, 12:54 pm, Rugxulo <rugx...@gmail.com> wrote: > Hi, > > On Mar 25, 1:15 am, "Alexei A. Frounze" <alexfrun...@gmail.com> wrote: > > > On Mar 24, 9:28 pm, "Skybuck Flying" <IntoTheFut...@hotmail.com> > > wrote: > > > > Q2: Has the x86 instruction set received any major or minor extension(s) for > > > operating system usage (kernel-space) through the years ? > > > > (Maybe new instructions ?, maybe new registers ?) > > > Now, new non-system instructions that don't come in with new CPU > > registers or special state structures (e.g. MMX/XMM regs, MXCSR) > > should work equally well under either system. Think of POPCNT, for > > example. It works with the same general purpose regs and as long it's > > supported by the CPU (check with CPUID), you can use it. > > Be sure to also check if CPUID is supported before using it! Must be on all Pentium class CPUs. Anyone still has 80486? > > But you're > > out of luck with XMM under Win9x/2K because the OS isn't gonna save > > and restore them as part of a context switch (switch between threads) > > and even if you can execute those SSE instructions, as soon as two > > threads start executing them concurrently, the XMM reg state will get > > trashed. > > I don't know first-hand, but from what I've read, the following all > support SSE state saving (FXSAVE/FXRSTOR): Win95 OSR2, Win98, WinNT > 4.0 SP4 + driver, WinNT 5.0 beta 2, or newer. As you probably know, > WinNT 5 was officially renamed to Win2k. > > Not sure what Linux version introduced support, 2.2 or 2.4, somewhere > in there. > EDIT: Seems old patches for 2.2.5 and 2.2.12 are available athttp/sourceware.org/gdb/papers/linux/linux-sse.html. > > FXSAVE/FXRSTOR are meant to be faster at saving FPU/XMM and were > actually introduced in late model Pentium II cpus. Of course, SSE1 > only came with Pentium III (or Athlon XP). I might be wrong and you right. I've rarely needed to use this instruction subset, so I don't know/remember all the historical details. Alex