> Date: Sat, 7 Jan 2017 08:10:02 +1100
> From: Jonathan Gray <[email protected]>
>
> 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.
I suppose that needs some additional Makefile magic. I'd say it's a
separate issue though. So ok in this diff as a first step?
> > 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}
> >
> >
>