View previous topic :: View next topic |
Author |
Message |
hitchhiker2006 n00b
Joined: 13 Oct 2006 Posts: 8
|
Posted: Sat Jan 24, 2009 3:29 am Post subject: What is the arch for Intel Core Duo? |
|
|
What's the appropriate cflags -march setting for Intel Core Duo?
I've seen both pentium-m and prescott used, which one is it? |
|
Back to top |
|
|
desultory Bodhisattva
Joined: 04 Nov 2005 Posts: 9410
|
Posted: Sat Jan 24, 2009 3:59 am Post subject: |
|
|
Prescott. |
|
Back to top |
|
|
rrbrussell n00b
Joined: 21 Jun 2004 Posts: 64
|
Posted: Sun Jan 25, 2009 6:43 am Post subject: |
|
|
32-bit is prescott
64-bit is nocona |
|
Back to top |
|
|
desultory Bodhisattva
Joined: 04 Nov 2005 Posts: 9410
|
Posted: Sun Jan 25, 2009 7:56 am Post subject: |
|
|
Intel Core Duo is 32 bit, the Core 2 series introduced 64 bit instructions to the Core branded processors. |
|
Back to top |
|
|
Tech2008 n00b
Joined: 25 Jan 2009 Posts: 3
|
Posted: Sun Jan 25, 2009 6:03 pm Post subject: pentium-m and prescott |
|
|
march setting for Intel Core Duo?
I've seen both pentium-m and prescott used |
|
Back to top |
|
|
Naib Watchman
Joined: 21 May 2004 Posts: 6051 Location: Removed by Neddy
|
Posted: Sun Jan 25, 2009 6:22 pm Post subject: |
|
|
Code: |
head /etc/make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer"# -ggdb"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
CBUILD=${CHOST}
MAKEOPTS="-j4"
ACCEPT_KEYWORDS="~amd64"
|
_________________
Quote: | Removed by Chiitoo |
|
|
Back to top |
|
|
SlashBeast Retired Dev
Joined: 23 May 2006 Posts: 2922
|
Posted: Sun Jan 25, 2009 6:45 pm Post subject: |
|
|
-fomit-frame-pointer is set by -O2 on x86_64.
core2 != core duo
Quote: | prescott
Improved version of Intel Pentium4 CPU with MMX, SSE, SSE2 and
SSE3 instruction set support.
nocona
Improved version of Intel Pentium4 CPU with 64-bit extensions,
MMX, SSE, SSE2 and SSE3 instruction set support.
core2
Intel Core2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3
and SSSE3 instruction set support |
|
|
Back to top |
|
|
n00b_admin n00b
Joined: 22 Jan 2009 Posts: 13
|
Posted: Tue Jan 27, 2009 10:00 am Post subject: |
|
|
Intel Core 2 Duo T7200 here.
I use the "prescott" march since i'm running on 32 bit using gcc 4.1
Pay attention to the gcc version also. |
|
Back to top |
|
|
Geralt Apprentice
Joined: 14 Jun 2008 Posts: 150
|
Posted: Tue Jan 27, 2009 11:15 am Post subject: |
|
|
Also note that with GCC 4.2 you can just write -march=native |
|
Back to top |
|
|
diejengent n00b
Joined: 26 Sep 2012 Posts: 11
|
Posted: Wed Sep 26, 2012 11:13 am Post subject: |
|
|
I am very confused here....
My laptop contains: Intel Core Duo T2400 1.83 GHz, Family 6, Model 14
When I use the native option in gcc (latest version from portage september 2012) to determine my march, it returns "pentium-m".
The gentoo wiki suggests that my cpu is intel core duo and I should use "prescott" as march.
Which should I choose now? Or is the "pentium-m" option still better because of some kind of power management in the laptop?
Thanks in advance for your help |
|
Back to top |
|
|
fr3eatlast n00b
Joined: 21 Jul 2012 Posts: 41 Location: Marquette, MI
|
Posted: Wed Sep 26, 2012 7:30 pm Post subject: |
|
|
I would recommend looking at the Safe Cflags for Intel page which can be found here.
hth |
|
Back to top |
|
|
The Doctor Moderator
Joined: 27 Jul 2010 Posts: 2678
|
Posted: Wed Sep 26, 2012 8:16 pm Post subject: |
|
|
Use -march=native now. It does this automatically. _________________ First things first, but not necessarily in that order.
Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box. |
|
Back to top |
|
|
diejengent n00b
Joined: 26 Sep 2012 Posts: 11
|
Posted: Wed Sep 26, 2012 10:05 pm Post subject: |
|
|
Thanks for your responses.
But what about what is discussed at this link:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45483
gentoo uses an older version of gcc and it this seems to contain a bug.
Last edited by diejengent on Thu Sep 27, 2012 12:07 am; edited 1 time in total |
|
Back to top |
|
|
diejengent n00b
Joined: 26 Sep 2012 Posts: 11
|
Posted: Thu Sep 27, 2012 12:04 am Post subject: |
|
|
I have been doing some comparison with the following command:
echo "int main() { return 0; }" | gcc -march=prescott/pentium-m -v -Q -x c - 2>&1
The only difference is that prescott has the instruction -msse3 (SSE3) and pentium-m has not.
This is confirmed by the command cat /proc/cpuinfo which also seems to say my cpu has no SSE3.
How weird is it that the List of Intel microprocessors on Wikipedia says that my cpu DOES have SSE3?
I tried the program CPU-Z in Windows and this program indeed confirms my cpu has SSE3.
So how come in the Linux environment this is not recognized? |
|
Back to top |
|
|
diejengent n00b
Joined: 26 Sep 2012 Posts: 11
|
Posted: Thu Sep 27, 2012 5:07 pm Post subject: |
|
|
I have been doing some research myself.
My CPU indeed supports SSE3, but in Linux it not seen as sse3, but with the other name that is also used for it: PNI (Prescott New Instructions).
I emerged gcc-4.6.3 and compared it's output with the stable version 4.5.4 while using the -march=native option.
output from gcc-4.5.4:
/usr/libexec/gcc/i686-pc-linux-gnu/4.5.4/cc1 -E -quiet -v - -D_FORTIFY_SOURCE=2 -march=pentium-m --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=generic
output from gcc-4.6.3:
/usr/libexec/gcc/i686-pc-linux-gnu/4.6.3/cc1 -E -quiet -v - -march=pentium-m -mno-cx16 -mno-sahf -mno-movbe -mno-aes -mno-pclmul -mno-popcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mno-avx -mno-sse4.2 -mno-sse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=generic
Seems there is indeed a bug residing in gcc-4.5.4 which was already discussed and fixed (see here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45483).
Though, there is still one more bug remaining I think...
my CPU is an Intel Core Duo (in a laptop) and it has SSE3 (PNI in Linux), but march=native keeps saying my march is pentium-m. But with this march I am missing out on the SSE3 benefits.
What do you think? Am I right? Is this a 'bug'? |
|
Back to top |
|
|
|