LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > Linux教程 >

AMD型号CPU的CFlags设置

时间:2013-09-26 23:25来源:gentoo-wiki.com 编辑:gentoo-wiki.com 点击:
AMD K6 AMD K6-2 AMD Geode LX AMD Geode GX1 AMD K6-3 AMD Duron AMD Mobile Duron AMD Duron Morgan AMD Athlon AMD Athlon Thunderbird AMD Athlon (Palomino) XP / AMD Duron AMD Athlon 4 AMD Athlon XP/Geode NX AMD Athlon MP AMD Athlon 64 AMD Athlo
  1. AMD K6
  2. AMD K6-2
  3. AMD Geode LX
  4. AMD Geode GX1
  5. AMD K6-3
  6. AMD Duron
  7. AMD Mobile Duron
  8. AMD Duron Morgan
  9. AMD Athlon
  10. AMD Athlon Thunderbird
  11. AMD Athlon (Palomino) XP / AMD Duron
  12. AMD Athlon 4
  13. AMD Athlon XP/Geode NX
  14. AMD Athlon MP
  15. AMD Athlon 64
  16. AMD Athlon 64 X2
  17. AMD 1xx Opteron
  18. AMD2xx/8xx Opteron
  19. AMD22xx Dual-Core Opteron
  20. AMD23xx Quad-Core Barcelona
  21. AMDAthlon X2 7x50, AMD Phenom X3/X4, AMD Phenom II, AMD Athlon II X2/X3/X4
  22. AMD Sempron / AMD Sempron64
  23. AMD Turion64 / AMD X2 / AMD Ultra
  24. AMD Mobile Sempron
Intel Atom
vendor_id       : GenuineIntel
cpu family      : 6
model           : 28
model name      : Intel(R) Atom(TM) CPU  230   @ 1.60GHz
stepping        : 2
cpu MHz         : 1596.175
cache size      : 512 KB

32 bit profile (x86):

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -fomit-frame-pointer -pipe"
CXXFLAGS="${CFLAGS}"

64 bit profile (amd64) for < GCC 4.3:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CXXFLAGS="${CFLAGS}"

64 bit profile (amd64) for GCC 4.3 and 4.4:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -mtune=generic -pipe"
CXXFLAGS="${CFLAGS}"

64 bit profile (amd64) for >= GCC 4.5:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=atom -O2 -pipe"
CXXFLAGS="${CFLAGS}"

AMD K6

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

AMD K6-2

vendor_id  : AuthenticAMD
cpu family  : 5
model  : 8
                          

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-2 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
                          

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 5
model           : 8
model name      : AMD-K6(tm) 3D processor
stepping        : 12
cpu MHz         : 451.031
cache size      : 64 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr up
bogomips        : 902.84
clflush size    : 32
Note: /proc/cpuinfo may be confusing. The model name may say "AMD-K6(tm) 3D Processor" but it is not a AMD K6-3. Rely on the vendor_id, CPU family, and model number.

AMD Geode LX

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 5
model           : 10
model name      : Geode(TM) Integrated Processor by AMD PCS
stepping        : 2
cpu MHz         : 498.044
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext 3dnowext 3dnow
bogomips        : 996.08
clflush size    : 32
                          

CHOST="i486-pc-linux-gnu"
CFLAGS="-march=k6-2 -Os -fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

GCC 4.3+:

CHOST="i486-pc-linux-gnu"
CFLAGS="-march=geode -Os -fno-align-jumps -fno-align-functions -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
Note: While i586-pc-linux-gnu CHOST works fine on a Geode LX, i486-pc-linux-gnu should be a more performant choice right now due to the way Geode LX CPU pipeline and scheduling works. glibc i586 assembler optimized routines are measurably slower than the i486 ones on a Geode LX.

AMD Geode GX1

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=pentium-mmx -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

AMD K6-3

CHOST="i586-pc-linux-gnu"
CFLAGS="-march=k6-3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

AMD Duron

From 600 to 900 MHz. These models have a tbird-alike core model.

product: AMD Duron(tm) Processor version: 6.3.1

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

