The following reply was made to PR conf/112997; it has been noted by GNATS.
From: Anonymous <[email protected]> To: [email protected] Cc: Subject: Re: conf/112997: [patch] Add note about the 'native' mtune option to share/examples/etc/make.conf Date: Mon, 03 May 2010 15:18:33 +0400 I disagree, native and ${YOUR_CPU} aren't equivalent. Here is what I get on gcc45 + co...@amd64 system: $ cc -E -v -march=core2 - </dev/null |& fgrep cc1 .../cc1 -E -quiet -v - -march=core2 $ cc -E -v -mtune=core2 - </dev/null |& fgrep cc1 .../cc1 -E -quiet -v - -mtune=core2 -march=x86-64 $ cc -E -v -march=native - </dev/null |& fgrep cc1 .../cc1 -E -quiet -v - -march=core2 -mcx16 -msahf -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=core2 $ cc -E -v -mtune=native - </dev/null |& fgrep cc1 .../cc1 -E -quiet -v - --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -mtune=core2 -march=x86-64 And bsd.cpu.mk is oblivious about gcc43+. It will degrade native to nocona even though core2 is supported. Good example that overriding CPUTYPE is bad idea. Better leave CPUTYPE as is and populate MACHINE_CPU directly, smth like $ cat a.mk CPUTYPE = ${MACHINE_ARCH} MACHINE_CPU != echo ${MACHINE_ARCH}; ${CC} -E -dM -v -march=${CPUTYPE:S/amd64/x86-64/:S/i386/i486/} - </dev/null 2>&1 \ | awk '/SSE|MMX/ && !/MATH/ { FS="__"; gsub("_",".",$$2); print tolower($$2) }' $ make -f a.mk -V MACHINE_CPU amd64 mmx sse2 sse $ make -f a.mk -V MACHINE_CPU CPUTYPE=native amd64 sse4.1 mmx sse2 ssse3 sse sse3 $ make -f a.mk -V MACHINE_CPU CPUTYPE=native CC=/usr/bin/cc amd64 mmx sse sse2 sse3 _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "[email protected]"
