This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fix C6X FP insn scheduling


Scheduling floating point insns is broken on C6X; unfortunately in a way
that the simulator doesn't detect.

We let the sched DFA pick a valid schedule, and later on we try to
reconstruct a valid unit assignment. This does not work if an insn has
multiple units it can choose, and that insn's reservation spans multiple
cycles. FP insns match both of these conditions.

The following patch fixes it, by using the previously added
collapse-ndfa option and some special functional units, and querying CPU
units at the end of each cycle.


Bernd

Attachment: c6x-fpfix-4.7.diff
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]