[PATCH] D41517: mmintrin.h documentation fixes and updates

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 4 19:19:35 PST 2018

craig.topper added inline comments.

Comment at: lib/Headers/mmintrin.h:55
-/// This intrinsic corresponds to the <c> VMOVD / MOVD </c> instruction.
+/// This intrinsic corresponds to the <c> MOVD </c> instruction.
kromanova wrote:
> 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?
We can change it back to VMOVD/MOVD


More information about the cfe-commits mailing list