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

Reply via email to