diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf index ca0ea36a77ad..613eb026761d 100644 --- a/share/examples/etc/make.conf +++ b/share/examples/etc/make.conf @@ -44,8 +44,9 @@ # if omitted), ultrasparc3 # Additionally the following CPU types are recognized by clang: # Intel x86 architecture (for both amd64 and i386): -# (AMD CPUs) bdver3, bdver2, bdver1, btver2, btver1 -# (Intel CPUs) slm, core-avx2, core-avx-i, corei7-avx, corei7, atom +# (AMD CPUs) bdver4, bdver3, bdver2, bdver1, btver2, btver1 +# (Intel CPUs) skylake, knl, broadwell, haswell, ivybridge, +# sandybridge, westmere, nehalem, silvermont, bonnell # # (?= allows to buildworld for a different CPUTYPE.) # diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk index da5f5f2d38e0..4b619086963b 100644 --- a/share/mk/bsd.cpu.mk +++ b/share/mk/bsd.cpu.mk @@ -24,41 +24,50 @@ MACHINE_CPU = mips # Handle aliases (not documented in make.conf to avoid user confusion # between e.g. i586 and pentium) -. if ${MACHINE_CPUARCH} == "i386" +. if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" . if ${CPUTYPE} == "barcelona" CPUTYPE = amdfam10 -. elif ${CPUTYPE} == "k7" -CPUTYPE = athlon -. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" -CPUTYPE = corei7 +. elif ${CPUTYPE} == "core-avx2" +CPUTYPE = haswell +. elif ${CPUTYPE} == "core-avx-i" +CPUTYPE = ivybridge +. elif ${CPUTYPE} == "corei7-avx" +CPUTYPE = sandybridge +. elif ${CPUTYPE} == "corei7" +CPUTYPE = nehalem +. elif ${CPUTYPE} == "slm" +CPUTYPE = silvermont +. elif ${CPUTYPE} == "atom" +CPUTYPE = bonnell . elif ${CPUTYPE} == "core" CPUTYPE = prescott -. elif ${CPUTYPE} == "p4" -CPUTYPE = pentium4 -. elif ${CPUTYPE} == "p4m" -CPUTYPE = pentium4m -. elif ${CPUTYPE} == "p3" -CPUTYPE = pentium3 -. elif ${CPUTYPE} == "p3m" -CPUTYPE = pentium3m -. elif ${CPUTYPE} == "p-m" -CPUTYPE = pentium-m -. elif ${CPUTYPE} == "p2" -CPUTYPE = pentium2 -. elif ${CPUTYPE} == "i686" -CPUTYPE = pentiumpro -. elif ${CPUTYPE} == "i586/mmx" -CPUTYPE = pentium-mmx -. elif ${CPUTYPE} == "i586" -CPUTYPE = pentium . endif -. elif ${MACHINE_CPUARCH} == "amd64" -. if ${CPUTYPE} == "barcelona" -CPUTYPE = amdfam10 -. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" -CPUTYPE = corei7 -. elif ${CPUTYPE} == "prescott" +. if ${MACHINE_CPUARCH} == "amd64" +. if ${CPUTYPE} == "prescott" CPUTYPE = nocona +. endif +. else +. if ${CPUTYPE} == "k7" +CPUTYPE = athlon +. elif ${CPUTYPE} == "p4" +CPUTYPE = pentium4 +. elif ${CPUTYPE} == "p4m" +CPUTYPE = pentium4m +. elif ${CPUTYPE} == "p3" +CPUTYPE = pentium3 +. elif ${CPUTYPE} == "p3m" +CPUTYPE = pentium3m +. elif ${CPUTYPE} == "p-m" +CPUTYPE = pentium-m +. elif ${CPUTYPE} == "p2" +CPUTYPE = pentium2 +. elif ${CPUTYPE} == "i686" +CPUTYPE = pentiumpro +. elif ${CPUTYPE} == "i586/mmx" +CPUTYPE = pentium-mmx +. elif ${CPUTYPE} == "i586" +CPUTYPE = pentium +. endif . endif . elif ${MACHINE_ARCH} == "sparc64" . if ${CPUTYPE} == "us" @@ -140,7 +149,9 @@ _CPUCFLAGS = -mcpu=ultrasparc3 # presence of a CPU feature. . if ${MACHINE_CPUARCH} == "i386" -. if ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \ +. if ${CPUTYPE} == "bdver4" +MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 +. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \ ${CPUTYPE} == "bdver1" MACHINE_CPU = xop avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 . elif ${CPUTYPE} == "btver2" @@ -165,15 +176,18 @@ MACHINE_CPU = 3dnow mmx k6 k5 i586 MACHINE_CPU = mmx k6 k5 i586 . elif ${CPUTYPE} == "k5" MACHINE_CPU = k5 i586 -. elif ${CPUTYPE} == "core-avx2" +. elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "knl" +MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 +. elif ${CPUTYPE} == "broadwell" || ${CPUTYPE} == "haswell" MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 -. elif ${CPUTYPE} == "core-avx-i" || ${CPUTYPE} == "corei7-avx" +. elif ${CPUTYPE} == "ivybridge" || ${CPUTYPE} == "sandybridge" MACHINE_CPU = avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 -. elif ${CPUTYPE} == "slm" || ${CPUTYPE} == "corei7" +. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" || \ + ${CPUTYPE} == "silvermont" MACHINE_CPU = sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 . elif ${CPUTYPE} == "penryn" MACHINE_CPU = sse41 ssse3 sse3 sse2 sse i686 mmx i586 -. elif ${CPUTYPE} == "atom" || ${CPUTYPE} == "core2" +. elif ${CPUTYPE} == "core2" || ${CPUTYPE} == "bonnell" MACHINE_CPU = ssse3 sse3 sse2 sse i686 mmx i586 . elif ${CPUTYPE} == "yonah" || ${CPUTYPE} == "prescott" MACHINE_CPU = sse3 sse2 sse i686 mmx i586 @@ -203,7 +217,9 @@ MACHINE_CPU = mmx . endif MACHINE_CPU += i486 . elif ${MACHINE_CPUARCH} == "amd64" -. if ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \ +. if ${CPUTYPE} == "bdver4" +MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3 +. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \ ${CPUTYPE} == "bdver1" MACHINE_CPU = xop avx sse42 sse41 ssse3 sse4a sse3 . elif ${CPUTYPE} == "btver2" @@ -218,15 +234,18 @@ MACHINE_CPU = k8 3dnow sse3 . elif ${CPUTYPE} == "opteron" || ${CPUTYPE} == "athlon64" || \ ${CPUTYPE} == "athlon-fx" || ${CPUTYPE} == "k8" MACHINE_CPU = k8 3dnow -. elif ${CPUTYPE} == "core-avx2" +. elif ${CPUTYPE} == "skylake" || ${CPUTYPE} == "knl" +MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 +. elif ${CPUTYPE} == "broadwell" || ${CPUTYPE} == "haswell" MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3 -. elif ${CPUTYPE} == "core-avx-i" || ${CPUTYPE} == "corei7-avx" +. elif ${CPUTYPE} == "ivybridge" || ${CPUTYPE} == "sandybridge" MACHINE_CPU = avx sse42 sse41 ssse3 sse3 -. elif ${CPUTYPE} == "slm" || ${CPUTYPE} == "corei7" +. elif ${CPUTYPE} == "westmere" || ${CPUTYPE} == "nehalem" || \ + ${CPUTYPE} == "silvermont" MACHINE_CPU = sse42 sse41 ssse3 sse3 . elif ${CPUTYPE} == "penryn" MACHINE_CPU = sse41 ssse3 sse3 -. elif ${CPUTYPE} == "atom" || ${CPUTYPE} == "core2" +. elif ${CPUTYPE} == "core2" || ${CPUTYPE} == "bonnell" MACHINE_CPU = ssse3 sse3 . elif ${CPUTYPE} == "nocona" MACHINE_CPU = sse3