(x86 linux) SSE2 usage by simulation applications?

I was arguing with a friend about SSE2 (Intel's SIMD vector CPU instructions), and how useless it is to most general computer programs.

But he correctly pointed out any analog simulation (SPICE) likely use floating-point numeric computations. Furthermore, he claimed that in native 64-bit mode, the AMD64/EM64T instruction-set doesn't have x87 (legacy FPU) instructions. A 64-bit application MUST use SSE registers for all floating-point math.

I'm not much of a programmer, so is this true? If so, are the 64-bit/linux versions of EDA tools specifically optimized for the SSE instruction set?

Reply to
uuyu
Loading thread data ...

Quoted from the Wikipedia AMD64 entry (for what that's worth):

"SSE instructions. The AMD64 architecture includes Intel's SSE and SSE2 instructions, newer E-stepping CPU include SSE3 as well. The x87 and MMX instructions are supported."

Windows for AMD64/EM64T won't save the x87 FPU context for a 64-bit process, so that makes the x87 essentially useless on that OS (except for older 32-bit code). You *can* use the x87 FPU in a 64-bit process under Linux for AMD64, but it will be difficult to call FP library routines - the AMD64 ABI uses the SSE2 registers for float argument passing.

-Jason

Reply to
Jason Ozolins

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.