(x86 linux) SSE2 usage by simulation applications?

Discussion in 'Cadence' started by uuyu, Jul 22, 2005.

  1. uuyu

    uuyu Guest

    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?
     
    uuyu, Jul 22, 2005
    #1
  2. 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
     
    Jason Ozolins, Jul 22, 2005
    #2
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.