i386.c (ix86_gen_leave): New.
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 3 Jun 2008 13:25:18 +0000 (13:25 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 3 Jun 2008 13:25:18 +0000 (06:25 -0700)
commit999d31941ee0ab35defc76482f04c3262b693eee
tree522af15fdcc3cb10e16fe6da784fdb332ba95191
parent90b484920aac380b54197200a758cb48702b7c5c
i386.c (ix86_gen_leave): New.

2008-06-03  H.J. Lu  <hongjiu.lu@intel.com>

*  config/i386/i386.c (ix86_gen_leave): New.
(ix86_gen_pop1): Likewise.
(ix86_gen_add3): Likewise.
(ix86_gen_sub3): Likewise.
(ix86_gen_sub3_carry): Likewise.
(ix86_gen_one_cmpl2): Likewise.
(ix86_gen_monitor): Likewise.
(override_options): Initialize ix86_gen_leave, ix86_gen_pop1,
ix86_gen_add3, ix86_gen_sub3, ix86_gen_sub3_carry,
ix86_gen_one_cmpl2 and ix86_gen_monitor.
(ix86_file_end): Use mov%z0 instead of mov{q}/mov{l}.
(output_set_got): Use mov%z0, pop%z0 and add%z0 instead of
mov{q}/mov{l}, pop{q}/pop{l} and add{q}/add{l}.
(ix86_expand_epilogue): Updated.
(print_operand): Handle integer register operand for 'z'.
(ix86_expand_strlensi_unroll_1): Likewise.
(ix86_expand_strlen): Likewise.
(ix86_expand_builtin): Likewise.
(x86_output_mi_thunk): Use mov%z1 and add%z1 instead of
mov{q}/mov{l} and add{q}/add{l}.

From-SVN: r136321
gcc/ChangeLog
gcc/config/i386/i386.c