Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to do SIMD with array of Extended?

Tags:

simd

delphi

I recently delved into the following Delphi source codes:

  • Extentia
  • SIMDTest

To my understanding:

  1. SSE is the way to go for doing SIMD with Single
  2. whereas SSE2 is the counterpart for Double

My Question:

Is there a way to do similar thing (SMID with array of Extended I mean) if I expect to benefit from more precision as Extended can provide ?

like image 405
menjaraz Avatar asked Jan 17 '23 10:01

menjaraz


1 Answers

Extended is a FPU (x87) type, and a funky one that isn't found outside x87 CPUs.

SSE doesn't support values larger than double (so no quad (128-bit) either ).

Not even in SSE versions documented but not yet available (Ivy Bridge)

So no, this is not possible.

Further SSE2 also widens the registers and provides additional instructions, so "SSE vs SSE2" it is not just single vs double

like image 62
Marco van de Voort Avatar answered Jan 24 '23 19:01

Marco van de Voort