不同的CPU下最佳编译参数

卅之尚

卅之尚

2016-02-19 17:43

今天图老师小编给大家介绍下不同的CPU下最佳编译参数,平时喜欢不同的CPU下最佳编译参数的朋友赶紧收藏起来吧!记得点赞哦~

  gcc在不同的体系机构/CPU下编译效果有不同,需要使用不同的编译参数达到最佳效果。
  
  一、1.2版(gcc 2.9.x版)
  
  -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=i486 -O3 -pipe -fomit-frame-pointer"
  
  Pentium, Pentium MMX+, Celeron (Mendocino) (Intel)
  CHOST="i586-pc-Linux-gnu"
  CFLAGS="-march=pentium -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=pentium -O3 -pipe -fomit-frame-pointer"
  
  Pentium Pro/II/III/4, Celeron (Coppermine), Celeron (Willamette?) (Intel)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=i686 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=i686 -O3 -pipe -fomit-frame-pointer"
  
  Eden C3/Ezra (Via)
  CHOST="i586-pc-linux-gnu"
  CFLAGS="-march=i586 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=i586 -O3 -pipe -fomit-frame-pointer"
  
  Quote : I did the original gentoo install using 1.2, with gcc 2.95 using -march=i586. i686 won't work.
  
  K6 or beyond (AMD)
  CHOST="i586-pc-linux-gnu"
  CFLAGS="-march=k6 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=k6 -O3 -pipe -fomit-frame-pointer"
  
  (A Duron will report "Athlon" in its /proc/cpuinfo)
  
  Athlon (AMD)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=k6 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=k6 -O3 -pipe -fomit-frame-pointer"
  
  For the following, i don't know of any flag that enhance performances..., do you ?
  
  PowerPC
  CHOST="powerpc-unknown-linux-gnu"
  CFLAGS="-O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-O3 -pipe -fomit-frame-pointer"
  
  Sparc
  CHOST="sparc-unknown-linux-gnu"
  CFLAGS="-O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-O3 -pipe -fomit-frame-pointer"
  
  Sparc 64
  CHOST="sparc64-unknown-linux-gnu"
  CFLAGS="-O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-O3 -pipe -fomit-frame-pointer"
  
  
  二、1.4版(gcc 3.x版):
  
  
  i386 (Intel), do you really want to install gentoo on that ?
  CHOST="i386-pc-linux-gnu"
  CFLAGS="-march=i386 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=i386 -O3 -pipe -fomit-frame-pointer"
  
  i486 (Intel), do you really want to install gentoo on that ?
  CHOST="i486-pc-linux-gnu"
  CFLAGS="-march=i486 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=i486 -O3 -pipe -fomit-frame-pointer"
  
  Pentium 1 (Intel)
  CHOST="i586-pc-linux-gnu"
  CFLAGS="-march=pentium -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=pentium -O3 -pipe -fomit-frame-pointer"
  
  Pentium MMX (Intel)
  CHOST="i586-pc-linux-gnu"
  CFLAGS="-march=pentium-mmx -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=pentium-mmx -O3 -pipe -fomit-frame-pointer"
  
  Pentium PRO (Intel)
  
   CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=pentiumpro -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=pentiumpro -O3 -pipe -fomit-frame-pointer"
  
  Pentium II (Intel)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=pentium2 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=pentium2 -O3 -pipe -fomit-frame-pointer"
  
  Celeron (Mendocino), aka Celeron1 (Intel)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=pentium2 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=pentium2 -O3 -pipe -fomit-frame-pointer"
  
  Pentium III (Intel)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
  
  Celeron (Coppermine) aka Celeron2 (Intel)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer"
  
  Celeron (Willamette?) (Intel)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
  
  Pentium 4 (Intel)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
  
  Eden C3/Ezra (Via)
  CHOST="i586-pc-linux-gnu"
  CFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=i586 -m3dnow -O3 -pipe -fomit-frame-pointer"
  
  quote : the ezra doesn't have any special instrUCtions that you could optimize for, just consider is a K6-3...basically
  a p2 with 3dnow
  
  K6 (AMD)
  CHOST="i586-pc-linux-gnu"
  CFLAGS="-march=k6 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=k6 -O3 -pipe -fomit-frame-pointer"
  
  K6-2 (AMD)
  CHOST="i586-pc-linux-gnu"
  CFLAGS="-march=k6-2 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=k6-2 -O3 -pipe -fomit-frame-pointer"
  
  K6-3 (AMD)
  CHOST="i586-pc-linux-gnu"
  CFLAGS="-march=k6-3 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=k6-3 -O3 -pipe -fomit-frame-pointer"
  
  Athlon (AMD)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=athlon -O3 -pipe -fomit-frame-pointer"
  
  Athlon-tbird, aka K7 (AMD)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=athlon-tbird -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=athlon-tbird -O3 -pipe -fomit-frame-pointer"
  
  Athlon-tbird XP (AMD)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
  
   CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
  
  Athlon 4(AMD)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=athlon-4 -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=athlon-4 -O3 -pipe -fomit-frame-pointer"
  
  Athlon XP (AMD)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
  
  Athlon MP (AMD)
  CHOST="i686-pc-linux-gnu"
  CFLAGS="-march=athlon-mp -O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-march=athlon-mp -O3 -pipe -fomit-frame-pointer"
  
  603 (PowerPC)
  CHOST="powerpc-unknown-linux-gnu"
  CFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
  CXXFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
  
  603e (PowerPC)
  CHOST="powerpc-unknown-linux-gnu"
  CFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
  CXXFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
  
  604 (PowerPC)
  CHOST="powerpc-unknown-linux-gnu"
  CFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
  CXXFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
  
  604e (PowerPC)
  CHOST="powerpc-unknown-linux-gnu"
  CFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
  CXXFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
  
  750 aka as G3 (PowerPC)
  CHOST="powerpc-unknown-linux-gnu"
  CFLAGS="-mcpu=750 -O3 -pipe -fomit-frame-pointer
  -fsigned-char"
  CXXFLAGS="-mcpu=750 -O3 -pipe -fomit-frame-pointer
  -fsigned-char"
  
  Note: do not use -march=
  
  7400, aka G4 (PowerPC)
  CHOST="powerpc-unknown-linux-gnu"
  CFLAGS="-mcpu=7400 -O3 -pipe -fomit-frame-pointer
  -fsigned-char -maltivec"
  CXXFLAGS="-mcpu=7400 -O3 -pipe -fomit-frame-pointer
  -fsigned-char -maltivec"
  
  Note: do not use -march=
  
  7450, aka G4 second generation (PowerPC)
  CHOST="powerpc-unknown-linux-gnu"
  CFLAGS="-mcpu=7450 -O3 -pipe -fomit-frame-pointer
  -fsigned-char -maltivec"
  CXXFLAGS="-mcpu=7450 -O3 -pipe -fomit-frame-pointer
  -fsigned-char -maltivec"
  
  Note: do not use -march=
  
  PowerPC (If you don't know which one)
  CHOST="powerpc-unknown-linux-gnu"
  CFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
  CXXFLAGS="-O3 -pipe -fomit-frame-pointer -fsigned-char"
  
  Sparc
  CHOST="sparc-unknown-linux-gnu"
  CFLAGS="-O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-O3 -pipe -fomit-frame-pointer"
  
  Sparc 64
  CHOST="sparc64-unknown-linux-gnu"
  CFLAGS="-O3 -pipe -fomit-frame-pointer"
  CXXFLAGS="-O3 -pipe -fomit-frame-pointer"
展开更多 50%)
分享

猜你喜欢

不同的CPU下最佳编译参数

编程语言 网络编程
不同的CPU下最佳编译参数

编译php的配置参数

PHP
编译php的配置参数

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

vc的编译参数优化

编程语言 网络编程
vc的编译参数优化

选购CPU时需要注意什么参数?

电脑入门
选购CPU时需要注意什么参数?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

组装电脑之处理器CPU参数的认识

电脑入门
组装电脑之处理器CPU参数的认识

不同环境下的药补

生活常识 养生 健康
不同环境下的药补

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

当分手已成定局 - QQ伤感分组

当分手已成定局 - QQ伤感分组

初学入门 PHP 和 MySQL (1)

初学入门 PHP 和 MySQL (1)
下拉加载更多内容 ↓