LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 732|回复: 5

pentiumD E2160用CFLAGS=-march=core2行吗???

[复制链接]
发表于 2011-1-27 21:33:31 | 显示全部楼层 |阅读模式
rt,gcc说core2开启以下指令集:
mmx sse sse2 sse3 ssse3
http://gcc.gnu.org/onlinedocs/gc ... -x86_002d64-Options
而cat /proc/cpuinfo显示中符合要求:
  1. fpu vme de pse tsc msr pae mce cx8 apic
  2. sep mtrr pgemca cmov pat pse36 clflush
  3. dts acpi [color="red"]mmx[/color] fxsr [color="red"]sse sse2[/color] ssht tm pbe
  4. nx lm constant_tsc arch_perfmon pebs
  5. bts aperfmperf [color="red"]pni*[/color] dtes64 monitor ds_cpl
  6. est tm2 [color="Red"]ssse3[/color] cx16 xtpr pdcm lahf_lm
复制代码

*pni是sse3的别名

但是我担心它会开别的指令集
另外,我还需要别的CFLAGS吗?
发表于 2011-1-27 22:41:28 | 显示全部楼层
-march=native 搞定
回复 支持 反对

使用道具 举报

发表于 2011-1-27 22:52:26 | 显示全部楼层
Intel Pentium E2160应该是用march=core2,它的内部体系与Core 2一致

此外,不确定的时候可以用march=native,由gcc确定需要的选项。

其他的CFLAGS就看个人意愿了,详细的解释可看Compilation Optimization Guide

我自己用的CFLAGS/CXXFLAGS是:
  1. -march=native -O2 -fomit-frame-pointer -pipe -floop-interchange -floop-strip-mine -floop-block
复制代码

("-floop-interchange -floop-strip-mine -floop-block"三项要求gcc编译时有graphite这个USE flag。我用的是gcc-4.5.2,目前为止没出过什么大问题。)
回复 支持 反对

使用道具 举报

发表于 2011-1-28 01:31:35 | 显示全部楼层
native
回复 支持 反对

使用道具 举报

发表于 2011-1-28 10:11:00 | 显示全部楼层
用distcc的话可别用native。
话说你那个cpu可以用core2的。
回复 支持 反对

使用道具 举报

发表于 2011-1-28 14:09:24 | 显示全部楼层
是core2的,如果不确定,看/proc/cpuinfo的信息,对比safe cflag的那篇wiki:

其实只要是
cpu family  : 6
model  : 15, 23,26,37

就可以用core2
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表