diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4f292420f3d773e98d25fb68d3bdbb497711a888..fc8ce5c39ccd9decda7a08bf7624f2ffe5225f4d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-01-29 Jakub Jelinek <jakub@redhat.com> + + * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS + and INDEX_REGS the same as GENERAL_REGS. + (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. + 2002-01-29 Neil Booth <neil@daikokuya.demon.co.uk> * tree.c (build_nonstandard_integer_type): Correct prototype. diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 25705e6420ce4c483815dff5196999ef7ea5861b..58f65c11908fd45516391127f4c83f3e1a0ce6a4 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -1456,7 +1456,8 @@ enum reg_class #define LIMIT_RELOAD_CLASS(MODE, CLASS) \ ((MODE) == QImode && !TARGET_64BIT \ - && ((CLASS) == ALL_REGS || (CLASS) == GENERAL_REGS) \ + && ((CLASS) == ALL_REGS || (CLASS) == GENERAL_REGS \ + || (CLASS) == LEGACY_REGS || (CLASS) == INDEX_REGS) \ ? Q_REGS : (CLASS)) /* Given an rtx X being reloaded into a reg required to be @@ -1485,7 +1486,8 @@ enum reg_class pseudo. */ #define SECONDARY_OUTPUT_RELOAD_CLASS(CLASS, MODE, OUT) \ - ((CLASS) == GENERAL_REGS && !TARGET_64BIT && (MODE) == QImode \ + (((CLASS) == GENERAL_REGS || (CLASS) == LEGACY_REGS \ + || (CLASS) == INDEX_REGS) && !TARGET_64BIT && (MODE) == QImode \ ? Q_REGS : NO_REGS) /* Return the maximum number of consecutive registers