Standard Def Steve wrote:OK, that makes sense. Though, I wonder why they haven't been writing backends targeting newer instruction sets like SSE4 or AVx. IIRC SSE4 was a fairly beefy upgrade and it's been available since what, 2008?
Well, I will make two assumptions here:
1) The fact that the driver reports "SSE2" actually means that it uses only SSE2, not any newer versions (which are basically extensions of SSE2, using the same register set).
2) Given the fact that NV invests so much into R&D of their drivers and tools, they would have explored the possibilities of using newer instructionsets.
Under those assumptions, my explanation would be that CPUs and GPUs are competing technologies. That is, SSE and AVX are meant to speed up matrix/vector maths, which is exactly the same purpose a GPU has. Except that a GPU is much faster for massively parallel tasks.
So the more matrix/vector maths NV offloads to the GPU, the less the CPU actually has to do. Roughly since the DirectX 9 era, we've pretty much reached a point where the GPU is fully 'self-sufficient', and the CPU mainly needs to pump the data into video memory, at least, in the driver.
Maths are either performed in GPU shaders, or in preparation of data to be sent to the driver, so on the application side. There's not much going on in the driver itself.
Perhaps SSE2 is adequate for that (it has cache prefetching instructions, you can swizzle your data), and the new instructions don't add anything of value.