Safe CFLAGS

This article attempts to summarize 'safe' settings for CPU flags on Gentoo Linux.

Automatic CPU detection
A recommended default choice for CFLAGS or CXXFLAGS is to use. This enables auto-detection of the CPU's architecture. A possible entry might look like:

Under certain circumstances it is not possible (or not recommended) to use, for example when using distcc. Consult the distcc page about how to set up CFLAGS / CXXFLAGS correctly.

Finding the CPU
To identify the model of the CPU, take a look inside for the "cpu family" and "model" numbers like so:

Once this information is found match the CPU to one listed on this page in order to find out the suggested "safe" CFLAGS.

Below is a list of CFLAGS which are to be considered "safe" for the given processors. These are the settings that should be used, especially when unsure which CFLAGS the processor needs.

Core i3/i5/i7 & Xeon E3/E5 *V5
vendor_id      : GenuineIntel cpu family     : 6 model          : 94 model name     : Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz

Core i3/i5/i7 & Xeon E3/E5/E7 *V3
vendor_id	: GenuineIntel cpu family	: 6 model		: 60 model name	: Intel(R) Xeon(R) CPU E3-1271 v3 @ 3.60GHz … model          : 60 model name     : Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz

Core i3/i5/i7 & Xeon E3/E5/E7 *V2
vendor_id      : GenuineIntel cpu family     : 6 model          : 58 model name     : Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz

Pentium
vendor_id	: GenuineIntel cpu family	: 6 model		: 58 model name	: Intel(R) Pentium(R) CPU G2020 @ 2.90GHz

Core i3/i5/i7 & Xeon E3/E5/E7
vendor_id	: GenuineIntel cpu family	: 6 … model		: 42 model name	: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz … model		: 45 model name	: Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz … model		: 42 model name	: Intel(R) Xeon(R) CPU E31245 @ 3.30GHz … model          : 45 model name     : Intel(R) Xeon(R) CPU E5-2407 0 @ 2.20GHz

Pentium
vendor_id	: GenuineIntel cpu family	: 6 model		: 42 model name	: Intel(R) Pentium(R) CPU B960 @ 2.20GHz

Core i3/i5/i7
vendor_id	: GenuineIntel cpu family	: 6 model		: 30 model name	: Intel(R) Core(TM) i5-750 CPU @ 2.66GHz

Core i3/i5/i7
vendor_id	: GenuineIntel cpu family	: 6 model		: 37 model name	: Intel(R) Core(TM) i5-650 CPU @ 3.20GHz

Intel Core
vendor_id      : GenuineIntel cpu family     : 6 … model		: 15 model name	: Intel(R) Core(TM)2 Duo CPU    T7500  @ 2.20GHz … model          : 15 model name     : Intel(R) Xeon(R) CPU            3040  @ 1.86GHz

Pentium M (Dothan)
vendor_id	: GenuineIntel cpu family	: 6 model		: 13 model name	: Intel(R) Pentium(R) M processor 2.13GHz

Pentium 4 (Prescott)

 * 64-bit capable models: 505, 505J, 506, 511, 516, 517, 519K, 521, 524, 531, 541, 551, 561, 571, 6xx, and the 3.73(3)GHz Pentium 4 Extreme Edition.

vendor_id	: GenuineIntel cpu family	: 15 model		: 4 model name	: Intel(R) Pentium(R) 4 CPU XXXGHz

vendor_id	: GenuineIntel cpu family	: 15 model		: 3 model name	: Intel(R) Pentium(R) 4 CPU XXXGHz
 * All other Prescotts

Ryzen X 1X00 (Zen)
vendor_id	: AuthenticAMD cpu family	: 23 model		: 1 model name	: AMD Ryzen 7 1800X Eight-Core Processor

Carrizo, Bristol Ridge & Stoney Ridge
vendor_id	: AuthenticAMD cpu family	: 21 model		: 96 or 101 or 112 model name	: AMD A12-9800 RADEON R7, 12 COMPUTE CORES 4C+8G

Kaveri & Godavari
vendor_id	: AuthenticAMD cpu family	: 21 model		: 48 or 56 model name	: AMD A10-7850K Radeon R7, 12 Compute Cores 4C+8G

Trinity & Richland
vendor_id	: AuthenticAMD cpu family	: 21 model		: 16 or 19 model name	: AMD A8-4500M APU with Radeon(tm) HD Graphics

FX-XXXX (Bulldozer & Piledriver)
vendor_id	: AuthenticAMD cpu family	: 21 model		: 1 or 2 model name	: AMD FX(tm)-8150 Eight-Core Processor

