What is the difference between unpacked and packed instructions in the context of SIMD operations?

What is the difference between unpacked and packed instructions in the context of SIMD operations?

I read an article about optimizing your code for SSE:

http://www.cortstratton.org/articles/OptimizingForSSE.php#batch

and this question came up when I read

"As an added bonus, movss is not a packed instruction, which allows us to better use parallel instruction decoders."

So what's the difference?

+3


source to share


2 answers


As I understand it, packed means that conceptually more than one value is passed in or used as an operand, while unboxed means that only one value is processed; not packed means no parallel processing is performed.



+2


source


SSE supports two modes of operation:

  • Packed mode - instructions run in parallel across all data operands
  • Scalar mode - instructions operate on the least significant pairs of packed data operands.


Source

+1


source







All Articles