On Fri, Jan 06, 2017 at 10:31:21PM +0100, Mark Kettenis wrote:
> > 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?

Intrin.h is only used by windows, vecintrin.h only by s390intrin.h
the rest look fine as well.

The believe the reason clang installs all of these normally is as by
default the clang binary supports multiple targets but we enable
just one and the cross makefiles should pull the right headers
when needed, so yes ok jsg@

> 
> > > 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}
> > >  
> > > 
> > 
> 

Reply via email to