summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorclaziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4>2017-05-09 14:19:22 +0000
committerclaziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4>2017-05-09 14:19:22 +0000
commit6abb17b8ac316562e222cc73067b291df9f8d5a7 (patch)
treee1214c456606fb611b8e63d9e124aee1b065bc08 /ChangeLog
parent666ae675ad1305b96f42363aa897ef62ebd39f0a (diff)
downloadgcc-6abb17b8ac316562e222cc73067b291df9f8d5a7.tar.gz
[ARC] Automatic context save/restore for regular interrupts.
The AUX_IRQ_CTRL register controls the behavior of automated register save and restore or prologue and epilogue sequences during a non-fast interrupt entry and exit, and context save and restore instructions. A user passes to the compiler the configuration of the AUX_IRQ_CTRL register via mirq-ctrl-saved option. This option, specifies gneral-purposes registers that the processor saves/restores on interrupt entry and exit, and it is only valid for ARC EM and ARC HS cores. gcc/ 2017-05-09 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (irq_ctrl_saved): New variable. (ARC_AUTOBLINK_IRQ_P): Define. (ARC_AUTOFP_IRQ_P): Likewise. (ARC_AUTO_IRQ_P): Likewise. (irq_range): New function. (arc_must_save_register): Likewise. (arc_must_save_return_addr): Likewise. (arc_dwarf_emit_irq_save_regs): Likewise. (arc_override_options): Handle deferred options. (MUST_SAVE_REGISTER): Deleted, replaced by arc_must_save_register. (MUST_SAVE_RETURN_ADDR): Deleted, replaced by arc_must_save_return_addr. (arc_compute_frame_size): Handle automated save and restore of registers. (arc_expand_prologue): Likewise. (arc_expand_epilogue): Likewise. * config/arc/arc.md (stack_irq_dwarf): New unspec instruction. * config/arc/arc.opt (mirq-ctrl-saved): New option. * doc/invoke.texi (mirq-ctrl-saved): Document option. testsuite/ 2017-05-09 Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/interrupt-5.c: Newfile. * gcc.target/arc/interrupt-6.c: Likewise. * gcc.target/arc/interrupt-7.c: Likewise. * gcc.target/arc/interrupt-8.c: Likewise. * gcc.target/arc/interrupt-9.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247795 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog22
1 files changed, 22 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6066ba6e82e..530ade2d031 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2017-05-09 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/arc.c (irq_ctrl_saved): New variable.
+ (ARC_AUTOBLINK_IRQ_P): Define.
+ (ARC_AUTOFP_IRQ_P): Likewise.
+ (ARC_AUTO_IRQ_P): Likewise.
+ (irq_range): New function.
+ (arc_must_save_register): Likewise.
+ (arc_must_save_return_addr): Likewise.
+ (arc_dwarf_emit_irq_save_regs): Likewise.
+ (arc_override_options): Handle deferred options.
+ (MUST_SAVE_REGISTER): Deleted, replaced by arc_must_save_register.
+ (MUST_SAVE_RETURN_ADDR): Deleted, replaced by
+ arc_must_save_return_addr.
+ (arc_compute_frame_size): Handle automated save and restore of
+ registers.
+ (arc_expand_prologue): Likewise.
+ (arc_expand_epilogue): Likewise.
+ * config/arc/arc.md (stack_irq_dwarf): New unspec instruction.
+ * config/arc/arc.opt (mirq-ctrl-saved): New option.
+ * doc/invoke.texi (mirq-ctrl-saved): Document option.
+
2017-04-19 Thomas Koenig <tkoenig@gcc.gnu.org>
Tobias Burnus <tobias.burnus@physik.fu-berlin.de>