> Date: Sat, 7 Jan 2017 08:10:02 +1100 > From: Jonathan Gray <j...@jsg.id.au> > > 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} > > > > >