llvm-project/clang/lib/Headers
Jinsong Ji 5309189d9b [PowerPC][Altivec] Fix constant argument for vec_dss
Summary:
This is similar to vec_ct* in https://reviews.llvm.org/rL304205.

The argument must be a constant, otherwise instruction selection
will fail. always_inline is not enough for isel to always fold
everything away at -O0.

The fix is to turn the function into macros in altivec.h.

Fixes https://bugs.llvm.org/show_bug.cgi?id=43072

Reviewers: nemanjai, hfinkel, #powerpc, wuzish

Reviewed By: #powerpc, wuzish

Subscribers: wuzish, kbarton, MaskRay, shchenz, cfe-commits

Tags: #clang

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

llvm-svn: 370902
2019-09-04 14:01:47 +00:00
..
cuda_wrappers [CUDA] Added missing 'inline' for functions defined in a header. 2018-12-07 22:20:53 +00:00
openmp_wrappers [OpenMP][Clang][BugFix] Split declares and math functions inclusion. 2019-05-13 22:11:44 +00:00
ppc_wrappers [PowerPC] [Clang] Port SSE3, SSSE3 and SSE4 intrinsics to PowerPC 2019-08-09 03:39:55 +00:00
CMakeLists.txt [PowerPC] [Clang] Port SSE3, SSSE3 and SSE4 intrinsics to PowerPC 2019-08-09 03:39:55 +00:00
__clang_cuda_builtin_vars.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
__clang_cuda_cmath.h [OpenMP][bugfix] Add missing math functions variants for log and abs. 2019-05-17 19:15:53 +00:00
__clang_cuda_complex_builtins.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
__clang_cuda_device_functions.h [OpenMP][bugfix] Fix issues with C++ 17 compilation when handling math functions 2019-05-15 20:18:21 +00:00
__clang_cuda_intrinsics.h [CUDA] Use activemask.b32 instruction to implement __activemask w/ CUDA-9.2+ 2019-09-03 17:31:58 +00:00
__clang_cuda_libdevice_declares.h [OpenMP][Clang] Support for target math functions 2019-05-08 15:52:33 +00:00
__clang_cuda_math_forward_declares.h [OpenMP][bugfix] Add missing math functions variants for log and abs. 2019-05-17 19:15:53 +00:00
__clang_cuda_runtime_wrapper.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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][Altivec] Fix constant argument for vec_dss 2019-09-04 14:01:47 +00:00
ammintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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] Add support for Transactional Memory Extension (TME) 2019-07-31 12:52:17 +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] Restore the pavg intrinsics. 2019-04-15 17:17:35 +00: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] Correct the __min_vector_width__ attribute on a few intrinsics. 2019-06-19 23:27:04 +00:00
avx512cdintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512dqintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512erintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512fintrin.h [x86] Fix bugs of some intrinsic functions in CLANG : _mm512_stream_ps, _mm512_stream_pd, _mm512_stream_si512 2019-09-03 02:06:15 +00: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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vlcdintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vldqintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vlintrin.h [X86] Make _mm_mask_cvtps_ph, _mm_maskz_cvtps_ph, _mm256_mask_cvtps_ph, and _mm256_maskz_cvtps_ph aliases for their corresponding cvt_roundps_ph intrinsic. 2019-06-20 18:24:29 +00:00
avx512vlvbmi2intrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
avx512vlvnniintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
bmi2intrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
bmiintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
cetintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
cldemoteintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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 [clang] Fixed x86 cpuid NSC signature 2019-08-10 10:14:01 +00:00
emmintrin.h [X86] Remove const from some intrinsics that shouldn't have them 2019-07-22 16:14:09 +00:00
enqcmdintrin.h [X86] Add ENQCMD instructions 2019-06-06 08:28:42 +00:00
f16cintrin.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
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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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
ia32intrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
immintrin.h [X86] Add ENQCMD instructions 2019-06-06 08:28:42 +00:00
intrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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
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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
mmintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
module.modulemap [OpenCL] Split type and macro definitions into opencl-c-base.h 2019-06-19 12:48:22 +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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
mwaitxintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
nmmintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
opencl-c-base.h [OpenCL] Fix lang mode predefined macros for C++ mode. 2019-08-12 10:44:07 +00:00
opencl-c.h [OpenCL] Fix declaration of enqueue_marker 2019-08-22 11:18:59 +00: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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
popcntintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
prfchwintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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
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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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 Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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 - arch13 2019-07-12 18:14:51 +00:00
vpclmulqdqintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
waitpkgintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
wbnoinvdintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
wmmintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
x86intrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
xmmintrin.h [X86] Change the IR sequence for _mm_storeh_pi and _mm_storel_pi to perform the store as a <2 x float> instead of i64. 2019-07-10 17:11:29 +00:00
xopintrin.h Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00: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