llvm-project/clang/lib/Headers
Craig Topper 1763dbb278 [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
2018-06-21 18:56:30 +00:00
..
cuda_wrappers [CUDA] Make std::min/max work when compiling in C++14 mode with a C++11 stdlib. 2018-05-17 16:12:42 +00:00
CMakeLists.txt [x86] invpcid intrinsic 2018-05-25 06:34:42 +00:00
__clang_cuda_builtin_vars.h Fix typos in clang 2018-04-06 15:14:32 +00:00
__clang_cuda_cmath.h [CUDA] Remove implementations of nexttoward. 2017-11-17 01:15:43 +00:00
__clang_cuda_complex_builtins.h [CUDA] Re-land support for <complex> (r283683 and r283680). 2016-10-11 17:36:03 +00:00
__clang_cuda_device_functions.h [CUDA] Added missing functions. 2018-02-22 18:40:52 +00:00
__clang_cuda_intrinsics.h [CUDA] added missing __ldg(const signed char *) 2018-04-18 18:33:43 +00:00
__clang_cuda_libdevice_declares.h [CUDA] Added partial support for CUDA-9.1 2018-01-30 00:00:12 +00:00
__clang_cuda_math_forward_declares.h [CUDA] Remove implementations of nexttoward. 2017-11-17 01:15:43 +00:00
__clang_cuda_runtime_wrapper.h [CUDA] Replace 'nv_weak' attributes in CUDA headers with 'weak'. 2018-06-06 17:52:55 +00:00
__stddef_max_align_t.h
__wmmintrin_aes.h [X86] Prevent inclusion of __wmmintrin_aes.h and __wmmintrin_pclmul.h without including wmmintrin.h 2018-05-22 02:02:13 +00:00
__wmmintrin_pclmul.h [X86] Fix some places where macro arguments to intrinsics weren't cast to _m512(i|d)/_m256(i|d/_m128(i|d) first. 2018-05-31 01:24:40 +00:00
adxintrin.h
altivec.h [PPC] Make altivec conversion function macros. 2017-05-30 11:37:29 +00:00
ammintrin.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
arm64intr.h [clang] Add ARM64 support to armintr.h for MSVC compatibility 2017-07-26 05:29:40 +00:00
arm_acle.h [ARM] ACLE Chapter 9 intrinsics 2017-05-04 08:37:59 +00:00
armintr.h Headers: Add ARM support to intrin.h for MSVC compatibility 2016-08-06 17:58:24 +00:00
avx2intrin.h [X86] Rename __builtin_ia32_pslldqi128 to __builtin_ia32_pslldqi128_byteshift and similar for other sizes. Remove the multiply by 8 from the header files. 2018-06-14 22:02:35 +00:00
avx512bitalgintrin.h [X86] Reduce the number of setzero intrinsics to just the set defined by the Intel Intrinsics Guide. 2018-05-30 18:02:11 +00:00
avx512bwintrin.h [X86] Rename __builtin_ia32_pslldqi128 to __builtin_ia32_pslldqi128_byteshift and similar for other sizes. Remove the multiply by 8 from the header files. 2018-06-14 22:02:35 +00:00
avx512cdintrin.h [X86] Remove mask argument from some builtins that are handled completely in CGBuiltin.cpp. Just wrap a select builtin around them in the header file instead. 2018-05-22 20:48:24 +00:00
avx512dqintrin.h [X86] Fold masking into subvector extract builtins. 2018-06-08 21:50:07 +00:00
avx512erintrin.h [X86] Remove __extension__ from macro intrinsics when its not needed. 2018-05-31 00:51:20 +00:00
avx512fintrin.h [X86] Rewrite the add/mul/or/and reduction intrinsics to make better use of other intrinsics and remove undef shuffle indices. 2018-06-21 16:41:28 +00:00
avx512ifmaintrin.h [X86] Remove mask from avx512ifma builtins. Use a select instruction instead. 2018-05-26 18:55:26 +00:00
avx512ifmavlintrin.h [X86] Remove mask from avx512ifma builtins. Use a select instruction instead. 2018-05-26 18:55:26 +00:00
avx512pfintrin.h [X86] Remove __extension__ from macro intrinsics when its not needed. 2018-05-31 00:51:20 +00:00
avx512vbmi2intrin.h [X86] Remove masking from avx512vbmi2 concat and shift by immediate builtins. Use select builtins instead. 2018-06-13 07:19:28 +00:00
avx512vbmiintrin.h [X86] Merge the 3 different flavors of masked vpermi2var/vpermt2var builtins to a single version without masking. Use select builtins with appropriate operand instead. 2018-05-29 03:26:38 +00:00
avx512vbmivlintrin.h [X86] Merge the 3 different flavors of masked vpermi2var/vpermt2var builtins to a single version without masking. Use select builtins with appropriate operand instead. 2018-05-29 03:26:38 +00:00
avx512vlbitalgintrin.h [X86] Fix the names of a bunch of icelake intrinsics. 2018-05-30 03:38:15 +00:00
avx512vlbwintrin.h [X86] Remove masking from dbpsadbw builtins, use select builtin instead. 2018-06-11 06:18:29 +00:00
avx512vlcdintrin.h [X86] Reduce the number of setzero intrinsics to just the set defined by the Intel Intrinsics Guide. 2018-05-30 18:02:11 +00:00
avx512vldqintrin.h [X86] Fold masking into subvector extract builtins. 2018-06-08 21:50:07 +00:00
avx512vlintrin.h [X86] Fold masking into subvector extract builtins. 2018-06-08 21:50:07 +00:00
avx512vlvbmi2intrin.h [X86] Remove masking from avx512vbmi2 concat and shift by immediate builtins. Use select builtins instead. 2018-06-13 07:19:28 +00:00
avx512vlvnniintrin.h Add missing curly from r333509 2018-05-30 08:05:24 +00:00
avx512vnniintrin.h [X86] Remove masking from the AVX512VNNI builtins. Use a select in IR instead. 2018-05-30 05:26:04 +00:00
avx512vpopcntdqintrin.h [X86] Fix some inconsistent formatting in the first line of our intrinsics headers. 2018-05-04 21:45:25 +00:00
avx512vpopcntdqvlintrin.h [X86] Fix some inconsistent formatting in the first line of our intrinsics headers. 2018-05-04 21:45:25 +00:00
avxintrin.h [X86] Change immediate type for some builtins from char to int. 2018-06-08 18:00:22 +00:00
bmi2intrin.h
bmiintrin.h [DOXYGEN] Formatting changes for better intrinsics documentation rendering 2018-05-23 06:33:22 +00:00
cetintrin.h [X86] Fix some inconsistent formatting in the first line of our intrinsics headers. 2018-05-04 21:45:25 +00:00
cldemoteintrin.h [X86] Move all Intel defined intrinsic includes into immintrin.h 2018-05-23 18:32:58 +00:00
clflushoptintrin.h [X86] Fix some inconsistent formatting in the first line of our intrinsics headers. 2018-05-04 21:45:25 +00:00
clwbintrin.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
clzerointrin.h [X86] Move all Intel defined intrinsic includes into immintrin.h 2018-05-23 18:32:58 +00:00
cpuid.h [x86] invpcid intrinsic 2018-05-25 06:34:42 +00:00
emmintrin.h [X86] Rename __builtin_ia32_pslldqi128 to __builtin_ia32_pslldqi128_byteshift and similar for other sizes. Remove the multiply by 8 from the header files. 2018-06-14 22:02:35 +00:00
f16cintrin.h [X86] Remove leftover semicolons at end of macros 2018-06-01 09:40:50 +00:00
float.h This adds the _Float16 preprocessor macro definitions. 2017-09-13 15:23:19 +00:00
fma4intrin.h [X86] Use separate builtins for fma4 scalar intrinsics. Use negations to remove some of the scalar fma3 builtins. 2017-11-25 19:32:12 +00:00
fmaintrin.h [X86] Fix the file header name on fmaintrin.h 2018-05-11 17:37:40 +00:00
fxsrintrin.h [X86] Remove 'return' from a bunch of intrinsics that return void and use a builtin that returns void. 2018-05-30 17:23:45 +00:00
gfniintrin.h [X86] Remove leftover semicolons at end of macros 2018-06-01 09:40:50 +00:00
htmintrin.h
htmxlintrin.h Fix typos in clang 2018-04-06 15:14:32 +00:00
ia32intrin.h [X86] Remove 'return' from a bunch of intrinsics that return void and use a builtin that returns void. 2018-05-30 17:23:45 +00:00
immintrin.h [X86] Add inline assembly versions of _InterlockedExchange_HLEAcquire/Release and _InterlockedCompareExchange_HLEAcquire/Release for MSVC compatibility. 2018-06-14 18:43:52 +00:00
intrin.h [X86] Correct the inline assembly implementations of __movsb/w/d/q and __stosw/d/q to mark registers/memory as modified 2018-06-21 18:56:30 +00:00
inttypes.h Headers: wordsmith error message 2016-06-17 00:27:02 +00:00
invpcidintrin.h [x86] invpcid intrinsic 2018-05-25 06:34:42 +00:00
iso646.h
limits.h
lwpintrin.h [X86] Explicitly make the arguments to __slwpcb intrinsic 'void'. 2018-06-03 22:05:19 +00:00
lzcntintrin.h [DOXYGEN] Formatting changes for better intrinsics documentation rendering 2018-05-23 06:33:22 +00:00
mm3dnow.h [X86] Add void to the argument list of intrinsics that don't take arguments since empty argument list mean something else in C. 2016-06-09 05:14:28 +00:00
mm_malloc.h
mmintrin.h [X86] Reduce the number of setzero intrinsics to just the set defined by the Intel Intrinsics Guide. 2018-05-30 18:02:11 +00:00
module.modulemap [x86] invpcid intrinsic 2018-05-25 06:34:42 +00:00
movdirintrin.h [X86] Use C style comments in intrinsic headers for overall consistency. 2018-05-30 22:33:21 +00:00
msa.h [mips] MSA intrinsics header file 2016-09-20 15:07:36 +00:00
mwaitxintrin.h [X86] Consistently use double underscore at the beginning of the include guards in our intrinsic headers. 2018-04-24 17:40:47 +00:00
nmmintrin.h [X86] Consistently use double underscore at the beginning of the include guards in our intrinsic headers. 2018-04-24 17:40:47 +00:00
opencl-c.h [NFC] fix trivial typos in comments 2018-01-29 05:15:18 +00:00
pconfigintrin.h [X86] Move all Intel defined intrinsic includes into immintrin.h 2018-05-23 18:32:58 +00:00
pkuintrin.h [X86] Remove 'return' from a bunch of intrinsics that return void and use a builtin that returns void. 2018-05-30 17:23:45 +00:00
pmmintrin.h [DOXYGEN] Formatting changes for better intrinsics documentation rendering 2018-05-23 06:33:22 +00:00
popcntintrin.h Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
prfchwintrin.h [X86] Remove some preprocessor feature checks from intrinsic headers 2018-05-21 06:07:49 +00:00
ptwriteintrin.h [X86] Move all Intel defined intrinsic includes into immintrin.h 2018-05-23 18:32:58 +00:00
rdseedintrin.h [X86] Move all Intel defined intrinsic includes into immintrin.h 2018-05-23 18:32:58 +00:00
rtmintrin.h
s390intrin.h
sgxintrin.h [X86] Move all Intel defined intrinsic includes into immintrin.h 2018-05-23 18:32:58 +00:00
shaintrin.h [X86] Remove leftover semicolons at end of macros 2018-06-01 09:40:50 +00:00
smmintrin.h [X86] Add builtins for blend with immediate control to enforce target feature requirements and check immediate range. 2018-06-08 00:00:21 +00:00
stdalign.h
stdarg.h Guard __gnuc_va_list typedef. 2017-01-23 19:09:21 +00:00
stdatomic.h Revert "Emit an error when mixing <stdatomic.h> and <atomic>" 2018-05-02 19:52:07 +00:00
stdbool.h In stdbool.h, define bool, false, true only in gnu++98 2017-12-08 08:28:08 +00:00
stddef.h
stdint.h Fix typos in clang 2018-04-06 15:14:32 +00:00
stdnoreturn.h
tbmintrin.h
tgmath.h [Headers] Reapply: Add #include_next for tgmath.h on Darwin 2017-03-16 23:19:00 +00:00
tmmintrin.h [X86] Mark all the builtins and intrinsics that require MMX and an SSE feature as requiring both mmx and the sse feature. 2018-06-05 03:12:14 +00:00
unwind.h [Headers] Fix typoed __ARM_DWARF_EH__ ifdefs 2017-10-19 07:40:45 +00:00
vadefs.h
vaesintrin.h [x86][icelake][vaes] 2017-12-27 08:16:54 +00:00
varargs.h
vecintrin.h [SystemZ] Add support for IBM z14 processor (3/3) 2017-07-17 17:47:35 +00:00
vpclmulqdqintrin.h [X86] Remove leftover semicolons at end of macros 2018-06-01 09:40:50 +00:00
waitpkgintrin.h [X86] Move all Intel defined intrinsic includes into immintrin.h 2018-05-23 18:32:58 +00:00
wbnoinvdintrin.h [X86] Move all Intel defined intrinsic includes into immintrin.h 2018-05-23 18:32:58 +00:00
wmmintrin.h [X86] Consistently use double underscore at the beginning of the include guards in our intrinsic headers. 2018-04-24 17:40:47 +00:00
x86intrin.h [X86] Move the include of clzerointrin.h from immintrin.h back to x86intrin.h. 2018-05-23 21:04:26 +00:00
xmmintrin.h [X86] Add builtins for shufps and shufpd to enable target feature and immediate range checking. 2018-06-08 07:18:33 +00:00
xopintrin.h [X86] Remove __extension__ from macro intrinsics when its not needed. 2018-05-31 00:51:20 +00:00
xsavecintrin.h [X86] Fix some inconsistent formatting in the first line of our intrinsics headers. 2018-05-04 21:45:25 +00:00
xsaveintrin.h [X86] Remove 'return' from a bunch of intrinsics that return void and use a builtin that returns void. 2018-05-30 17:23:45 +00:00
xsaveoptintrin.h [X86] Remove 'return' from a bunch of intrinsics that return void and use a builtin that returns void. 2018-05-30 17:23:45 +00:00
xsavesintrin.h [X86] Fix some inconsistent formatting in the first line of our intrinsics headers. 2018-05-04 21:45:25 +00:00
xtestintrin.h [X86] Fix some inconsistent formatting in the first line of our intrinsics headers. 2018-05-04 21:45:25 +00:00