|
发表于 2003-8-10 08:22:46
|
显示全部楼层
最初由 DimAngel 发表
这个比较正常,这个主要跟gcc和系统的稳定行有关。
例如4.x 用的编译器是gcc 2.95, 即使你使用CPU_CTYPE=p4,gcc也只能以pentiumpro来优化代码。
在5.x release中则是gcc 3.2 则是可以用pentium3 来优化代码。虽然gcc 3.2 完全支持用pentium4 来优化代码。但是gcc > 3.1 在使用Athlon-4 和pentium4 来优化代码的时候会产生一些invaild instructions。 在Gentoo Linux中也提到这个问题:
# ATHLON-4 will generate invalid SSE instructions; use 'athlon' instead.
# PENTIUM4 will generate invalid instructions; use 'pentium3' instead.
所以为了系统的稳定性,系统自动以低一级的CPU_TYPE 来进行编译。
在5.x current中,gcc为3.3.1,如果你的CPU_TYPE 为p4,则会用pentium4进行编译。
如果你用4.8,gcc 2.95 只支持到K6
如果你用5.1,gcc 3.2 可以支持到Athlon-mp Athlon-XP等。 但是请注意CPU_TYPE 的写法, gcc 任何一个版本都不支持K7。
# Currently the following CPU types are recognized:
# Intel x86 architecture:
# (AMD CPUs) athlon-mp athlon-xp athlon-4 athlon-tbird athlon k6-3
# k6-2 k6 k5
# (Intel CPUs) p4 p3 p2 i686 i586/mmx i586 i486 i386
不是不支持,而是没有K7这种type,例如p4, 你的CPU_TYPE应该等p4,而不是pentium4。你看看毒龙是上面AMD的CPU中的哪个就写哪个就对了。
那就应该是athlon了? |
|