[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/21683] New: [avr] Support a pseudo-instruction to allow more ef
gjl at gcc dot gnu.org
[Bug gas/21683] New: [avr] Support a pseudo-instruction to allow more efficient GCC ISR prologues
Wed, 28 Jun 2017 10:56:28 +0000
Bug ID: 21683
Summary: [avr] Support a pseudo-instruction to allow more
efficient GCC ISR prologues
Assignee: unassigned at sourceware dot org
Reporter: gjl at gcc dot gnu.org
Target Milestone: ---
Background: avr-gcc currently generated ISR prologues and epilogues less
efficient than possible. This is due to avr back-end design and decisions.
Solving this in avr-gcc alone would be inappropriately amount of work and
instability, maybe even reducing code performance in other places than ISRs.
This is the reason for why
is open for > 12 years now and has been suspended.
A comined GCC + GAS approach would be feasible, and this PR is the GAS part:
GAS implements a __gcc_isr pseudo-instruction which scans the code and emits
parts of ISR prologue and epilogue.
__gcc_isr 1: GAS will replace it by an ISR prologue chunk (at most 6 insns).
__gcc_isr 2: GAS will replace it by an ISR epilogue chunk (at most 5 insns).
__gcc_isr 0, Rx: Scan the code since the last prologue chunk and replace all
encountered prologue and epilogue chunks by appropriate code. Rx is general
During parse (md_assemble), prologue and epilogue chunks are represented as
rs_machine_dependent fragments. If "__gcc_isr 0, Rx" is seen, all
rs_machine_dependent fragments in the current chain are transformed into
ordinary rs_fill code fragments of then known fixed size.
After parse (md_pre_output_hook) a sanity check is performed which reports any
__gcc_isr is only available with the new command line option -mgcc-isr
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug gas/21683] New: [avr] Support a pseudo-instruction to allow more efficient GCC ISR prologues,
gjl at gcc dot gnu.org <=