AMD Mobile Duron

vendor_id : AuthenticAMD
cpu family : 6
model : 3
model name : AMD Duron(tm) Processor
                          

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

AMD Duron Morgan

From 900 to 1300 MHz. The Morgan Durons are based on the Palomino core, and hence can be treated as Athlon XP's.

vendor_id : AuthenticAMD
cpu family : 6
model : 7
model name : AMD Duron(tm) Processor
stepping : 1
                          

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

AMD Athlon

vendor_id : AuthenticAMD
cpu family : 6
model : 8 or 4 or 2 or 1
model name : AMD Athlon(TM)Processor or AMD-K7(TM)Processor
stepping : 4 or 2 or 1
Note: This processor is only available as a Slot A processor; if you have a Socket A/462 Athlon, it's a Thunderbird (see below).
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

AMD Athlon Thunderbird

vendor_id : AuthenticAMD
cpu family : 6
model : 4
model name : AMD Athlon(tm) Processor
                          

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

AMD Athlon (Palomino) XP/Duron

vendor_id  : AuthenticAMD
cpu family  : 6
model  : 8
model name  : AMD Athlon(tm)
                          

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

Sempron 2400+ (2000MHz) is also identified as cpu family:6 model:8 model_name:AMD Sempron(TM) 2400+ (256kB cache). The Duron 1800+ is also included in this list.

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 8
model name      : AMD Sempron(tm)   2400+
stepping        : 1
cpu MHz         : 1659.979
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp
                  mmxext 3dnowext 3dnow up ts
bogomips        : 3328.55
clflush size    : 32

AMD Athlon 4

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-4 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

AMD Athlon XP/Geode NX

vendor_id  : AuthenticAMD
cpu family  : 6
model  : 6 or 8
stepping  : 2
Some CPUs have also been observed with the following:
model : 10
model name : AMD Athlon(tm) XP 2500+
stepping : 0
                          

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
                          

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 6
model name      : AMD Athlon(tm) XP 2000+
stepping        : 2
cpu MHz         : 1670.597
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall
                  mmxext 3dnowext 3dnow up ts
bogomips        : 3343.54
                          

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 8
model name      : AMD Geode NX 1750
stepping        : 1
cpu MHz         : 1400.115
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp
                  mmxext 3dnowext 3dnow up ts fid vid
bogomips        : 2801.55
clflush size    : 32

AMD Athlon MP

vendor_id  : AuthenticAMD
cpu family  : 6
model  : 10
model name  : AMD Sempron(tm)
stepping  : 0
                          

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-mp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

AMD Athlon 64

32 bit:

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
                          

cpu family  :15
model  :4
model name  :AMD Athlon(tm) 64 Processor 3200+
stepping  :8
                          

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 63
model name      : AMD Athlon(tm) 64 Processor 3200+
stepping        : 2
cpu MHz         : 1999.821
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2
                  syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm
bogomips        : 4001.79
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

AMD Athlon 64 X2

vendor_id: AuthenticAMD
cpu family: 15
model: 35, 43, 75 or 107
stepping: 1 or 2
model name: AMD Athlon(tm) 64 X2 Dual Core Processor

32 bit:

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
                          
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 43
model name      : AMD Athlon(tm)64 X2 Dual Core Processor  4200+
stepping        : 1
cpu MHz         : 2200.000
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2
                  ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni lahf_lm cmp_legacy
bogomips        : 4424.71
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
                          

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 43
model name      : AMD Athlon(tm)64 X2 Dual Core Processor  4200+
stepping        : 1
cpu MHz         : 2200.000
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 1
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2
                  ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow rep_good pni lahf_lm cmp_legacy
bogomips        : 4424.71
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

If you have a newer Athlon64("Venice" or "San Diego")/Athlon64-X2("Manchester", "Toledo", or "Windsor") (check for pni in cat /proc/cpuinfo) you can also add -msse3 to your CFLAGS to enable SSE3 support. Any chip using the 90nm process except for the "Winchester" class Athlon64 supports SSE3.

