+Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
+
+ * reload.c (find_valid_class): Fix thinko in my previous patch.
+
2002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
enum reg_class best_class = NO_REGS;
enum reg_class dest_class = REGNO_REG_CLASS (dest_regno);
unsigned int best_size = 0;
+ int cost;
for (class = 1; class < N_REG_CLASSES; class++)
{
&& ! HARD_REGNO_MODE_OK (regno + n, m1))
bad = 1;
- if (! bad && reg_class_size[class] > best_size
- && (best_cost < 0
- || best_cost >= REGISTER_MOVE_COST (m1, class, dest_class)))
+ if (bad)
+ continue;
+ cost = REGISTER_MOVE_COST (m1, class, dest_class);
+
+ if ((reg_class_size[class] > best_size
+ && (best_cost < 0 || best_cost >= cost))
+ || best_cost > cost)
{
best_class = class;
best_size = reg_class_size[class];