Fedora 12 x86 Support
Summary
With Fedora 11, we moved the base architecture to i586. With Fedora 12, we are changing the base architecture to a specific i686 instruction set leve.
Owner
- Name: Bill Nottingham
- email: notting@redhat.com
Current status
- Targeted release: Fedora 42
- Last updated: 2009-06-15
- Percentage of completion: 0% (work will not proceed until a decision is made; the work itself is not complex)
Detailed Description
Fedora 11 has i586 as the base 32-bit x86 architecture.
For Fedora 12, we will switch to i686 + SSE2 as the base architecture.
This means we will lose support for the following CPU families:
- Intel i586 (all)
- Intel Pentium Pro
- Intel Pentium II
- Intel Pentium III
- 32-bit AMD Athlon
- AMD Geode
- VIA C3
- Transmeta Crusoe
Benefit to Fedora
- Faster binaries on mainstream architectures (Pentium M, Via C7, all 64-bit arches, Atom)
- Ability to use GCC's autovectorization to improve performance
- By using SSE2, we provide more consistent and faster floating-point math results
- Clarifies our support targets more clearly,
Scope
- The default 32-bit x86 target in koji would be changed from i386 to i686
- The kernel would build a kernel and kernel-PAE package for i686
- The default compiler flags for gcc in redhat-rpm-config would be changed as follows:
- i386: -march=i686 -mtune=generic -mfpmath=sse -msse2
- A mass rebuild would need to be done for the RPM architecture changes and the compiler flag changes
How To Test
- Ensure that all packages are built for i686
- Additional testing could benchmark apps to see any difference in code size and app speed.
User Experience
The 32-bit x86 distro should be faster; basic benchmarks show at least a 1% improvement in generic code, even without autovectorization.
Dependencies
- gcc and redhat-rpm-config would need changed for the default compiler flags
- koji configuration would need a tweak for the default architecture
- the kernel would need to change its package output
Contingency Plan
If necessary, we can revert to providing i586 binaries. However, once we start a mass rebuild, this would require another mass rebuild to undo.
Documentation
There should not be any required.
Release Notes
A restating of the 'detailed description' above should be sufficient.