[X86] Correct the inline assembly implementations of __movsb/w/d/q and __stosw/d...
authorCraig Topper <craig.topper@intel.com>
Thu, 21 Jun 2018 18:56:30 +0000 (18:56 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 21 Jun 2018 18:56:30 +0000 (18:56 +0000)
commit1763dbb2780d808033bbbefb299d6a88d106557f
treeb4ce77c807691c557657062d5419fc78c6e4e42f
parent3505045b428410c736f79d612950c864e2d9d5a8
[X86] Correct the inline assembly implementations of __movsb/w/d/q and __stosw/d/q to mark registers/memory as modified

The inline assembly for these didn't mark that edi, esi, ecx are modified by movs/stos instruction. It also didn't mark that memory is modified.

This issue was reported to llvm-dev last year http://lists.llvm.org/pipermail/cfe-dev/2017-November/055863.html but no bug was ever filed.

Differential Revision: https://reviews.llvm.org/D48448

llvm-svn: 335270
clang/lib/Headers/intrin.h
clang/test/CodeGen/ms-intrinsics.c