+ -
当前位置:首页 → 问答吧 → 我的cpu的march该选什么?

我的cpu的march该选什么?

时间:2009-09-28

来源:互联网

[wu@myhost ~]$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Genuine Intel(R) CPU T1600 @ 1.66GHz
stepping : 13
cpu MHz : 1666.511
cache size : 1024 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm lahf_lm
bogomips : 3334.89
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
-----------------------------------
下面的摘自LFS6.4;第一遍
由于 Glibc 不再支持 i386,Glibc 的开发者提示在为 X86 机器构建时使用编译选项 -march=i486,尽管其他方法也能做到,但是测试显示,最好的办法是将它传递给参数“CFLAGS”。为了不完全覆盖 Glibc 内部构建系统使用的 CFLAGS,使用特殊文件 configparms 将所需新选项附加到其原内容之后。由于设置了参数 -march,参数 -mtune 也会发生改变,使用 -mtune=native 将其设置为一个合理的值。

echo "CFLAGS += -march=i486 -mtune=native" > configparms
接下来,配置 Glibc 为编译做准备:

../glibc-2.8-20080929/configure --prefix=/tools \
--disable-profile --enable-add-ons \
--enable-kernel=2.6.0 --with-binutils=/tools/bin \
--without-gd --with-headers=/tools/include \
--without-selinux[wu@myhost ~]$

作者: zswlb9999   发布时间: 2009-09-28

这个是Atom么?

应该是x86和x86_64(amd64)都行,看到flags中的lm了。

作者: 至尊宝   发布时间: 2009-09-28

是神舟的本子
上面写:因特尔赛扬双核处理器T1600
CPU的类型我不熟悉。
我试过x86-64,
试试你的:
x86_64

作者: zswlb9999   发布时间: 2009-09-28

就是e2160的缩水版,或是赛扬420的双核版,-march=core

作者: kangtian   发布时间: 2009-09-28

-march=native 目前是适合所有 x86 平台CPU的。不用考虑太多。

有了native选项,其实今后只有针对 arm/mips 等架构的时候才需要考虑这个问题。

作者: poet   发布时间: 2009-09-29

http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel

作者: simdiak   发布时间: 2009-09-30

Atom 性能本来就差,跑 x86_64 还得去翻译代码来执行,真的 #@$%$#\!

据闻下版 gcc-4.5 将有针对性的 -march 供此鸡肋 U 用。

作者: d00m3d   发布时间: 2009-10-01

同问:
我的笔记本CPU是 CORE DUO T2350,gcc 中好象并没有这个选项,显然不能够用 CORE2,所以为了谨慎每次编译都是用的
引用:
-march=pentium-m
谁知道有更好的选择吗?因为这个U应该是支持 SSE3 的,用PENTIUM-M差别较大了。

作者: linux001   发布时间: 2009-10-03

pentium4 应该比 pentium-m 好一点吧

如果支持 sse3 应该可以选 -march=prescott

这些在 6 楼的连结已有详细说明

作者: d00m3d   发布时间: 2009-10-04

引用:
作者: d00m3d
pentium4 应该比 pentium-m 好一点吧

如果支持 sse3 应该可以选 -march=prescott

这些在 6 楼的连结已有详细说明
看到那个信息了,看起来确实应当用 prescott 。不过在内核编译的架构选项中,还是只有pentium-m,而没有 prescott 或者 core,不清楚为什么。

作者: linux001   发布时间: 2009-10-05

唤,不好意思,楼在说内核,我们却讨论 CFLAGS(gcc)的 -march,罪过了!

内核里应该有 P4 可还吧

作者: d00m3d   发布时间: 2009-10-05