I clarified some aspects of this proposal.
After consulting with Jakub Jelinek, I'm now proposing to use “-march=i686 -msse2 -mtune=generic -mfpmath=sse -mstackrealign”. This is very close to previous proposal. Only a few preprocessor macros are different:
@@ -142,3 +142,2 @@ #define __FLT_RADIX__ 2 -#define __FXSR__ 1 #define __GCC_ASM_FLAG_OUTPUTS__ 1 @@ -174,2 +173,4 @@ #define i386 1 +#define __i686 1 +#define __i686__ 1 #define __INT16_C(c) c @@ -219,4 +220,2 @@ #define __INT_WIDTH__ 32 -#define __k8 1 -#define __k8__ 1 #define __LDBL_DECIMAL_DIG__ 21 @@ -247,2 +246,4 @@ #define __ORDER_PDP_ENDIAN__ 3412 +#define __pentiumpro 1 +#define __pentiumpro__ 1 #define __PRAGMA_REDEFINE_EXTNAME 1
We still do not have a way to automatically test for the avoidance of post-SSE2 CPU features (be it on i686 or x86_64), and i686 remains an alternative architecture. Like before, unless the x86 SIG wants to support non-SSE2 CPUs, they will not have to rebuild the i686 for the i686 alternative architecture. They can use the existing builds we create in Koji for the x86_64 multilib compose.
Thanks, Florian