llvm-project/clang/lib/Headers
Hans Wennborg 043f402586 [X86] Implement __readgsqword (and the rest) as builtins (PR32373)
It seems MS headers have started using __readgsqword, and since it's
used in a header that doesn't include intrin.h, we can't implement it as
an inline function anymore.

That was already the case for __readfsdword, which Saleem added support
for in r220859. This patch reuses that codegen to implement all of
__read[fg]s{byte,word,dword,qword}.

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

llvm-svn: 298538
2017-03-22 19:13:13 +00:00
..
cuda_wrappers [CUDA] Move device placement new definitions into a wrapper header. 2016-10-26 22:13:26 +00:00
CMakeLists.txt [X86] Clzero flag addition and inclusion under znver1 2017-02-09 06:10:14 +00:00
__clang_cuda_builtin_vars.h [CUDA] Rename cuda_builtin_vars.h to __clang_cuda_builtin_vars.h. 2016-10-08 22:16:08 +00:00
__clang_cuda_cmath.h [CUDA] Don't define functions that the CUDA headers themselves define on Windows. 2017-01-05 16:53:55 +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_intrinsics.h [CUDA] Rename keywords used in macro so they don't conflict with MSVC. 2017-01-05 16:54:11 +00:00
__clang_cuda_math_forward_declares.h [CUDA] Declare our __device__ math functions in the same inline namespace as our standard library. 2016-10-08 22:16:03 +00:00
__clang_cuda_runtime_wrapper.h [CUDA] Pre-include sm_60 and sm_61 headers. 2017-01-04 18:39:29 +00:00
__stddef_max_align_t.h
__wmmintrin_aes.h [DOXYGEN] Improved doxygen comments for x86 intrinsics headers. 2016-12-09 18:35:50 +00:00
__wmmintrin_pclmul.h [DOXYGEN] Improved doxygen comments for x86 intrinsics. 2016-12-27 00:49:38 +00:00
adxintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
altivec.h [Altivec] Change vec_sl to a << (b % (sizeof(a) * 8)) 2017-01-20 22:05:33 +00:00
ammintrin.h [DOXYGEN] Improved doxygen comments for x86 intrinsics headers. 2016-12-09 18:35:50 +00:00
arm_acle.h Update functions in clang supplied headers to use the compiler reserved 2016-02-12 02:22:53 +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] Use undefined instead of setzero in shufflevector based intrinsics when the second source is unused. Rewrite immediate extractions in shuffle intrinsics to be in ((c >> x) & y) form instead of ((c & z) >> x). This way only x varies between each use instead of having to vary x and z. 2016-07-04 22:18:01 +00:00
avx512bwintrin.h [AVX-512] Replace 512-bit masked packss/packus builtins and replace with new unmasked builtins. 2017-02-16 06:32:07 +00:00
avx512cdintrin.h [Clang][BuiltIn][AVX512] Adding intrinsics without mask for VBROADCAST and VPBROADCAST instruction set . 2016-04-27 11:43:14 +00:00
avx512dqintrin.h [AVX-512] Replace subvector broadcast builtins with shufflevectors and selects. 2017-01-18 02:17:10 +00:00
avx512erintrin.h Fixing problem with rsqrt28_sd 2016-06-05 15:57:49 +00:00
avx512fintrin.h [X86][AVX512] Add _mm512_cvtsd_f64 and _mm512_cvtss_f32 intrinsics (PR32305) 2017-03-21 12:46:13 +00:00
avx512ifmaintrin.h [AVX512] Remove space in -1 constants. NFC 2016-06-04 05:43:37 +00:00
avx512ifmavlintrin.h [AVX512] Remove space in -1 constants. NFC 2016-06-04 05:43:37 +00:00
avx512pfintrin.h [Clang][avx512][Intrinsics] adding prefetch gather intrinsics 2016-06-14 13:45:17 +00:00
avx512vbmiintrin.h [Clang][AVX512] Making cosmetic changes 2016-07-12 12:42:27 +00:00
avx512vbmivlintrin.h [clang][AVX512][Builtin] adding missing intrinsics for vpmultishiftqb{128|256|512} instruction set . 2016-05-23 15:04:39 +00:00
avx512vlbwintrin.h [AVX-512] Replace masked 16-bit element variable shift builtins with new unmasked versions and selects. 2016-11-18 05:04:51 +00:00
avx512vlcdintrin.h [AVX512] Move the 128-bit and 256-bit lzcnt intrinsics to avx512vlcdintrin.h where they belong. 2016-06-21 06:53:58 +00:00
avx512vldqintrin.h [AVX-512] Replace subvector broadcast builtins with shufflevectors and selects. 2017-01-18 02:17:10 +00:00
avx512vlintrin.h [AVX-512] Replace subvector broadcast builtins with shufflevectors and selects. 2017-01-18 02:17:10 +00:00
avxintrin.h [DOXYGEN] Documentation for the newly added x86 intrinsics. 2017-01-13 01:14:08 +00:00
bmi2intrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
bmiintrin.h [DOXYGEN] Improved doxygen comments for x86 intrinsics. 2016-12-27 00:49:38 +00:00
clflushoptintrin.h [Clang][Feature] Adding CLFLUSHOPT feature and intrinsic to clang 2016-07-05 15:56:03 +00:00
clzerointrin.h [X86] Clzero flag addition and inclusion under znver1 2017-02-09 06:10:14 +00:00
cpuid.h Add more gcc compatibility names to clang's cpuid.h 2016-07-31 20:23:23 +00:00
emmintrin.h [DOXYGEN] Improvements to smmintrin.h and emmintrin.h intrinsics. 2017-03-21 13:34:06 +00:00
f16cintrin.h [DOXYGEN] Improved doxygen comments for x86 intrinsics. 2016-12-27 00:49:38 +00:00
float.h [Headers] Enable #include_next<float.h> on Darwin 2016-12-08 02:13:56 +00:00
fma4intrin.h [X86] Add typecasts to remove most assumptions about what __m128i/__m256i is defined as. Add similar typecasts for the fp types as well. 2016-05-16 06:38:42 +00:00
fmaintrin.h [X86] Add typecasts to remove most assumptions about what __m128i/__m256i is defined as. Add similar typecasts for the fp types as well. 2016-05-16 06:38:42 +00:00
fxsrintrin.h [DOXYGEN] Improved doxygen comments for x86 intrinsics headers. 2016-12-09 18:35:50 +00:00
htmintrin.h Update functions in clang supplied headers to use the compiler reserved 2016-02-12 02:22:53 +00:00
htmxlintrin.h Fix parsing of htmxlintrin.h in C++ mode 2017-03-20 22:31:33 +00:00
ia32intrin.h Add some MS aliases for existing intrinsics 2016-09-14 21:19:43 +00:00
immintrin.h [DOXYGEN] Improved doxygen comments for x86 intrinsics. 2016-12-27 00:49:38 +00:00
intrin.h [X86] Implement __readgsqword (and the rest) as builtins (PR32373) 2017-03-22 19:13:13 +00:00
inttypes.h Headers: wordsmith error message 2016-06-17 00:27:02 +00:00
iso646.h
limits.h
lzcntintrin.h Add doxygen comments for lzcntintrin.h's intrinsics. 2016-11-18 06:26:01 +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 [DOXYGEN] Documentation for the newly added x86 intrinsics. 2017-01-13 01:14:08 +00:00
module.modulemap [X86] Clzero flag addition and inclusion under znver1 2017-02-09 06:10:14 +00:00
msa.h [mips] MSA intrinsics header file 2016-09-20 15:07:36 +00:00
mwaitxintrin.h Clean up: remove trailing spaces in x86 intrinsic headers. 2016-05-28 00:18:59 +00:00
nmmintrin.h Update the intel intrinsic headers to use the target attribute support. 2015-06-17 07:09:32 +00:00
opencl-c.h [OpenCL] Fix extension guards for atomic functions 2017-03-20 15:02:54 +00:00
pkuintrin.h Update functions in clang supplied headers to use the compiler reserved 2016-02-12 02:22:53 +00:00
pmmintrin.h [X86] DAZ Macros Relocation 2017-02-26 11:58:15 +00:00
popcntintrin.h [DOXYGEN] Improved doxygen comments for x86 intrinsics headers. 2016-12-09 18:35:50 +00:00
prfchwintrin.h Doxygen comments for prfchwintrin.h 2017-02-01 07:37:40 +00:00
rdseedintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
rtmintrin.h [X86] Rename DEFAULT_FN_ATTR macro to __DEFAULT_FN_ATTR 2015-06-30 13:36:19 +00:00
s390intrin.h [SystemZ] Add support for vecintrin.h vector built-in functions 2015-07-30 14:10:43 +00:00
shaintrin.h [X86] Add missing typecasts in intrinsic macros. This should make them more robust against inputs that aren't already the right type. 2015-11-11 03:47:10 +00:00
smmintrin.h [DOXYGEN] Improvements to smmintrin.h and emmintrin.h intrinsics. 2017-03-21 13:34:06 +00:00
stdalign.h
stdarg.h Guard __gnuc_va_list typedef. 2017-01-23 19:09:21 +00:00
stdatomic.h Trailing dot that shouldn't have been committed. 2016-09-04 00:51:02 +00:00
stdbool.h
stddef.h
stdint.h Clean up trailing whitespace in the builtin headers 2015-09-12 02:55:19 +00:00
stdnoreturn.h
tbmintrin.h Update functions in clang supplied headers to use the compiler reserved 2016-02-12 02:22:53 +00:00
tgmath.h [Headers] Reapply: Add #include_next for tgmath.h on Darwin 2017-03-16 23:19:00 +00:00
tmmintrin.h [DOXYGEN] Improved doxygen comments for x86 intrinsics. 2016-12-27 00:49:38 +00:00
unwind.h Add ARM EHABI-related constants to unwind.h. 2016-02-28 15:01:42 +00:00
vadefs.h
varargs.h
vecintrin.h [SystemZ] Add support for vecintrin.h vector built-in functions 2015-07-30 14:10:43 +00:00
wmmintrin.h Update the intel intrinsic headers to use the target attribute support. 2015-06-17 07:09:32 +00:00
x86intrin.h [X86] Clzero flag addition and inclusion under znver1 2017-02-09 06:10:14 +00:00
xmmintrin.h [DOXYGEN] Documentation for the newly added x86 intrinsics. 2017-01-13 01:14:08 +00:00
xopintrin.h [X86][XOP] Fix type conversion warning in vpcmov generic implementations. 2017-02-18 23:47:34 +00:00
xsavecintrin.h Headers: Switch some headers to LF line endings for consistency. 2015-10-15 10:33:27 +00:00
xsaveintrin.h Revert "[X86] Add xgetbv/x[X86] Add xgetbv xsetbv intrinsics to non-windows platforms" 2016-08-16 16:04:14 +00:00
xsaveoptintrin.h Headers: Switch some headers to LF line endings for consistency. 2015-10-15 10:33:27 +00:00
xsavesintrin.h Headers: Switch some headers to LF line endings for consistency. 2015-10-15 10:33:27 +00:00
xtestintrin.h Move xtest to its own file to match the gcc header organization. 2015-06-17 18:42:07 +00:00