Hi, The following patch was been in use internally, for some time, to handle two further cases where the processor does not have lwsync. Verified on a cross from i686-linux-gnu to powerpc-linux-gnu.
OK for trunk? thanks, Iain gcc/ * config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Extended to cover PPC 440 and 603 processors. Index: gcc/config/rs6000/rs6000.h =================================================================== --- gcc/config/rs6000/rs6000.h (revision 189745) +++ gcc/config/rs6000/rs6000.h (working copy) @@ -501,9 +512,11 @@ extern int rs6000_vector_align[]; || TARGET_ALTIVEC \ || TARGET_VSX))) -/* E500 cores only support plain "sync", not lwsync. */ +/* E500, 440 and 603 cores only support plain "sync", not lwsync. */ #define TARGET_NO_LWSYNC (rs6000_cpu == PROCESSOR_PPC8540 \ - || rs6000_cpu == PROCESSOR_PPC8548) + || rs6000_cpu == PROCESSOR_PPC8548 \ + || rs6000_cpu == PROCESSOR_PPC440 \ + || rs6000_cpu == PROCESSOR_PPC603) /* Which machine supports the various reciprocal estimate instructions. */