The presence of PS and PD varieties of all (or almost all) SEE / AVX instructions has a historical context: once, when Intel originally designed the first set of SSE instructions, they thought that future chip architectures would have three Domains: Integer , Floating Point with one Precision (32-bit), Double-precision floating point (64-bit)
Note. Domains are segregated logic blocks in the CPU, and they matter because there is a slight delay in transferring the contents of the SSE / AVX registers between them. Therefore, if the result of a command in an integer area is used as an instruction input in a floating-point domain, 1 or 2 cycles may occur.
For this reason, Intel mirrors logical bitwise and random instructions three times: one for integers, one for SP-FP and one for DP-FP. The operations performed by these mirror instructions are identical, including between integers and varieties with a floating point.
Most x86 architectures currently have two domains: Integer and Floating Point. . In the FP domain, both Single and Double-Precision (32/64 bit) are processed. Some architectures have only one domain for all SSE / AVX instructions. It is conceivable that a third domain for double precision may be added to some future architectures.
source share