diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ef531ab020f3027ecf50e6507fff4300ccd2281..3f7d96e6fd0422b7a7f1120c54093605e2a1cc07 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-01-19 Dirk Mueller <dmueller@suse.de> + + * config/i386.h (CONDITIONAL_REGISTER_USAGE): Store + result of PIC_OFFSET_TABLE_REGNUM in temporary variable to avoid + duplicate evaluation. + 2007-01-19 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (acos<mode>2): Rename from acossf2 and acosdf2. diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index 7ccecafd9eb62eb370b6997bb7868b2d83c2c787..19dabcc630a0b5bb64c6d0e43dfbb30b211d9adf 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -854,6 +854,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); #define CONDITIONAL_REGISTER_USAGE \ do { \ int i; \ + unsigned int j; \ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) \ { \ if (fixed_regs[i] > 1) \ @@ -862,10 +863,11 @@ do { \ call_used_regs[i] = (call_used_regs[i] \ == (TARGET_64BIT ? 3 : 2)); \ } \ - if (PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM) \ + j = PIC_OFFSET_TABLE_REGNUM; \ + if (j != INVALID_REGNUM) \ { \ - fixed_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \ - call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \ + fixed_regs[j] = 1; \ + call_used_regs[j] = 1; \ } \ if (! TARGET_MMX) \ { \