# Compiling kernel 12.0-STABLE, support.S requires: AVX-512 ISA



## escape (Oct 17, 2019)

The kernel needed to be compiled to use a new device. The compile failed and stopped. The current source code gave an error last in this post and stopped with or without the new device setting (a usb WLAN device) and the following make.conf settings.

The kernel was:

```
svn checkout https://svn.freebsd.org/base/stable/12 /usr/src
svn update /usr/src
Updating '.':
At revision 353679.
```

make.conf

```
#MACHINE?=amd64
#CPUTYPE?=skylake
#NO_CPU_CFLAGS=
```

The kernel file has:

```
cpu             HAMMER
machine         amd64
makeoptions     DEBUG=-g
makeoptions     WITH_CTF=1
```

After searching, the AVX-512 is an Intel floating point addition to 'skylake' processor. The processor is Intel mobile i5 and previously the 'skylake' was the correct choice. There is additionally a 'skylake-avx512' setting available as a 'CPUTYPE' not used. As if clang has 'skylake' option. I have not checked the assembler code mnemonics to which processor the errors belong. The file 'support.S' is included somehow. Maby it should not be included. I've tried 12-RC1 source code and it did the same. What is needed is the graphics driver and the text 'skylake' is because of this, nice.

What is wrong with this compile, how do I fix this?


```
cc -target x86_64-unknown-freebsd12.1 --sysroot=/data/obj/usr/src/amd64.amd64/tmp -B/data/obj/usr/src/amd64.amd64/tmp/usr/bin -c -x assembler-with-cpp -DLOCORE -O2 -pipe -fno-strict-aliasing  -g -nostdinc  -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h  -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -MD  -MF.depend.support.o -MTsupport.o -fdebug-prefix-map=./machine=/usr/src/sys/amd64/include -fdebug-prefix-map=./x86=/usr/src/sys/x86/include -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-value -Wno-address-of-packed-member  -mno-aes -mno-avx  -std=iso9899:1999  -Werror /usr/src/sys/amd64/amd64/support.S
/usr/src/sys/amd64/amd64/support.S:1821:2: error: instruction requires: AVX-512 ISA
 vmovdqa64 %zmm0, %gs:0x340
 ^
/usr/src/sys/amd64/amd64/support.S:1822:2: error: instruction requires: AVX-512 ISA
 vpxor %zmm0, %zmm0, %zmm0
 ^
/usr/src/sys/amd64/amd64/support.S:1825:2: error: instruction requires: AVX-512 DQ ISA
 vorpd (%rdx), %zmm0, %zmm0
 ^
/usr/src/sys/amd64/amd64/support.S:1826:2: error: instruction requires: AVX-512 DQ ISA
 vorpd (%rdx), %zmm0, %zmm0
 ^
/usr/src/sys/amd64/amd64/support.S:1838:2: error: instruction requires: AVX-512 ISA
 vmovdqa64 %gs:0x340, %zmm0
 ^
*** Error code 1

Stop.
```

escape


----------

