From: Brad Smith Subject: Re: Missing ARM SVE header To: Mark Kettenis , robert@openbsd.org Cc: tech@openbsd.org, kettenis@openbsd.org Date: Fri, 21 Mar 2025 23:26:34 -0400 On 2025-03-20 5:37 p.m., Mark Kettenis wrote: >> Date: Sun, 9 Mar 2025 17:59:12 -0400 >> From: Brad Smith >> >> I have not run this through a build yet but I believe this is what >> is necessary. > Did you manage to run this through a build? I have been able to. arm64# pwd /dest/base/destdir/usr/lib/clang/16/include arm64# ls -la total 12320 drwxr-xr-x  2 root  bin      512 Mar 21 22:01 . drwxr-xr-x  4 root  bin      512 Mar 21 22:01 .. -r--r--r--  1 root  bin    26203 Mar 21 22:01 arm_acle.h -r--r--r--  1 root  bin      548 Mar 21 22:01 arm_bf16.h -r--r--r--  1 root  bin    33450 Mar 21 22:01 arm_cde.h -r--r--r--  1 root  bin     6357 Mar 21 22:01 arm_cmse.h -r--r--r--  1 root  bin    17325 Mar 21 22:01 arm_fp16.h -r--r--r--  1 root  bin  1554929 Mar 21 22:01 arm_mve.h -r--r--r--  1 root  bin  2567990 Mar 21 22:01 arm_neon.h -r--r--r--  1 root  bin     9708 Mar 21 22:01 arm_neon_sve_bridge.h -r--r--r--  1 root  bin  1584758 Mar 21 22:01 arm_sve.h -r--r--r--  1 root  bin    28895 Mar 21 22:01 intrin.h -r--r--r--  1 root  bin     3414 Mar 21 22:01 module.modulemap -r--r--r--  1 root  bin      583 Mar 21 22:01 stdalign.h -r--r--r--  1 root  bin     8077 Mar 21 22:01 stdatomic.h -r--r--r--  1 root  bin     1197 Mar 21 22:01 stdnoreturn.h -r--r--r--  1 root  bin    30389 Mar 21 22:01 tgmath.h -r--r--r--  1 root  bin    11477 Mar 21 22:01 unwind.h -r--r--r--  1 root  bin     1420 Mar 21 22:01 vadefs.h -r--r--r--  1 root  bin      477 Mar 21 22:01 varargs.h arm64# pwd /dest/base/destdir/usr/lib/clang/16/include arm64# ls -la /dest/base/release/ total 1050352 drwxr-xr-x  2 root   wheel        512 Mar 21 23:20 . drwxr-xr-x  4 root   wheel        512 Mar 21 21:57 .. -r-xr-xr-x  1 root   bin       233644 Mar 21 22:48 BOOTAA64.EFI -rw-r--r--  1 build  wheel         54 Mar 21 23:20 BUILDINFO -rw-r--r--  1 root   wheel      41786 Mar 21 23:20 INSTALL.arm64 -rw-r--r--  1 build  wheel       1034 Mar 21 23:20 SHA256 -rw-r--r--  1 build  wheel  352529050 Mar 21 23:19 base77.tgz -rwxr-xr-x  1 build  wheel   18749117 Mar 21 23:17 bsd -rwxr-xr-x  1 build  wheel   18849519 Mar 21 23:17 bsd.mp -rwxr-xr-x  1 root   wheel   18451446 Mar 21 23:20 bsd.rd -rw-r--r--  1 root   wheel   21471232 Mar 21 23:20 cd77.iso -rw-r--r--  1 build  wheel   80646071 Mar 21 23:19 comp77.tgz -rw-r--r--  1 build  wheel    2816842 Mar 21 23:19 game77.tgz -rw-r--r--  1 build  wheel    8482831 Mar 21 23:20 man77.tgz -rw-r--r--  1 root   wheel   45088768 Mar 21 23:20 miniroot77.img >> I was wondering why a projects compiler checks were failing for SVE but the >> commit message gave me a clue and sure enough our local build bits were >> missing installing the header once we jumped past the 14 release. Copying >> the header from the port resolved the issue. > Diff looks good to me. Don't think there is a huge risk of this > breaking stuff in ports. But it would be good to have another ok. > >> 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.27 >> diff -u -p -u -p -r1.27 Makefile >> --- gnu/usr.bin/clang/include/clang/intrin/Makefile 17 Dec 2024 13:22:38 -0000 1.27 >> +++ gnu/usr.bin/clang/include/clang/intrin/Makefile 9 Mar 2025 21:43:32 -0000 >> @@ -29,6 +29,9 @@ GEN+= arm_bf16.h >> GEN+= arm_mve.h >> GEN+= arm_cde.h >> HEADERS+= arm_acle.h arm_cmse.h ${GEN} >> +.if ${MACHINE_ARCH} == "aarch64" >> +HEADERS+= arm_neon_sve_bridge.h >> +.endif >> .elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" >> HEADERS+= __wmmintrin_aes.h \ >> __wmmintrin_pclmul.h \ >> Index: distrib/sets/lists/comp/clang.arm64 >> =================================================================== >> RCS file: /cvs/src/distrib/sets/lists/comp/clang.arm64,v >> retrieving revision 1.43 >> diff -u -p -u -p -r1.43 clang.arm64 >> --- distrib/sets/lists/comp/clang.arm64 27 Jan 2024 00:12:34 -0000 1.43 >> +++ distrib/sets/lists/comp/clang.arm64 9 Mar 2025 21:43:32 -0000 >> @@ -2881,6 +2881,7 @@ >> ./usr/lib/clang/16/include/arm_fp16.h >> ./usr/lib/clang/16/include/arm_mve.h >> ./usr/lib/clang/16/include/arm_neon.h >> +./usr/lib/clang/16/include/arm_neon_sve_bridge.h >> ./usr/lib/clang/16/include/arm_sve.h >> ./usr/lib/clang/16/include/intrin.h >> ./usr/lib/clang/16/include/module.modulemap >> >>