
Fix multilibbed bootstrap on m68k. The count_leading_zeros() macro
in longlong.h uses the BFFFO instruction which isn't available on
CPU32, breaking compilation due to assembler errors.

This patch excludes the assembly-optimized version of
count_leading_zeros() for __mcpu32__, as for __mc68000__
and ColdFire targets.

The m68k headers cleanup has unintentionally enabled
the __mc68020__ pre-processor symbol for CPU32. This isn't
necessairly a bad thing. Internally, TARGET_CPU32 is just
TARGET_68020 without the bit-fields instructions, so it's
more appropriate to handle the few places where inline asm
uses these unimplemented opcodes.


2003-08-03  Bernardo Innocenti  <bernie@develer.com>

	PR 9697
	* longlong.h (count_leading_zeros): Exclude on __mcpu32__.

diff -u -3 -p -c -p -r1.37 longlong.h
*** longlong.h	30 Jul 2003 17:40:17 -0000	1.37
--- longlong.h	3 Aug 2003 05:45:37 -0000
*************** UDItype __umulsidi3 (USItype, USItype);
*** 482,492 ****
  #endif /* not mcf5200 */
  #endif /* not mc68020 */
  
! /* The '020, '030, '040 and '060 have bitfield insns.  */
! #if defined (__mc68020__) || defined(mc68020) \
! 	|| defined(__mc68030__) || defined(mc68030) \
! 	|| defined(__mc68040__) || defined(mc68040) \
! 	|| defined(__mc68060__) || defined(mc68060)
  #define count_leading_zeros(count, x) \
    __asm__ ("bfffo %1{%b2:%b2},%0"					\
  	   : "=d" ((USItype) (count))					\
--- 482,494 ----
  #endif /* not mcf5200 */
  #endif /* not mc68020 */
  
! /* The '020, '030, '040 and '060 have bitfield insns.
!    cpu32 disguises as a 68020, but lacks them.  */
! #if ( defined (__mc68020__) || defined(mc68020) \
! 		|| defined(__mc68030__) || defined(mc68030) \
! 		|| defined(__mc68040__) || defined(mc68040) \
! 		|| defined(__mc68060__) || defined(mc68060) ) \
! 	&& !defined(__mcpu32__)
  #define count_leading_zeros(count, x) \
    __asm__ ("bfffo %1{%b2:%b2},%0"					\
  	   : "=d" ((USItype) (count))					\
