4 votes

SIMD Instructions Considered Harmful

1 comment

  1. Ephemere
    Link
    The argument for why they are harmful: The article instead argues for vector architectures. Which I was reasonably convinced by, though it seems like it would itself discard all of the backwards...

    The argument for why they are harmful:

    Because ISAs traditionally embrace backwards binary compatibility, and the opcode specifies the data width, expanding the SIMD registers also expands the SIMD instruction set. Each subsequent step of doubling the width of SIMD registers and the number of SIMD instructions leads ISAs down the path of escalating complexity, which is borne by processor designers, compiler writers, and assembly language programmers. The IA-32 instruction set has grown from 80 to around 1400 instructions since 1978, largely fueled by SIMD.

    The article instead argues for vector architectures. Which I was reasonably convinced by, though it seems like it would itself discard all of the backwards compatability existing ISAs are currently struggling to provide. Then again, if you're going to suffer the pain of doing something new, it seems like a strong idea.

    4 votes