This enables long double support for little-endian. It assumes we keep the same ordering as big-endian, ie. the first double is the larger magnitude or inf/nan. Bootstrapped powerpc64-linux. OK to apply?
* config/rs6000/ibm-ldouble.c: Enable for little-endian. Index: libgcc/config/rs6000/ibm-ldouble.c =================================================================== --- libgcc/config/rs6000/ibm-ldouble.c (revision 199174) +++ libgcc/config/rs6000/ibm-ldouble.c (working copy) @@ -42,10 +42,10 @@ represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a NaN is don't-care. - This code currently assumes big-endian. */ + This code currently assumes the most significant double is in + the lower numbered register or lower addressed memory. */ -#if (!defined (__LITTLE_ENDIAN__) \ - && (defined (__MACH__) || defined (__powerpc__) || defined (_AIX))) +#if defined (__MACH__) || defined (__powerpc__) || defined (_AIX) #define fabs(x) __builtin_fabs(x) #define isless(x, y) __builtin_isless (x, y) -- Alan Modra Australia Development Lab, IBM