Autoincrement patches

Michael Hayes m.hayes@elec.canterbury.ac.nz
Wed Dec 22 13:47:00 GMT 1999


Joern Rennecke writes:
 > The c4x can use register + offset addressing for floating point
 > values.

Yes, but the opcode address encoding is less compact.

 > For other targets, when there is a choice between a series of register+offset
 > memory accesses and an increment, or a series of auto-increments, the
 > former is often preferable, because it give more freedom for instruction
 > scheduling, and gives more opportunities for super-scalar instruction
 > execution.
 > (Of course the balance changes with -Os.)
 > 
 > If this kind of optimiation is wanted for the c4x, we'd have to have a
 > command-line flag (which could be pre-selected in OPTIMIZATION_OPTIONS)
 > and/or a target macro to select it.

Yes, until the scheduler is smart enough to handle autoincrements,
this would be wise for superscalar architectures.  On the C4x, the
benefits of using autoincrement are so great that I'd always enable
it.

Michael.



More information about the Gcc-patches mailing list