View source code Display the source code in core/cpuid.d from which this page was generated on github. Improve this page Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone. Page wiki View or edit the community-maintained wiki page associated with this page.

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>

License

Boost License 1.0

Comments