llvm-project/clang/lib/Headers
Craig Topper b3d447356f [X86] Reduce the number of FMA builtins needed by the frontend by adding negates to operands of the fmadd and fmaddsub builtins.
The backend should be able to combine the negates to create fmsub, fnmadd, and fnmsub. faddsub converting to fsubadd still needs work I think, but should be very doable.

This matches what we already do for the masked builtins.

This only covers the packed builtins. Scalar builtins will be done after FMA4 is fixed.

llvm-svn: 317873
2017-11-10 05:20:32 +00:00
..
cuda_wrappers [CUDA] Add device overloads for non-placement new/delete. 2017-09-07 00:37:20 +00:00
CMakeLists.txt [X86] Add CLWB intrinsic. clang part 2017-10-12 18:57:15 +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] Fix name of __activemask() 2017-10-02 17:50: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] Work around conflicting function definitions in CUDA-9 headers. 2017-09-27 19:07:15 +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
altivec.h [PPC] Make altivec conversion function macros. 2017-05-30 11:37:29 +00:00
ammintrin.h [DOXYGEN] Improved doxygen comments for x86 intrinsics headers. 2016-12-09 18:35:50 +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
avx2intrin.h [X86] Lower _mm[256|512]_[mask[z]]_avg_epu[8|16] intrinsics to native llvm IR 2017-09-12 07:46:32 +00:00
avx512bwintrin.h [X86] Replace the mask cmpeq/cmple/cmplt/cmpgt/cmpge/cmpneq intrinsics with macros that just pass the right comparison predicate value to the regular cmp intrinsic. Remove mask cmpeq/cmpgt builtins that are now unused. 2017-11-06 21:00:49 +00:00
avx512cdintrin.h lowering broadcastm 2017-11-06 07:04:12 +00:00
avx512dqintrin.h [X86] Implement broadcastf32x2 and broadcasti32x2 intrinsics using __builtin_shufflevector instead builtins 2017-08-30 16:15:12 +00:00
avx512erintrin.h
avx512fintrin.h [X86] Replace the mask cmpeq/cmple/cmplt/cmpgt/cmpge/cmpneq intrinsics with macros that just pass the right comparison predicate value to the regular cmp intrinsic. Remove mask cmpeq/cmpgt builtins that are now unused. 2017-11-06 21:00:49 +00:00
avx512ifmaintrin.h
avx512ifmavlintrin.h
avx512pfintrin.h
avx512vbmiintrin.h
avx512vbmivlintrin.h
avx512vlbwintrin.h [X86] Replace the mask cmpeq/cmple/cmplt/cmpgt/cmpge/cmpneq intrinsics with macros that just pass the right comparison predicate value to the regular cmp intrinsic. Remove mask cmpeq/cmpgt builtins that are now unused. 2017-11-06 21:00:49 +00:00
avx512vlcdintrin.h lowering broadcastm 2017-11-06 07:04:12 +00:00
avx512vldqintrin.h [X86] Implement broadcastf32x2 and broadcasti32x2 intrinsics using __builtin_shufflevector instead builtins 2017-08-30 16:15:12 +00:00
avx512vlintrin.h [X86] Replace the mask cmpeq/cmple/cmplt/cmpgt/cmpge/cmpneq intrinsics with macros that just pass the right comparison predicate value to the regular cmp intrinsic. Remove mask cmpeq/cmpgt builtins that are now unused. 2017-11-06 21:00:49 +00:00
avx512vpopcntdqintrin.h [X86] Adding avx512_vpopcntdq feature set and its intrinsics 2017-05-25 13:44:11 +00:00
avxintrin.h [X86][AVX] Ensure vector non-temporal load/store intrinsics force pointer alignment (PR33830) 2017-07-29 15:33:34 +00:00
bmi2intrin.h
bmiintrin.h [DOXYGEN] Corrected typos and incorrect parameters description. 2017-07-12 20:18:55 +00:00
clflushoptintrin.h [X86] Correct type for argument to clflushopt intrinsic. 2017-10-11 16:06:08 +00:00
clwbintrin.h [X86] Add CLWB intrinsic. clang part 2017-10-12 18:57:15 +00:00
clzerointrin.h [X86] Clzero flag addition and inclusion under znver1 2017-02-09 06:10:14 +00:00
cpuid.h [X86] Add more feature flag bit defines to cpuid.h for gcc compatibility. 2017-07-09 17:43:11 +00:00
emmintrin.h [X86] Lower _mm[256|512]_[mask[z]]_avg_epu[8|16] intrinsics to native llvm IR 2017-09-12 07:46:32 +00:00
f16cintrin.h Recommit r299321 '[X86] Add __extension__ to f16c macro intrinsics to suppress warnings about compound literals when compiled for with earlier language standards enabled.' 2017-04-03 22:59:30 +00:00
float.h This adds the _Float16 preprocessor macro definitions. 2017-09-13 15:23:19 +00:00
fma4intrin.h [X86] Reduce the number of FMA builtins needed by the frontend by adding negates to operands of the fmadd and fmaddsub builtins. 2017-11-10 05:20:32 +00:00
fmaintrin.h [X86] Reduce the number of FMA builtins needed by the frontend by adding negates to operands of the fmadd and fmaddsub builtins. 2017-11-10 05:20:32 +00:00
fxsrintrin.h [DOXYGEN] Improved doxygen comments for x86 intrinsics headers. 2016-12-09 18:35:50 +00:00
htmintrin.h
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 [X86] Add CLWB intrinsic. clang part 2017-10-12 18:57:15 +00:00
intrin.h [Headers] Fix the return type of _InterlockedCompareExchange_rel 2017-09-14 07:04:59 +00:00
inttypes.h
iso646.h
limits.h
lwpintrin.h [X86][LWP] Add clang support for LWP instructions. 2017-05-08 12:09:45 +00:00
lzcntintrin.h Add doxygen comments for lzcntintrin.h's intrinsics. 2016-11-18 06:26:01 +00:00
mm3dnow.h
mm_malloc.h
mmintrin.h [DOXYGEN] Corrected typos and incorrect parameters description. 2017-07-12 20:18:55 +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
nmmintrin.h
opencl-c.h [OpenCL] Remove extra select functions from opencl-c.h 2017-08-05 02:23:47 +00:00
pkuintrin.h
pmmintrin.h [DOXYGEN] Minor improvements in doxygen comments. 2017-05-15 03:25:04 +00:00
popcntintrin.h [DOXYGEN] Improved doxygen comments for x86 intrinsics headers. 2016-12-09 18:35:50 +00:00
prfchwintrin.h [DOXYGEN] Minor improvements in doxygen comments. 2017-05-15 03:25:04 +00:00
rdseedintrin.h
rtmintrin.h
s390intrin.h
shaintrin.h
smmintrin.h [DOXYGEN] Minor improvements in doxygen comments. 2017-05-15 03:25:04 +00:00
stdalign.h
stdarg.h Guard __gnuc_va_list typedef. 2017-01-23 19:09:21 +00:00
stdatomic.h Use __CLANG_ATOMIC_TYPE_LOCK_FREE macros in `stdatomic.h` 2017-04-20 23:07:38 +00:00
stdbool.h
stddef.h
stdint.h Headers: Make the type of SIZE_MAX the same as size_t 2017-04-27 21:49:45 +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 [DOXYGEN] Minor improvements in doxygen comments. 2017-05-15 03:25:04 +00:00
unwind.h [Headers] Fix typoed __ARM_DWARF_EH__ ifdefs 2017-10-19 07:40:45 +00:00
vadefs.h
varargs.h
vecintrin.h [SystemZ] Add support for IBM z14 processor (3/3) 2017-07-17 17:47:35 +00:00
wmmintrin.h
x86intrin.h [X86][LWP] Removing LWP todo comment. NFCI. 2017-05-09 17:43:16 +00:00
xmmintrin.h [DOXYGEN] Corrected several typos and incorrect parameters description that Sony's techinical writer found during review. 2017-06-06 22:58:01 +00:00
xopintrin.h [X86][XOP] Fix type conversion warning in vpcmov generic implementations. 2017-02-18 23:47:34 +00:00
xsavecintrin.h
xsaveintrin.h
xsaveoptintrin.h
xsavesintrin.h
xtestintrin.h