]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/pa/pa.c
PR optimization/12630
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 8 Nov 2003 20:36:30 +0000 (20:36 +0000)
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 8 Nov 2003 20:36:30 +0000 (20:36 +0000)
commita7e1bb2457dfd5e4dac887d850573aded2a322b3
tree63aafd1067bf87ae1d6116cc2f87f72d9b889f0f
parenta0b53ce066ead4bdc055e3d3e8172bb6fea99403
PR optimization/12630
* pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
Handle length computation 64-bit moves.
(compute_clrstr_length, output_block_clear): Implement block clear.
(output_block_move): Handle 64-bit moves.
(pa_adjust_insn_length): Use compute_movstr_length and
compute_clrstr_length.
* pa.md (movstrsi): Revise operand order and comments.  Don't use
match_scratch.
(movstrsi_internal): Delete.
(movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
and peephole2 patterns to transform prereload to postreload form.
(movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
clrstrdi_postreload): New patterns for 64-bit block move, and block
clear.
* pa-protos.h (output_block_clear): New prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73375 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/pa/pa-protos.h
gcc/config/pa/pa.c
gcc/config/pa/pa.md