On Fri, Jan 06, 2017 at 05:26:36PM +0100, Mark Kettenis wrote:
> These are hardware-specific, so it makes sense to only install the
> ones relevant for the (target) hardware.
>
> ok?
Looking at the cmake files there is also a arm_neon.h
generated by llvm's tablegen.
>
>
> Index: gnu/usr.bin/clang/include/clang/intrin/Makefile
> ===================================================================
> RCS file: /cvs/src/gnu/usr.bin/clang/include/clang/intrin/Makefile,v
> retrieving revision 1.3
> diff -u -p -r1.3 Makefile
> --- gnu/usr.bin/clang/include/clang/intrin/Makefile 6 Jan 2017 14:44:34
> -0000 1.3
> +++ gnu/usr.bin/clang/include/clang/intrin/Makefile 6 Jan 2017 16:24:41
> -0000
> @@ -7,70 +7,70 @@ CLANG_INTR_INCDIR= /usr/lib/clang/${LLVM
>
> .PATH: ${.CURDIR}/../../../../../llvm/tools/clang/lib/Headers
>
> -HEADERS=adxintrin.h \
> - altivec.h \
> - ammintrin.h \
> - arm_acle.h \
> - avx2intrin.h \
> - avx512bwintrin.h \
> - avx512cdintrin.h \
> - avx512erintrin.h \
> - avx512fintrin.h \
> - avx512vlbwintrin.h \
> - avx512vlintrin.h \
> - avx512dqintrin.h \
> - avx512vldqintrin.h \
> - pkuintrin.h \
> - avxintrin.h \
> - bmi2intrin.h \
> - bmiintrin.h \
> - __clang_cuda_runtime_wrapper.h \
> - cpuid.h \
> - cuda_builtin_vars.h \
> - emmintrin.h \
> - f16cintrin.h \
> - fma4intrin.h \
> - fmaintrin.h \
> - fxsrintrin.h \
> - htmintrin.h \
> - htmxlintrin.h \
> - ia32intrin.h \
> - immintrin.h \
> - Intrin.h \
> - lzcntintrin.h \
> - mm3dnow.h \
> - mmintrin.h \
> - mm_malloc.h \
> - module.modulemap \
> - nmmintrin.h \
> - pmmintrin.h \
> - popcntintrin.h \
> - prfchwintrin.h \
> - rdseedintrin.h \
> - rtmintrin.h \
> - s390intrin.h \
> - shaintrin.h \
> - smmintrin.h \
> - stdalign.h \
> - stdatomic.h \
> - stdnoreturn.h \
> - tbmintrin.h \
> - tgmath.h \
> - tmmintrin.h \
> - unwind.h \
> - varargs.h \
> - vecintrin.h \
> - __wmmintrin_aes.h \
> - wmmintrin.h \
> - __wmmintrin_pclmul.h \
> - x86intrin.h \
> - xmmintrin.h \
> - xopintrin.h \
> - xsaveintrin.h \
> - xsaveoptintrin.h \
> - xsavecintrin.h \
> - xsavesintrin.h \
> - xtestintrin.h
> +HEADERS= stdalign.h \
> + stdatomic.h \
> + stdnoreturn.h \
> + tgmath.h \
> + unwind.h \
> + varargs.h \
> + module.modulemap \
> +
> +.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "arm"
> +HEADERS+= arm_acle.h
> +.elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
> +HEADERS+= adxintrin.h \
> + ammintrin.h \
> + avx2intrin.h \
> + avx512bwintrin.h \
> + avx512cdintrin.h \
> + avx512erintrin.h \
> + avx512fintrin.h \
> + avx512vlbwintrin.h \
> + avx512vlintrin.h \
> + avx512dqintrin.h \
> + avx512vldqintrin.h \
> + pkuintrin.h \
> + avxintrin.h \
> + bmi2intrin.h \
> + bmiintrin.h \
> + cpuid.h \
> + emmintrin.h \
> + f16cintrin.h \
> + fma4intrin.h \
> + fmaintrin.h \
> + fxsrintrin.h \
> + ia32intrin.h \
> + immintrin.h \
> + lzcntintrin.h \
> + mm3dnow.h \
> + mmintrin.h \
> + mm_malloc.h \
> + nmmintrin.h \
> + pmmintrin.h \
> + popcntintrin.h \
> + prfchwintrin.h \
> + rdseedintrin.h \
> + rtmintrin.h \
> + shaintrin.h \
> + smmintrin.h \
> + tbmintrin.h \
> + tmmintrin.h \
> + __wmmintrin_aes.h \
> + wmmintrin.h \
> + __wmmintrin_pclmul.h \
> + x86intrin.h \
> + xmmintrin.h \
> + xopintrin.h \
> + xsaveintrin.h \
> + xsaveoptintrin.h \
> + xsavecintrin.h \
> + xsavesintrin.h \
> + xtestintrin.h
> +.elif ${MACHINE_ARCH} == "powerpc"
> +HEADERS+= altivec.h \
> + htmintrin.h \
> + htmxlintrin.h
> +.endif
>
> all: ${HEADERS}
>
>