--- ../gcc-cross-4.1.2-r4-unpatched/gcc-4.1.2/gcc/config/arm/ieee754-df.S 2007-06-07 13:06:52.000000000 +1000 +++ gcc-4.1.2/gcc/config/arm/ieee754-df.S 2007-06-07 13:15:49.000000000 +1000 @@ -42,8 +42,9 @@ @ For FPA, float words are always big-endian. +@ For MAVERICK, float words are always little-endian. @ For VFP, floats words follow the memory system mode. -#if defined(__VFP_FP__) && !defined(__ARMEB__) +#if ((defined(__VFP_FP__) && !defined(__ARMEB__)) || defined(__MAVERICK__)) #define xl r0 #define xh r1 #define yl r2 @@ -451,8 +452,13 @@ orrs r2, r0, r1 #if !defined (__VFP_FP__) && !defined(__SOFTFP__) +#if defined (__FPA_FP__) mvfeqd f0, #0.0 #endif +#if defined (__MAVERICK__) + cfstrd mvd0, #0.0 +#endif +#endif RETc(eq) #if !defined (__VFP_FP__) && !defined(__SOFTFP__) @@ -473,8 +479,13 @@ orrs r2, r0, r1 #if !defined (__VFP_FP__) && !defined(__SOFTFP__) +#if defined (__FPA_FP__) mvfeqd f0, #0.0 #endif +#if defined (__MAVERICK__) + cfstrd mvd0, #0.0 +#endif +#endif RETc(eq) #if !defined (__VFP_FP__) && !defined(__SOFTFP__) @@ -526,8 +537,14 @@ @ Legacy code expects the result to be returned in f0. Copy it @ there as well. LSYM(f0_ret): +#if defined (__FPA_FP__) stmfd sp!, {r0, r1} ldfd f0, [sp], #8 +#endif +#if defined (__MAVERICK__) + cfmvdlr mvd0, xl + cfmvdhr mvd0, xh +#endif RETLDM #endif --- ../gcc-cross-4.1.2-r4-unpatched/gcc-4.1.2/gcc/config/arm/ieee754-sf.S 2007-06-07 13:06:52.000000000 +1000 +++ gcc-4.1.2/gcc/config/arm/ieee754-sf.S 2007-06-07 13:21:43.000000000 +1000 @@ -302,8 +302,13 @@ orrs r2, r0, r1 #if !defined (__VFP_FP__) && !defined(__SOFTFP__) +#if defined (__FPA_FP__) mvfeqs f0, #0.0 #endif +#if defined (__MAVERICK__) + cfmvsr mvf0, #0.0 +#endif +#endif RETc(eq) mov r3, #0 @@ -314,8 +319,13 @@ orrs r2, r0, r1 #if !defined (__VFP_FP__) && !defined(__SOFTFP__) +#if defined (__FPA_FP__) mvfeqs f0, #0.0 #endif +#if defined (__MAVERICK__) + cfmvsr mvf0, #0.0 +#endif +#endif RETc(eq) ands r3, ah, #0x80000000 @ sign bit in r3 @@ -387,8 +397,13 @@ #if !defined (__VFP_FP__) && !defined(__SOFTFP__) LSYM(f0_ret): +#if defined (__FPA_FP__) str r0, [sp, #-4]! ldfs f0, [sp], #4 +#endif +#if defined (__MAVERICK__) + cfmvsr mvf0, r0 +#endif RETLDM #endif