* reload.c (find_valid_class): Fix thinko in my previous patch.

From-SVN: r54589
This commit is contained in:
Jan Hubicka 2002-06-13 18:20:02 +02:00 committed by Jan Hubicka
parent 6cde487644
commit b80cb6e29c
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,7 @@
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.

View File

@ -677,6 +677,7 @@ find_valid_class (m1, n, dest_regno)
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++)
{
@ -687,9 +688,13 @@ find_valid_class (m1, n, dest_regno)
&& ! 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];