If you're having gcc-4.3+ and "pni" in flags, you may want to use -march=k8-sse3 instead of -march=k8. You can take out the -msse3 by doing this.

Also bear in mind that all Athlon64 X2 and Opteron 165, 170, 175, 180, and 185 processors are dual-core CPUs so make sure that you use MAKEOPTS="-j3" in your make.conf. This doesn't affect the code but might reduce compile times.

All socket AM2 processors are SSE3 capable as well.

There are some socket AM2+ Athlon processors which are Phenom based (Athlon X2 7550, Athlon X2 7750, Athlon X2 7850). Look below.

AMD 1xx Opteron

vendor_id : AuthenticAMD
cpu family : 15
model : 5
model name : AMD Opteron(tm) Processor 1xx
stepping : 8

32-bit:

CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -march=opteron -msse3 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64-bit:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=opteron -O2 -pipe"
CXXFLAGS="${CFLAGS}"

socket 939, single core:

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 39
model name      : AMD Opteron(tm) Processor 144
stepping        : 1
cpu MHz         : 1800.000
cache size      : 1024 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2
                  syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni lahf_lm
bogomips        : 3593.50
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

socket 939, dual core:

processor       : [0 | 1]
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 35
model name      : Dual Core AMD Opteron(tm) Processor 180
stepping        : 2
cpu MHz         : 1000.000
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : [0 | 1]
cpu cores       : 2
apicid          : [0 | 1]
initial apicid  : [0 | 1]
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni lahf_lm cmp_legacy
bogomips        : 2006.23
clflush size    : 64
power management: ts fid vid ttp

AMD 2xx/8xx Opteron

vendor_id : AuthenticAMD
cpu family : 15
model : 5
model name : AMD Opteron(tm) Processor xxx
stepping : 8
                          

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=opteron -O2 -pipe"
CXXFLAGS="${CFLAGS}"

AMD 22xx Dual-Core Opteron

vendor_id : AuthenticAMD
cpu family : 15
model : 65
model name : Dual-Core AMD Opteron(tm) Processor 22xx
stepping : 2
                          
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=opteron -O2 -pipe"
CXXFLAGS="${CFLAGS}"
                          
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 65
model name      : Dual-Core AMD Opteron(tm) Processor 2212 HE
stepping        : 3
cpu MHz         : 2010.298
cache size      : 1024 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr sse sse2
ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8_legacy
bogomips        : 4022.18
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

AMD 23xx Quad-Core Barcelona

vendor_id  : AuthenticAMD
cpu family  : 16
model  : 2
model name  : Quad-Core AMD Opteron(tm) Processor 23xx
stepping  : 10
                          
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
Note: For GCC 4.3+ you may use the -march=barcelona option.
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 16
model           : 2
model name      : Quad-Core AMD Opteron(tm) Processor 2354
stepping        : 3
cpu MHz         : 2200.000
cache size      : 512 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2
                  ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good pni monitor
                  cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw
                  ibs
bogomips        : 4402.66
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

AMD Athlon X2 7x50, AMD Phenom X3/X4, AMD Phenom II, AMD Athlon II X2/X3/X4

vendor_id  : AuthenticAMD
cpu family  : 16
model  : 2
model name  : AMD Phenom(tm) xxxx Triple/Quad-Core Processor
stepping  : 2/3
                          

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
Note: For versions of GCC older than 4.3+ you have to use -march=k8 -msse3 -msse4a to get all processor features (as long as your version of gcc supports them).
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 16
model           : 6
model name      : AMD Athlon(tm) II X2 240 Processor
stepping        : 2
cpu MHz         : 2812.549
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save
bogomips        : 5625.09
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate
                          

processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 4
model name	: AMD Phenom(tm) II X3 720 Processor
stepping	: 2
cpu MHz		: 2812.378
cache size	: 512 KB
physical id	: 0
siblings	: 3
core id		: 0
cpu cores	: 3
apicid		: 0
initial apicid	: 0
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall 
                  nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc pni monitor cx16 lahf_lm cmp_legacy 
                  svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips	: 5624.75
