Safe Cflags
From Gentoo Linux Wiki
Intel Pentium
vendor_id : GenuineIntel cpu family : 5 model : 2 model name : Pentium 75 - 200
CHOST="i586-pc-linux-gnu" CFLAGS="-march=pentium -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
Intel Pentium w/ MMX
CHOST="i586-pc-linux-gnu" CFLAGS="-march=pentium-mmx -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
Intel Pentium Pro
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentiumpro -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
Intel Pentium II
vendor_id : GenuineIntel cpu family : 6 model : 3, 5
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium2 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 6 model name : Mobile Pentium II stepping : 10 cpu MHz : 397.082 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr bogomips : 794.75 clflush size : 32
Intel Celeron (Mendocino), aka Celeron1
vendor_id : GenuineIntel cpu family : 6 model : 6 stepping : 0
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium2 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 6 model name : Celeron (Mendocino) stepping : 0 cpu MHz : 334.108 cache size : 128 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr up bogomips : 686.94 clflush size : 32
Intel Pentium III/ Mobile Celeron
vendor_id : GenuineIntel cpu family : 6 model : 7, 8, 11
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 8 model name : Pentium III (Coppermine) stepping : 6 cpu MHz : 863.934 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse bogomips : 1728.97 clflush size : 32
Intel Celeron (Coppermine)
vendor_id : GenuineIntel cpu family : 6 model : 8 stepping : 10
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
Intel Celeron (Willamette)
vendor_id : GenuineIntel cpu family : 15 model : 1 model name : Intel(R) Celeron(R) CPU 1.70GHz stepping : 3
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
Intel Pentium M(Centrino) / Intel Celeron M
vendor_id : GenuineIntel cpu family : 6 model : 9 or 13 model name : Intel(R) Pentium(R) M processor XXXXMHz
For gcc 3.3 or older:
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -msse2 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
For gcc 3.4 and later:
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium-m -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
The Celeron M is based on the Pentium M but it has half the L2 cache and does not support the SpeedStep technology.
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : Intel(R) Pentium(R) M processor 2.00GHz stepping : 8 cpu MHz : 800.000 cache size : 2048 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up bts est tm2 bogomips : 1597.70 clflush size : 64
Intel Mobile Pentium 4-M (Northwood)
vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Mobile Intel(R) Pentium(R) 4 - M CPU X.XXGHz
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
Intel Pentium 4
vendor_id : GenuineIntel cpu family : 15 model : 0 or 1 or 2 model name : Intel(R) Pentium(R) 4 CPU XXXXMHz
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
Intel Pentium 4 (Prescott) / Intel Celeron D
vendor_id : GenuineIntel cpu family : 15 model : 3 or 4 model name : Intel(R) Pentium(R) 4 CPU XXXGHz -or- Intel(R) Celeron(R) CPU XXXGHz
32-bit profile (x86):
CHOST="i686-pc-linux-gnu" CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
64-bit profile (amd64):
CHOST="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CXXFLAGS="${CFLAGS}"
In 2004, Intel started branding processors with the Prescott core as Intel Celeron D.
Intel Pentium D 8xx / 9xx
vendor_id : GenuineIntel cpu family : 15 model : 4, 6 model name : Intel(R) Pentium(R) D CPU x.xxGHz
32-bit profile (x86):
CHOST="i686-pc-linux-gnu" CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
64-bit profile (amd64):
CHOST="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CXXFLAGS="${CFLAGS}"
Intel Xeon w/o EM64T
vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Xeon(TM) CPU 2.80GHz
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
Intel Xeon w/EM64T (also Intel Pentium 4 P6xx or Intel Celeron M 5xx)
vendor_id : GenuineIntel cpu family : 15 model : 4,6 model name : Intel(R) Xeon(R) CPU XXXXMHz model name : Intel(R) Celeron(R) M CPU 5xx @ XXXGHz
32-bit profile (x86):
CHOST="i686-pc-linux-gnu" CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
64-bit profile (amd64):
CHOST="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe" CXXFLAGS="${CFLAGS}"
Intel Core Solo/Duo, Intel Pentium Dual-Core T20xx/T21xx
vendor_id : GenuineIntel cpu family : 6 model : 14, 22 model name : Genuine Intel(R) CPU TXXXX @ X.XXGHz model name : Intel(R) Celeron(R) CPU 220 @ 1.20GHz model name : Intel(R) Celeron(R) CPU 4X0 @ X.XXGHz model name : Intel(R) Celeron(R) M CPU 4X0 @ X.XXGHz
CHOST="i686-pc-linux-gnu" CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
Intel Core 2 Duo/Quad, Intel Xeon 51xx/53xx/54xx, Pentium Dual-Core T23xx+/Exxxx, Intel Celeron Dual-Core
vendor_id : GenuineIntel cpu family : 6 model : 15, 23 model name : Intel(R) Core(TM)2 CPU XXXX @ XXXGHz model name : Intel(R) Celeron(R) CPU E3400 @ 2.60GHz
32 bit profile (x86):
CHOST="i686-pc-linux-gnu" CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer" 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
CHOST="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -mtune=generic -O2 -pipe" CXXFLAGS="${CFLAGS}"
Intel Core i7 andIntel Core i5, Intel Xeon 55xx
vendor_id : GenuineIntel cpu family : 6 model : 26 model name : Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
vendor_id : GenuineIntel cpu family : 6 model : 37 model name : Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz / 660 @ 3.33 GHz
vendor_id : GenuineIntel cpu family : 6 model : 26 model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
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
CHOST="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -mtune=generic -O2 -pipe" CXXFLAGS="${CFLAGS}"
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
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}"
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
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}"
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}"
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