This is the result of several patches we made internally to update the documentation that we would like to have reviewed for possible submission.
The changes include:
- Fix instruction mappings/listings for various intrinsics
These patches were made by Craig Flores
I tried clang on Linux, x86_64, and if -mavx option is passed, we generate VMOVD, if this option is omitted, we generate MOVD.
I think I understand the rational behind this change (namely, to keep MOVD, but remove VMOVD),
since this intrinsic should use MMX registers and shouldn't have corresponding AVX instruction(s).
However, that's what we generate at the moment when -mavx is passed (I suspect because our MMX support is limited)
vmovd %edi, %xmm0
Since we are writing the documentation for clang compiler, we should document what clang compiler is doing, not what is should be doing.
Craig, what do you think? Should we revert back to VMOVD/MOVD?