clflush size	: 64
power management: ts ttp tm stc 100mhzsteps hwpstate
                          

processor		: 0
vendor_id		: AuthenticAMD
cpu family		: 16
model			: 2
model name		: AMD Phenom(tm) 9950 Quad-Core Processor
stepping		: 3
cpu MHz		: 2808.614
cache size		: 512 KB
physical id		: 0
siblings		: 4
core id		: 0
cpu cores		: 4
apicid			: 0
initial apicid		: 0
fpu			: yes
fpu_exception		: yes
cpuid level		: 5
wp			: yes
flags			: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall
			  nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good pni monitor cx16 lahf_lm cmp_legacy
			  svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs
bogomips		: 5617.22
TLB size		: 1024 4K pages
clflush size		: 64
cache_alignment	: 64
address sizes		: 48 bits physical, 48 bits virtual
power management	: ts ttp tm stc 100mhzsteps hwpstate
                          

processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 5
model name	: AMD Athlon(tm) II X4 630 Processor
stepping	: 2
cpu MHz		: 2800.000
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 4
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
bogomips	: 5624.67
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

AMD Sempron / AMD Sempron64

  • If it is a Socket A (Socket 462) Sempron you can be sure it is neither 64-bit capable nor SSE2/SSE3 capable as it based on the Athlon XP.
  • If it is a Socket 754 it depends on the stepping (part number):
    • Stepping: CG (Part No.: *AX) or D0 (Part No.: *BA) have neither SSE3 nor AMD64
    • Stepping: E3 (Part No.: *BO) has SSE3
    • Stepping: E6 (Part No.: *BX) has SSE3 and AMD64
    • For other steppings better check the flags.
  • Anyway you should check /proc/cpuinfo for pni (SSE3) string before using -msse3.
  • Since GCC 4.3.0 you can use -march=k8-sse3 instead -msse3. GCC 4.3.0 - Intel 386 and AMD x86-64 Options
  • Also check /proc/cpuinfo for lm (Long mode) to see if supports 64-bit.
  • If it is a Socket AM2 Sempron you can be sure it is both 64-bit and SSE3 capable.
  • If it is a Socket AM3 Sempron (e.g. Sempron 140), it is based on the AMD Phenom and is thus 64-bit capable and has SSE3 and SSE4a.
vendor_id : AuthenticAMD
cpu family : 15
model : 44
model name : AMD Sempron(tm) Processor

32 bit (Socket A):

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit (Socket 754):

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

64 bit (Socket 754/AM2, SSE3 capable):

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -msse3 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

64-bit (Socket AM3):

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

AMD Turion64 / AMD X2 / AMD Ultra

32 bit:

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -msse3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -msse3 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

AMD Mobile Sempron

vendor_id : AuthenticAMD
cpu family : 15
model : 8
model name : Mobile AMD Sempron Processor 2800+

32 bit:

CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -msse3 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

64 bit:

CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -msse3 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

If you have a Sempron without SSE3 (earlier chips), omit "-msse3". SSE3 is called pni (prescott new instuction) by cpuinfo (cat /proc/cpuinfo).

Check it out, there are many different sempron mobile CPUs on sale, those that work at 1.8GHz are K8 (i.e. AMD SM 3000+), some others, older, aren't yet k8 but they're still k7 so you must specify athlon-xp instead of athlon64, anyway AMD announced in 2006 there will be 64bit Sempron Mobile CPUs so be carefull and pay attention, run a cat /proc/cpuinfo and then ask on AMD forums if you don't know what to do.

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 44
model name      : Mobile AMD Sempron(tm) Processor 3000+
stepping        : 2
cpu MHz         : 1800.000
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2
                  syscall nx mmxext fxsr_opt 3dnowext 3dnow pni lahf_lm ts fid vid ttp tm stc
bogomips        : 3602.19
clflush size    : 64

转载请保留固定链接: https://linuxeye.com/Linux/AMD-Cflags.html

------分隔线----------------------------
标签:CFlagsAMDCPU
栏目列表
推荐内容