View source code
Display the source code in core/cpuid.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
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.

Function core.cpuid.preferAthlon

Optimisation hints for assembly code.

bool preferAthlon() pure nothrow @property @nogc @trusted;

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?

Authors

Don Clugston, Tomas Lindquist Olsen <tomas@famolsen.dk>

License

Boost License 1.0