PERFORCE change 60333 for review
Peter Wemm
peter at FreeBSD.org
Mon Aug 23 16:52:56 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=60333
Change 60333 by peter at peter_daintree on 2004/08/23 23:52:19
Put on peril senstitive sunglasses and add the two key CPUTYPES for
the amd64 platform. Note that there is no minimum common switch. For
example, -march=nocona assumes sse3, while -march=k8 assumes ffreep etc.
Perhaps the default no-CPUTYPE case should be
"-march=nocona -mno-sse3 -mtune=k8" (since there are several orders of
magnitude more k8 cores out there right now, but that code should even run
on all the prescott/noconas out there too.)
Note that this needs to be done on RELENG_5 too. :-(
While here, add the i386's prescott/nocona support. Treat them
both as prescott since the 64 bit instructions are irrelevant.
Likewise, alias prescott for nocona for the amd64 side of the fence.
Affected files ...
.. //depot/projects/hammer/share/mk/bsd.cpu.mk#19 edit
Differences ...
==== //depot/projects/hammer/share/mk/bsd.cpu.mk#19 (text+ko) ====
@@ -12,6 +12,7 @@
_CPUCFLAGS = -mcpu=ev4 -mtune=ev5
MACHINE_CPU = ev4
. elif ${MACHINE_ARCH} == "amd64"
+_CPUCFLAGS =
MACHINE_CPU = amd64 sse2 sse
. elif ${MACHINE_ARCH} == "ia64"
_CPUCFLAGS =
@@ -28,7 +29,9 @@
# between e.g. i586 and pentium)
. if ${MACHINE_ARCH} == "i386"
-. if ${CPUTYPE} == "pentium4"
+. if ${CPUTYPE} == "nocona"
+CPUTYPE = prescott
+. elif ${CPUTYPE} == "pentium4"
CPUTYPE = p4
. elif ${CPUTYPE} == "pentium3"
CPUTYPE = p3
@@ -43,6 +46,12 @@
. elif ${CPUTYPE} == "k7"
CPUTYPE = athlon
. endif
+. elif ${MACHINE_ARCH} == "amd64"
+. if ${CPUTYPE} == "athlon64" || ${CPUTYPE} == "opteron"
+CPUTYPE = k8
+. elif ${CPUTYPE} == "prescott"
+CPUTYPE = nocona
+. endif
. endif
# Logic to set up correct gcc optimization flag. This must be included
@@ -71,6 +80,9 @@
. elif ${CPUTYPE} == "k5"
_CPUCFLAGS = -march=pentium
_ICC_CPUCFLAGS = -tpp5
+. elif ${CPUTYPE} == "prescott"
+_CPUCFLAGS = -march=prescott
+_ICC_CPUCFLAGS = -tpp7 -xiMKW
. elif ${CPUTYPE} == "p4"
_CPUCFLAGS = -march=pentium4
_ICC_CPUCFLAGS = -tpp7 -xiMKW
@@ -109,6 +121,12 @@
. elif ${CPUTYPE} == "ev4"
_CPUCFLAGS = -mcpu=ev4
. endif
+. elif ${MACHINE_ARCH} == "amd64"
+. if ${CPUTYPE} == "k8"
+_CPUCFLAGS = -march=k8
+. elif ${CPUTYPE} == "nocona"
+_CPUCFLAGS = -march=nocona
+. endif
. endif
# Set up the list of CPU features based on the CPU type. This is an
@@ -127,6 +145,8 @@
MACHINE_CPU = mmx k6 k5 i586 i486 i386
. elif ${CPUTYPE} == "k5"
MACHINE_CPU = k5 i586 i486 i386
+. elif ${CPUTYPE} == "prescott"
+MACHINE_CPU = sse3 sse2 sse i686 mmx i586 i486 i386
. elif ${CPUTYPE} == "p4"
MACHINE_CPU = sse2 sse i686 mmx i586 i486 i386
. elif ${CPUTYPE} == "p3"
@@ -159,7 +179,13 @@
MACHINE_CPU = ev4
. endif
. elif ${MACHINE_ARCH} == "amd64"
-MACHINE_CPU = amd64 sse2 sse
+. if ${CPUTYPE} == "k8"
+MACHINE_CPU = amd64 3dnow sse2 sse i686 mmx i586 i486 i386
+. elif ${CPUTYPE} == "nocona"
+MACHINE_CPU = amd64 sse3 sse2 sse i686 mmx i586 i486 i386
+. else
+MACHINE_CPU = amd64 sse2 sse i686 mmx i586 i486 i386
+. endif
. elif ${MACHINE_ARCH} == "ia64"
. if ${CPUTYPE} == "itanium"
MACHINE_CPU = itanium
More information about the p4-projects
mailing list