diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2012-03-09 04:17:02 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2012-03-08 20:17:02 -0800 |
commit | cc8459239b4a2dbdaf042e6e108cccaa249e554c (patch) | |
tree | 072d25a57e83bf59543cb61401b4ddeba4649ff5 /gcc/ada/gcc-interface/ada-tree.h | |
parent | 78d162367846e7cf9f0588bfb3be960caf3ed614 (diff) | |
download | gcc-cc8459239b4a2dbdaf042e6e108cccaa249e554c.zip gcc-cc8459239b4a2dbdaf042e6e108cccaa249e554c.tar.gz gcc-cc8459239b4a2dbdaf042e6e108cccaa249e554c.tar.bz2 |
Use word_mode to push/pop register for x86
2012-03-08 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (setup_incoming_varargs_64): Use word_mode
with integer parameters in registers.
(gen_push): Push register in word_mode instead of Pmode.
(ix86_emit_save_regs): Likewise.
(ix86_emit_save_regs_using_mov): Save integer registers in
word_mode.
(gen_pop): Pop register in word_mode instead of Pmode.
(ix86_emit_restore_regs_using_pop): Likewise.
(ix86_expand_prologue): Replace Pmode with word_mode for push
immediate. Use ix86_gen_pro_epilogue_adjust_stack. Save and
restore RAX and R10 in word_mode.
(ix86_emit_restore_regs_using_mov): Restore integer registers
in word_mode.
(ix86_expand_split_stack_prologue): Save R10_REG and restore in
word_mode.
(ix86_split_to_parts): Use word_mode with PUT_MODE for push.
(ix86_split_long_move): Likewise.
* config/i386/i386.md (W): New.
(*push<mode>2_prologue): Replace :P with :W.
(*pop<mode>1): Likewise.
(*pop<mode>1_epilogue): Likewise.
(push/pop peephole2): Use word_mode scratch registers.
From-SVN: r185123
Diffstat (limited to 'gcc/ada/gcc-interface/ada-tree.h')
0 files changed, 0 insertions, 0 deletions