llvm-project/clang/lib/Headers
Quinn Pham f9912fe4ea [PowerPC] Add range checks for P10 Vector Builtins
This patch adds range checking for some Power10 altivec builtins and
changes the signature of a builtin to match documentation. For `vec_cntm`,
range checking is done via SemaChecking. For `vec_splati_ins`, the second
argument is masked to extract the 0th bit so that we always receive either a `0`
or a `1`.

Reviewed By: lei, amyk

Differential Revision: https://reviews.llvm.org/D109710
2021-09-23 11:05:49 -05:00
..
cuda_wrappers [CUDA] Work around compatibility issue with libstdc++ 11.1.0 2021-05-24 11:07:09 -07:00
openmp_wrappers [AMDGPU][OpenMP] Use complex definitions from complex_cmath.h 2021-09-09 10:55:17 +05:30
ppc_wrappers [PowerPC] Fix x86 vector intrinsics wrapper compilation under C++ 2021-06-01 01:19:12 +08:00
CMakeLists.txt [X86] Add CRC32 feature. 2021-09-06 17:24:30 +08:00
__clang_cuda_builtin_vars.h [CUDA] Added conversion functions to builtin vars. 2020-09-24 14:33:04 -07:00
__clang_cuda_cmath.h [OpenMP][CUDA][FIX] Use the new `remquo` overload only for OpenMP 2020-10-27 23:52:59 -05:00
__clang_cuda_complex_builtins.h [OpenMP][AMDGCN] Enable complex functions 2021-08-24 12:40:41 +05:30
__clang_cuda_device_functions.h [clang] Replace asm with __asm__ in cuda header 2021-08-05 18:46:57 +01:00
__clang_cuda_intrinsics.h [CUDA] Fix order of memcpy arguments in __shfl_*(<64-bit type>). 2020-01-23 13:17:52 -08:00
__clang_cuda_libdevice_declares.h [OpenMP] Make CUDA math library functions SPMD amenable 2021-09-10 14:52:45 -04:00
__clang_cuda_math.h [NFC][CUDA] Fix order of round(f) definition in __clang_cuda_math.h for non-LP64. 2021-07-02 21:55:48 +02:00
__clang_cuda_math_forward_declares.h [HIP] Add signbit(long double) decl 2021-01-14 18:23:37 +00:00
__clang_cuda_runtime_wrapper.h [CUDA] Remove `noreturn` attribute from __assertfail(). 2021-03-01 13:59:22 -08:00
__clang_hip_cmath.h [OpenMP][AMDGCN] Initial math headers support 2021-08-02 14:38:52 +00:00
__clang_hip_libdevice_declares.h [HIP] Clean up llvm intrinsics using __asm 2021-05-13 18:55:51 +00:00
__clang_hip_math.h [openmp] Annotate tmp variables with omp_thread_mem_alloc 2021-08-19 02:22:11 +01:00
__clang_hip_runtime_wrapper.h [HIP] Fix no matching constructor for init of shared_ptr and malloc 2021-07-22 14:32:41 +00:00
__stddef_max_align_t.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
__wmmintrin_aes.h [X86] Add parentheses around casts in some of the X86 intrinsic headers. 2021-08-13 09:36:16 -07:00
__wmmintrin_pclmul.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
adxintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
altivec.h [PowerPC] Add range checks for P10 Vector Builtins 2021-09-23 11:05:49 -05:00
ammintrin.h Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
amxintrin.h [X86] Add missing __inline__ to functions in amxintrin.h 2021-08-20 09:35:02 -07:00
arm64intr.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
arm_acle.h [AArch64] Implement __rndr, __rndrrs intrinsics 2021-03-15 17:51:48 +00:00
arm_cmse.h [ARM][CMSE] Add CMSE header and builtins 2019-12-12 15:01:14 +00:00
armintr.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx2intrin.h [X86] Add parentheses around casts in some of the X86 intrinsic headers. 2021-08-13 09:36:16 -07:00
avx512bf16intrin.h [X86] Enable intrinsics that convert float and bf16 data to each other 2019-06-11 01:17:28 +00:00
avx512bitalgintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512bwintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
avx512cdintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512dqintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
avx512erintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
avx512fintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
avx512fp16intrin.h [X86][FP16] Change the order of the operands in complex FMA intrinsics to allow swap between the mul operands. 2021-09-23 11:02:48 +08:00
avx512ifmaintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512ifmavlintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512pfintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vbmi2intrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
avx512vbmiintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vbmivlintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vlbf16intrin.h [X86] Enable intrinsics that convert float and bf16 data to each other 2019-06-11 01:17:28 +00:00
avx512vlbitalgintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vlbwintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
avx512vlcdintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vldqintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
avx512vlfp16intrin.h [X86][FP16] Change the order of the operands in complex FMA intrinsics to allow swap between the mul operands. 2021-09-23 11:02:48 +08:00
avx512vlintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
avx512vlvbmi2intrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
avx512vlvnniintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
avx512vlvp2intersectintrin.h [X86] Add VP2INTERSECT instructions 2019-05-31 06:09:35 +00:00
avx512vnniintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vp2intersectintrin.h [X86] Add VP2INTERSECT instructions 2019-05-31 06:09:35 +00:00
avx512vpopcntdqintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vpopcntdqvlintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avxintrin.h [X86][AVX] Update _mm256_loadu2_m128* intrinsics to use _mm256_set_m128* (PR51796) 2021-09-09 19:15:48 +01:00
avxvnniintrin.h [X86] Support Intel avxvnni 2020-10-31 12:39:51 +08:00
bmi2intrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
bmiintrin.h Add header guards for header files that should not be included on the PS4 platform. 2020-04-30 16:17:34 -07:00
builtins.h [Clang] Add an empty builtins.h file. 2021-07-16 12:50:04 -05:00
cet.h Add cet.h for writing CET-enabled assembly code 2020-05-19 14:03:17 +08:00
cetintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
cldemoteintrin.h [X86] Support intrinsic _mm_cldemote 2020-03-12 10:03:41 +08:00
clflushoptintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
clwbintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
clzerointrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
cpuid.h [X86] AVX512FP16 instructions enabling 1/6 2021-08-10 12:46:01 +08:00
crc32intrin.h [X86] Add CRC32 feature. 2021-09-06 17:24:30 +08:00
emmintrin.h Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
enqcmdintrin.h [X86] Add ENQCMD instructions 2019-06-06 08:28:42 +00:00
f16cintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
float.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
fma4intrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
fmaintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
fxsrintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
gfniintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
hexagon_circ_brev_intrinsics.h [hexagon] Add {hvx,}hexagon_{protos,circ_brev...} 2021-06-30 22:58:56 -05:00
hexagon_protos.h [hexagon] Add {hvx,}hexagon_{protos,circ_brev...} 2021-06-30 22:58:56 -05:00
hexagon_types.h [hexagon] Add {hvx,}hexagon_{protos,circ_brev...} 2021-06-30 22:58:56 -05:00
hresetintrin.h [X86] Add HRESET instruction. 2020-10-13 08:47:26 +08:00
htmintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
htmxlintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
hvx_hexagon_protos.h [hexagon] Add {hvx,}hexagon_{protos,circ_brev...} 2021-06-30 22:58:56 -05:00
ia32intrin.h [X86] Add CRC32 feature. 2021-09-06 17:24:30 +08:00
immintrin.h Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
intrin.h clang/win: Add __readfsdword to intrin.h 2021-09-02 12:22:07 -04:00
inttypes.h AIX system headers need stdint.h and inttypes.h to be re-enterable 2019-06-20 15:36:32 +00:00
invpcidintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
iso646.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
keylockerintrin.h [X86] Adjust Keylocker handle mem size 2021-09-13 18:03:27 +08:00
limits.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
lwpintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
lzcntintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
mm3dnow.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
mm_malloc.h [clang] [Headers] Use the corresponding _aligned_free or __mingw_aligned_free in _mm_free 2020-12-04 11:34:12 +02:00
mmintrin.h Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
module.modulemap [Clang][SVE] Parse builtin type string for scalable vectors 2020-03-15 14:34:52 +00:00
movdirintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
msa.h [Mips] Add intrinsics for 4-byte and 8-byte MSA loads/stores. 2020-02-11 11:47:30 +01:00
mwaitxintrin.h [X86] Mark various pointer arguments in builtins as const 2019-12-19 11:42:11 -08:00
nmmintrin.h Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
opencl-c-base.h [OpenCL] Supports atomics in C++ for OpenCL 2021 2021-09-20 16:24:30 +01:00
opencl-c.h [OpenCL] Supports atomics in C++ for OpenCL 2021 2021-09-20 16:24:30 +01:00
pconfigintrin.h [X86] Make `x86intrin.h`, `immintrin.h` includable with `-fno-gnu-inline-asm`. 2019-05-13 22:40:11 +00:00
pkuintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
pmmintrin.h Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
popcntintrin.h [X86] Enable constexpr on POPCNT intrinsics (PR31446) 2020-08-20 21:38:04 +01:00
prfchwintrin.h prfchwintrin.h: Make _m_prefetchw take a pointer to volatile (PR49124) 2021-08-02 15:16:04 +02:00
ptwriteintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
rdseedintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
rtmintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
s390intrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
serializeintrin.h [X86] Add SERIALIZE instruction. 2020-04-02 16:19:23 +08:00
sgxintrin.h [X86] Make `x86intrin.h`, `immintrin.h` includable with `-fno-gnu-inline-asm`. 2019-05-13 22:40:11 +00:00
shaintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
smmintrin.h Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
stdalign.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
stdarg.h Revert Include corecrt.h in stddef.h and vcruntime.h in stdarg.h to improve MS compatibility. 2019-05-08 22:01:20 +00:00
stdatomic.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
stdbool.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
stddef.h Revert Include corecrt.h in stddef.h and vcruntime.h in stdarg.h to improve MS compatibility. 2019-05-08 22:01:20 +00:00
stdint.h AIX system headers need stdint.h and inttypes.h to be re-enterable 2019-06-20 15:36:32 +00:00
stdnoreturn.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
tbmintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
tgmath.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
tmmintrin.h Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
tsxldtrkintrin.h [X86] Add TSXLDTRK instructions. 2020-04-09 13:17:29 +08:00
uintrintrin.h [X86] Enable compilation of user interrupt handlers. 2021-04-23 11:43:57 +08:00
unwind.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
vadefs.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
vaesintrin.h [X86] Don't define vpclmulqdq or vaes intrinsics in the headers unless avx512fintrin.h has been included. 2021-03-28 11:26:30 -07:00
varargs.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
vecintrin.h [SystemZ] Add support for new cpu architecture - arch14 2021-07-26 16:57:28 +02:00
vpclmulqdqintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
waitpkgintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
wasm_simd128.h [WebAssembly] Restore builtins and intrinsics for pmin/pmax 2021-08-20 09:21:31 -07:00
wbnoinvdintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
wmmintrin.h Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
x86gprintrin.h [X86] Add CRC32 feature. 2021-09-06 17:24:30 +08:00
x86intrin.h Add header guards for header files that should not be included on the PS4 platform. 2020-04-30 16:17:34 -07:00
xmmintrin.h Check supported architectures in sseXYZ/avxXYZ headers 2021-09-14 09:57:54 +02:00
xopintrin.h [X86] Add parentheses around casts in X86 intrinsic headers. 2021-08-14 18:14:44 -07:00
xsavecintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
xsaveintrin.h [X86] Remove semicolons at the end of intrinsics implemented as macros so they can be used as arguments to other intrinsics. 2019-05-19 01:01:52 +00:00
xsaveoptintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
xsavesintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
xtestintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00