So far, they can only treated as vectors of 4 64-bit doubles or 8 32-bit floats, likely later extended to integer vectors.
Similar to SSE with 128-bit registers, soon followed by SSE2 for various integers. Following bitwise operations are available for doubles, as well for floats.
Code: Select all
VANDPD ymm1, ymm2, ymm3/mem256 ymm1 := ymm2 & ymm3
VANDNPD ymm1, ymm2, ymm3/mem256 ymm1 := ~ymm2 & ymm3
VORPD ymm1, ymm2, ymm3/mem256 ymm1 := ymm2 | ymm3
VXORPD ymm1, ymm2, ymm3/mem256 ymm1 := ymm2 ^ ymm3
http://software.intel.com/sites/product ... /index.htm
My question, for what are bitwise operations used with float or double, if not interpreted as integer or set? Is there an enriched double arithmetic, where modifying bits other than sign, that is the mantissa or exponent makes any sense?
Thanks,
Gerd