Llano
vendor_id	: AuthenticAMD cpu family	: 18 model		: 1 model name	: AMD A8-3500M APU with Radeon(tm) HD Graphics

Agena, Deneb, Thuban & derivates
vendor_id	: AuthenticAMD cpu family	: 16 model		: X model name	: AMD Phenom(tm) II X6 1090T Processor

Geode LX
vendor_id	: AuthenticAMD cpu family	: 5 model		: 10 model name	: Geode(TM) Integrated Processor by AMD PCS

with optional VFPv3 FPU
processor      : 0 model name     : ARMv7 Processor rev 0 (v7l) BogoMIPS       : 2.00 Features       : half thumb fastmult vfp edsp vfpv3 vfpv3d16 tls CPU implementer : 0x41 CPU architecture: 7 CPU variant    : 0x1 CPU part       : 0xc09 CPU revision   : 0

processor      : 1 model name     : ARMv7 Processor rev 0 (v7l) BogoMIPS       : 2.00 Features       : half thumb fastmult vfp edsp vfpv3 vfpv3d16 tls CPU implementer : 0x41 CPU architecture: 7 CPU variant    : 0x1 CPU part       : 0xc09 CPU revision   : 0

Hardware       : NVIDIA Tegra SoC (Flattened Device Tree) Revision       : 0000 Serial         : 0000000000000000

AArch32 with neon FPU
processor	: 0-3 model name	: ARMv7 Processor rev 4 (v7l) BogoMIPS	: 38.40 Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer	: 0x41 CPU architecture: 7 CPU variant	: 0x0 CPU part	: 0xd03 CPU revision	: 4

Hardware	: BCM2709 Revision       : 0000 Serial         : 0000000000000000

AArch64
processor	: 0-3 BogoMIPS	: 38.40 Features	: fp asimd evtstrm crc32 CPU implementer	: 0x41 CPU architecture: 8 CPU variant	: 0x0 CPU part	: 0xd03 CPU revision	: 4

ARMv6/ARM1176JZF-S
processor	: 0 model name	: ARMv6-compatible processor rev 7 (v6l) BogoMIPS	: 697.95 Features	: half thumb fastmult vfp edsp java tls CPU implementer	: 0x41 CPU architecture: 7 CPU variant	: 0x0 CPU part	: 0xb76 CPU revision	: 7

Hardware	: BCM2835 Revision	: 0000 Serial		: 000000000XXXXXXX

ARMv6/ARM1136JF-S
Processor      : ARMv6-compatible processor rev 5 (v6l) BogoMIPS       : 791.34 Features       : swp half thumb fastmult vfp edsp java CPU implementer : 0x41 CPU architecture: 6TEJ CPU variant    : 0x1 CPU part       : 0xb36 CPU revision   : 5

Hardware       : IMAPX200 Revision       : 0000 Serial         : 0000000000000000

POWER8
processor      : 0 cpu            : POWER8E (raw), altivec supported clock          : 3026.000000MHz revision       : 2.1 (pvr 004b 0201)

timebase       : 512000000 platform       : pSeries model          : IBM pSeries (emulated by qemu) machine        : CHRP IBM pSeries (emulated by qemu)

Cell
processor	: 0 cpu		: Cell Broadband Engine, altivec supported clock		: 3192.000000MHz revision	: 5.1 (pvr 0070 0501)

processor	: 1 cpu		: Cell Broadband Engine, altivec supported clock		: 3192.000000MHz revision	: 5.1 (pvr 0070 0501)

timebase	: 79800000 platform	: PS3 model		: SonyPS3

PPC 7447A
processor	: 0 cpu		: 7447A, altivec supported clock		: 1666.666000MHz revision	: 1.5 (pvr 8003 0105) bogomips	: 33.28 timebase	: 8320000 platform	: PowerMac model		: PowerBook5,9 machine		: PowerBook5,9 motherboard	: PowerBook5,9 MacRISC3 Power Macintosh detected as	: 287 (PowerBook G4 17") pmac flags	: 00000018 L2 cache	: 512K unified pmac-generation	: NewWorld

G3 (PPC 7XX)
processor      : 0 cpu            : 740/750 clock          : 400.000000MHz revision       : 131.0 (pvr 0008 8300) bogomips       : 49.93 timebase       : 24966218 platform       : PowerMac model          : PowerBook3,1 machine        : PowerBook3,1 motherboard    : PowerBook3,1 MacRISC2 MacRISC Power Macintosh detected as    : 70 (PowerBook Pismo) pmac flags     : 0000001f L2 cache       : 1024K unified pmac-generation : NewWorld

External resources

 * GCC Online Documentation on GNU.org
 * GCC x86 performance hints