This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

open-code arbitrary moves for modes with the same size as a word.


-- 
--------------------------
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;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]