]> gcc.gnu.org Git - gcc.git/commitdiff
h8300.c (get_shift_alg): Remove an argument cpu.
authorKazu Hirata <kazu@hxi.com>
Tue, 9 Jan 2001 20:02:35 +0000 (20:02 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Tue, 9 Jan 2001 20:02:35 +0000 (20:02 +0000)
2001-01-09  Kazu Hirata  <kazu@hxi.com>

* config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
Change an argument mode of machine_mode to shift_mode of
shift_mode.  Remove an extra error check.
(emit_a_shift): Adopt to the new calling prototype of
get_shift_alg.

From-SVN: r38839

gcc/ChangeLog
gcc/config/h8300/h8300.c

index 01a368be6ba1c140e04e167811efc4884aef4687..94d8ca4e8624405c97de019bd8f4577737df5f1b 100644 (file)
@@ -1,3 +1,11 @@
+2001-01-09  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
+       Change an argument mode of machine_mode to shift_mode of
+       shift_mode.  Remove an extra error check.
+       (emit_a_shift): Adopt to the new calling prototype of
+       get_shift_alg.
+
 2001-01-09  Nick Clifton  <nickc@redhat.com>
 
        * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
index d34903b294f80f930edf7428636c485e53e408e8..0f88433aff26c331f08ad4de577744534c9b4e2a 100644 (file)
@@ -1961,8 +1961,8 @@ static const char *const rotate_two[3][3] =
     }
 };
 
-static enum shift_alg get_shift_alg PARAMS ((enum attr_cpu, enum shift_type,
-                                            enum machine_mode, int,
+static enum shift_alg get_shift_alg PARAMS ((enum shift_type,
+                                            enum shift_mode, int,
                                             const char **, const char **,
                                             int *));
 
@@ -1980,47 +1980,23 @@ static enum shift_alg get_shift_alg PARAMS ((enum attr_cpu, enum shift_type,
    1,2,3,4 will be inlined (1,2 for SI).  */
 
 static enum shift_alg
-get_shift_alg (cpu, shift_type, mode, count, assembler_p,
+get_shift_alg (shift_type, shift_mode, count, assembler_p,
               assembler2_p, cc_valid_p)
-     enum attr_cpu cpu;
      enum shift_type shift_type;
-     enum machine_mode mode;
+     enum shift_mode shift_mode;
      int count;
      const char **assembler_p;
      const char **assembler2_p;
      int *cc_valid_p;
 {
-  enum shift_mode shift_mode;
-
-  /* We don't handle negative shifts or shifts greater than the word size,
-     they should have been handled already.  */
-
-  if (count < 0 || (unsigned int) count > GET_MODE_BITSIZE (mode))
-    abort ();
-
-  switch (mode)
-    {
-    case QImode:
-      shift_mode = QIshift;
-      break;
-    case HImode:
-      shift_mode = HIshift;
-      break;
-    case SImode:
-      shift_mode = SIshift;
-      break;
-    default:
-      abort ();
-    }
-
   /* Assume either SHIFT_LOOP or SHIFT_INLINE.
      It is up to the caller to know that looping clobbers cc.  */
-  *assembler_p = shift_one[cpu][shift_type][shift_mode].assembler;
+  *assembler_p = shift_one[cpu_type][shift_type][shift_mode].assembler;
   if (TARGET_H8300S)
     *assembler2_p = shift_two[shift_type][shift_mode].assembler;
   else
     *assembler2_p = NULL;
-  *cc_valid_p = shift_one[cpu][shift_type][shift_mode].cc_valid;
+  *cc_valid_p = shift_one[cpu_type][shift_type][shift_mode].cc_valid;
 
   /* Now look for cases we want to optimize.  */
 
@@ -2050,7 +2026,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p,
            return SHIFT_LOOP;
 
          /* Other shifts by 5, 6, or 7 bits use SHIFT_ROT_AND.  */
-         *assembler_p = rotate_one[cpu][shift_type][shift_mode];
+         *assembler_p = rotate_one[cpu_type][shift_type][shift_mode];
          if (TARGET_H8300S)
            *assembler2_p = rotate_two[shift_type][shift_mode];
          *cc_valid_p = 0;
@@ -2239,7 +2215,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p,
            }
          else if (shift_type != SHIFT_ASHIFTRT)
            {
-             *assembler_p = rotate_one[cpu][shift_type][shift_mode];
+             *assembler_p = rotate_one[cpu_type][shift_type][shift_mode];
              if (TARGET_H8300S)
                *assembler2_p = rotate_two[shift_type][shift_mode];
              else
@@ -2428,7 +2404,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p,
            }
          else
            {
-             *assembler_p = rotate_one[cpu][shift_type][shift_mode];
+             *assembler_p = rotate_one[cpu_type][shift_type][shift_mode];
              if (TARGET_H8300S)
                *assembler2_p = rotate_two[shift_type][shift_mode];
              else
@@ -2461,7 +2437,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p,
                }
              else
                {
-                 *assembler_p = rotate_one[cpu][shift_type][shift_mode];
+                 *assembler_p = rotate_one[cpu_type][shift_type][shift_mode];
                  if (TARGET_H8300S)
                    *assembler2_p = rotate_two[shift_type][shift_mode];
                  else
@@ -2537,7 +2513,7 @@ emit_a_shift (insn, operands)
       fprintf (asm_out_file, "\tble    .Lle%d\n", loopend_lab);
 
       /* Get the assembler code to do one shift.  */
-      get_shift_alg (cpu_type, shift_type, mode, 1, &assembler,
+      get_shift_alg (shift_type, shift_mode, 1, &assembler,
                     &assembler2, &cc_valid);
 
       fprintf (asm_out_file, ".Llt%d:\n", loopend_lab);
@@ -2562,7 +2538,7 @@ emit_a_shift (insn, operands)
       else if ((unsigned int) n > GET_MODE_BITSIZE (mode))
        n = GET_MODE_BITSIZE (mode);
 
-      alg = get_shift_alg (cpu_type, shift_type, mode, n, &assembler,
+      alg = get_shift_alg (shift_type, shift_mode, n, &assembler,
                           &assembler2, &cc_valid);
 
       switch (alg)
This page took 0.088946 seconds and 5 git commands to generate.