This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
open-code arbitrary moves for modes with the same size as a word.
- From: Joern Rennecke <joern dot rennecke at superh dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 15 Jul 2002 23:09:57 +0100
- Subject: open-code arbitrary moves for modes with the same size as a word.
- Organization: SuperH UK Ltd.
--
--------------------------
SuperH
2430 Aztec West / Almondsbury / BRISTOL / BS32 4AQ
T:+44 1454 462330
This allows generic processing of vector modes that are the same size
as word.
Mon Jul 15 23:05:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
* expr.c (emit_move_insn_1): Handle arbitrary moves that are
the same size as a word.
Index: expr.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/expr.c,v
retrieving revision 1.468
diff -p -r1.468 expr.c
*** expr.c 13 Jul 2002 00:13:15 -0000 1.468
--- expr.c 15 Jul 2002 22:05:20 -0000
*************** emit_move_insn_1 (x, y)
*** 3058,3067 ****
return get_last_insn ();
}
! /* This will handle any multi-word mode that lacks a move_insn pattern.
! However, you will get better code if you define such patterns,
even if they must turn into multiple assembler instructions. */
! else if (GET_MODE_SIZE (mode) > UNITS_PER_WORD)
{
rtx last_insn = 0;
rtx seq, inner;
--- 3058,3067 ----
return get_last_insn ();
}
! /* This will handle any multi-word or full-word mode that lacks a move_insn
! pattern. However, you will get better code if you define such patterns,
even if they must turn into multiple assembler instructions. */
! else if (GET_MODE_SIZE (mode) >= UNITS_PER_WORD)
{
rtx last_insn = 0;
rtx seq, inner;