From nobody Sun Apr 21 19:06:42 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4VMyXz2CCCz5HXnR; Sun, 21 Apr 2024 19:06:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VMyXy6gDhz4frd; Sun, 21 Apr 2024 19:06:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713726403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pu09OavuUy8WOKR7QBmNxeuvlc5gPy37PjHk5MM/oaA=; b=EhH3JNnIQ4Nmfe+rNrGN1snCETEjWACYztOocuos8bT6iOr3WER/n0b9J/mWyPL+gPy+/v pbW7QbNIAUyVm8406hxWRidnv37/buVjHIfWD8TxEsy1TeaN8o1px+zP36v7Q8M+rLHF4Z +I9hGPD+IiEL4BuIb33A/vipHsqTdkGXJTdGzLroeE94/uLCTMuR6v5IUGZwZaKq8pi+39 fvuovbTEmJstyf3JCkJ6vALn4un2BpV9oPV5Xa3AKv5yhE3MemSR1QADe21IC+GXkRZJQF jFq6w1gnLnIdma/ARoky2Z1NgAP+IVaq+gf0YdFVVzH+/i4RhnJepZxTe6q+0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1713726402; a=rsa-sha256; cv=none; b=J/XlKfH1pMoXbW8hJiV/jKwS3XnmRWt7Laqe+SPuOavf2cdoW+O/Qxfii6VdSFxILmIZa2 /Pbe4V16v1ukzasDJS4q/ywxdnfd+h8iz2BksvrFAnH/FD3PpjAXeHwZHpRCtqYzz3jQE0 7HwGV1eSq5AMc4hq6OKMiG8aWgBmT9d0GTxd+6BWgbIEzmGDMWqNffVb8bUb4Wnklc+bXL GLsFklCDvk4wTA4IfuFpRsukbXT7wjHr6JV7IEzeGaIWFd1Z3mhCrRbNDORXb+/vH4XU3T Vk6ruLxR9WuHsGHRNsrHeWI226IdJ4WBm8iQVmNSErec/ECol9RC/TiObbED4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1713726402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pu09OavuUy8WOKR7QBmNxeuvlc5gPy37PjHk5MM/oaA=; b=mp+OAPmXdJfvR/gKm0tzKdwep67rgCp1REaqFhWG2weyEL4zJmvYSbUvYL4YNgJvzUI5A4 0MPPetIU8FQbU9Ld1MeNbcfSJI4xbKPqIMXyxQV0k6bIDhvdSjNUlM8BA4PsUFHRds5X14 pI/mMLNiggsJYo+clHVhyYEt12SYvBL+kIRGSIAaHxMGNTnF6buklqwI4LvM9ZxaslGWKg 56pMLXUbqJiW2XNAhN4gxf71vEYvTG89bI3+2Fk54d8S6rkm2rxmAy1Yq/fJLRzVOG8oz9 MmuAyAqZKmHOD+sTW35zBf+10Ab1n99wIijEveiPxZritSMXYnwsStAm7m7cag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4VMyXy6H9lzGtM; Sun, 21 Apr 2024 19:06:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43LJ6ggY029393; Sun, 21 Apr 2024 19:06:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43LJ6gjp029390; Sun, 21 Apr 2024 19:06:42 GMT (envelope-from git) Date: Sun, 21 Apr 2024 19:06:42 GMT Message-Id: <202404211906.43LJ6gjp029390@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: b449894978b5 - stable/13 - share/mk/bsd.cpu.mk: add F16C feature for i386 and amd64 architectures List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b449894978b56651bc8d2a19b03c4af67e4ec59c Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=b449894978b56651bc8d2a19b03c4af67e4ec59c commit b449894978b56651bc8d2a19b03c4af67e4ec59c Author: Dimitry Andric AuthorDate: 2024-04-18 17:46:57 +0000 Commit: Dimitry Andric CommitDate: 2024-04-21 19:02:09 +0000 share/mk/bsd.cpu.mk: add F16C feature for i386 and amd64 architectures As discussed in bug 278417, some ports require the F16C instruction set to compile, but there is no way yet to detect whether the currently chosen CPUTYPE supports this feature. Add the feature to the MACHINE_CPU variable, for each processor that supports it. The list of processors was extracted from clang 18's -dM output, filtered on the __F16C__ define. PR: 278417 Reviewed by: brooks, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D44848 (cherry picked from commit 2fd73b7126d7d7e5701e001af929411ce7a0c5f1) --- share/mk/bsd.cpu.mk | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk index c3c19e2befa4..2e2ec9d82af9 100644 --- a/share/mk/bsd.cpu.mk +++ b/share/mk/bsd.cpu.mk @@ -160,17 +160,18 @@ _CPUCFLAGS = -mcpu=${CPUTYPE} ########## i386 . if ${MACHINE_CPUARCH} == "i386" . if ${CPUTYPE} == "znver4" -MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 +MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 f16c . elif ${CPUTYPE} == "znver3" || ${CPUTYPE} == "znver2" || \ ${CPUTYPE} == "znver1" -MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 +MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 f16c . elif ${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 avx2 avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 f16c +. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" +MACHINE_CPU = xop avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 f16c +. elif ${CPUTYPE} == "bdver1" MACHINE_CPU = xop avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 . elif ${CPUTYPE} == "btver2" -MACHINE_CPU = avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 +MACHINE_CPU = avx sse42 sse41 ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 f16c . elif ${CPUTYPE} == "btver1" MACHINE_CPU = ssse3 sse4a sse3 sse2 sse mmx k6 k5 i586 . elif ${CPUTYPE} == "amdfam10" @@ -197,12 +198,14 @@ MACHINE_CPU = k5 i586 ${CPUTYPE} == "cannonlake" || ${CPUTYPE} == "knm" || \ ${CPUTYPE} == "skylake-avx512" || ${CPUTYPE} == "knl" || \ ${CPUTYPE} == "x86-64-v4" -MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 +MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 f16c . elif ${CPUTYPE} == "alderlake" || ${CPUTYPE} == "skylake" || \ ${CPUTYPE} == "broadwell" || ${CPUTYPE} == "haswell" || \ ${CPUTYPE} == "x86-64-v3" -MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 -. elif ${CPUTYPE} == "ivybridge" || ${CPUTYPE} == "sandybridge" +MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 f16c +. elif ${CPUTYPE} == "ivybridge" +MACHINE_CPU = avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 f16c +. elif ${CPUTYPE} == "sandybridge" MACHINE_CPU = avx sse42 sse41 ssse3 sse3 sse2 sse i686 mmx i586 . elif ${CPUTYPE} == "tremont" || ${CPUTYPE} == "goldmont-plus" || \ ${CPUTYPE} == "goldmont" || ${CPUTYPE} == "westmere" || \ @@ -243,17 +246,18 @@ MACHINE_CPU += i486 ########## amd64 . elif ${MACHINE_CPUARCH} == "amd64" . if ${CPUTYPE} == "znver4" -MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse4a sse3 +MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse4a sse3 f16c . elif ${CPUTYPE} == "znver3" || ${CPUTYPE} == "znver2" || \ ${CPUTYPE} == "znver1" -MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse4a sse3 +MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse4a sse3 f16c . elif ${CPUTYPE} == "bdver4" -MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3 -. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" || \ - ${CPUTYPE} == "bdver1" +MACHINE_CPU = xop avx2 avx sse42 sse41 ssse3 sse4a sse3 f16c +. elif ${CPUTYPE} == "bdver3" || ${CPUTYPE} == "bdver2" +MACHINE_CPU = xop avx sse42 sse41 ssse3 sse4a sse3 f16c +. elif ${CPUTYPE} == "bdver1" MACHINE_CPU = xop avx sse42 sse41 ssse3 sse4a sse3 . elif ${CPUTYPE} == "btver2" -MACHINE_CPU = avx sse42 sse41 ssse3 sse4a sse3 +MACHINE_CPU = avx sse42 sse41 ssse3 sse4a sse3 f16c . elif ${CPUTYPE} == "btver1" MACHINE_CPU = ssse3 sse4a sse3 . elif ${CPUTYPE} == "amdfam10" @@ -270,12 +274,14 @@ MACHINE_CPU = k8 3dnow ${CPUTYPE} == "cannonlake" || ${CPUTYPE} == "knm" || \ ${CPUTYPE} == "skylake-avx512" || ${CPUTYPE} == "knl" || \ ${CPUTYPE} == "x86-64-v4" -MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 +MACHINE_CPU = avx512 avx2 avx sse42 sse41 ssse3 sse3 f16c . elif ${CPUTYPE} == "alderlake" || ${CPUTYPE} == "skylake" || \ ${CPUTYPE} == "broadwell" || ${CPUTYPE} == "haswell" || \ ${CPUTYPE} == "x86-64-v3" -MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3 -. elif ${CPUTYPE} == "ivybridge" || ${CPUTYPE} == "sandybridge" +MACHINE_CPU = avx2 avx sse42 sse41 ssse3 sse3 f16c +. elif ${CPUTYPE} == "ivybridge" +MACHINE_CPU = avx sse42 sse41 ssse3 sse3 f16c +. elif ${CPUTYPE} == "sandybridge" MACHINE_CPU = avx sse42 sse41 ssse3 sse3 . elif ${CPUTYPE} == "tremont" || ${CPUTYPE} == "goldmont-plus" || \ ${CPUTYPE} == "goldmont" || ${CPUTYPE} == "westmere" || \