Function core.cpuid.preferAthlon
Optimisation hints for assembly code.
For forward compatibility, the CPU is compared against different
microarchitectures. For 32-bit x86, comparisons are made against
the Intel PPro/PII/PIII/PM family
.
The major 32-bit x86 microarchitecture 'dynasties' have been:
* Intel P6 (PentiumPro, PII, PIII, PM, Core, Core2).
* AMD Athlon (K7, K8, K10).
* Intel NetBurst (Pentium 4, Pentium D).
* In-order Pentium (Pentium1, PMMX, Atom)
Other early CPUs (Nx586, AMD K5, K6, Centaur C3, Transmeta,
Cyrix, Rise) were mostly in-order.
Some new processors do not fit into the existing categories:
* Intel Atom 230/330 (family
6, model
0x1C) is an in-order core.
* Centaur Isiah = VIA Nano (family
6, model
F) is an out-of-order core.
Within each dynasty, the optimisation techniques are largely
identical (eg, use instruction pairing for group 4). Major
instruction set improvements occur within each dynasty.
Does this CPU perform better on AMD K7 code than PentiumPro..Core2 code?
Prototype
bool preferAthlon() pure nothrow @property @nogc @trusted;
Authors
Don Clugston, Tomas Lindquist Olsen <tomas@famolsen.dk>