Changes To Fixup Saving, Restoring and Swapping

John Healy jhealy@redhat.com
Thu Jul 5 09:47:00 GMT 2001


Hi,

A port I'm working on requires packing a set of instructions (two at
this point, more later) into a vliw word.   In order to be able to
handle more than two instructions at a time during assembly, an
enhancement to the gas_cgen_[save/restore/swap]_fixups mechanism is
required. Currently this mechanism allows for one set of fixups to be
store then restored to/swapped with the current set.   I've made some
modifications so that fixup chains for many instructions can be stored
and selected from for restores and swaps.  Just in case it might be of
use, I've also added a little extra feature that allows for the current
fixups to be either kept or cleared when stored and for a set of stored
fixups to be either kept or cleared when restored.   I threw some
documentation in too.

Everything is still done essentially the way it was originally, only the
operations are preformed on the elements of an array, each of which
stores a fixup chain and a fixup count.

The only port that is affected by the changes is m32r .  I updated
tc-m32r.c to reflect the new calling inteface and ran the gas
testsuite.  There are no regressions.

The patch is attached.  Let me know if there are any comments or
objections. If there are none, I'll check it in in a day or so.

Thanks,

John Healy
Simulation Engineer
Red Hat
jhealy@redhat.com


More information about the Binutils mailing list