2

In the Carry-less Multiplication x86 instruction, PCLMULQDQ, what does the "P" prefix stand for?

I've looked in these sources, but none of them explain the mnemonics.

Secondly, what does "QDQ" stand for?

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
Steve Ward
  • 486
  • 4
  • 11
  • 5
    P = packed. [SIMD integer instructions begin with P](https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions#Integer_instructions), or VP if they use the new VEX/EVEX encoding. Floating-point instructions [end with PS/PD...](https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions#Floating-point_instructions) where P is also packed – phuclv Jun 13 '23 at 00:00
  • 2
    Packed Carry-Less MULtiply Quadwords to Double Quadwords – Myria Jun 21 '23 at 00:13

1 Answers1

4

P is for Packed (integer). All SSE/AVX integer instructions have mnemonics starting with p, like paddb. (Or vp for the AVX versions). As opposed to ...ps (packed-single) and ...pd packed-double instructions.

Q for Quad-word (64-bit) chunks of the source operand multiplying into a double-quad (128-bit) integer.


Related:

Peter Cordes
  • 328,167
  • 45
  • 605
  • 847