+2006-05-23 Richard Sandiford <richard@codesourcery.com>
+
+ * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
+ (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
+ MIN_UNITS_PER_WORD to set the default. Also use it in the guard.
+
2006-05-23 Joseph Myers <joseph@codesourcery.com>
* expr.c (undefined_operand_subword_p): New.
#define MIN_UNITS_PER_WORD UNITS_PER_WORD
#endif
+/* Work out the largest "word" size that we can deal with on this target. */
+#if MIN_UNITS_PER_WORD > 4
+# define LIBGCC2_MAX_UNITS_PER_WORD 8
+#elif (MIN_UNITS_PER_WORD > 2 \
+ || (MIN_UNITS_PER_WORD > 1 && LONG_LONG_TYPE_SIZE > 32))
+# define LIBGCC2_MAX_UNITS_PER_WORD 4
+#else
+# define LIBGCC2_MAX_UNITS_PER_WORD MIN_UNITS_PER_WORD
+#endif
+
+/* Work out what word size we are using for this compilation.
+ The value can be set on the command line. */
#ifndef LIBGCC2_UNITS_PER_WORD
-# if MIN_UNITS_PER_WORD > 4
-# define LIBGCC2_UNITS_PER_WORD 8
-# elif (MIN_UNITS_PER_WORD > 2 \
- || (MIN_UNITS_PER_WORD > 1 && LONG_LONG_TYPE_SIZE > 32))
-# define LIBGCC2_UNITS_PER_WORD 4
-# else
-# define LIBGCC2_UNITS_PER_WORD MIN_UNITS_PER_WORD
-# endif
+#define LIBGCC2_UNITS_PER_WORD LIBGCC2_MAX_UNITS_PER_WORD
#endif
-#if LIBGCC2_UNITS_PER_WORD <= MIN_UNITS_PER_WORD
+#if LIBGCC2_UNITS_PER_WORD <= LIBGCC2_MAX_UNITS_PER_WORD
#include "libgcc2.h"
\f