Commit 9789584b by Kazu Hirata Committed by Kazu Hirata

h8300.c (get_shift_alg): Remove an argument cpu.

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
parent 00dba523
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> 2001-01-09 Nick Clifton <nickc@redhat.com>
* config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete. * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
......
...@@ -1961,8 +1961,8 @@ static const char *const rotate_two[3][3] = ...@@ -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, static enum shift_alg get_shift_alg PARAMS ((enum shift_type,
enum machine_mode, int, enum shift_mode, int,
const char **, const char **, const char **, const char **,
int *)); int *));
...@@ -1980,47 +1980,23 @@ static enum shift_alg get_shift_alg PARAMS ((enum attr_cpu, enum shift_type, ...@@ -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). */ 1,2,3,4 will be inlined (1,2 for SI). */
static enum shift_alg 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) assembler2_p, cc_valid_p)
enum attr_cpu cpu;
enum shift_type shift_type; enum shift_type shift_type;
enum machine_mode mode; enum shift_mode shift_mode;
int count; int count;
const char **assembler_p; const char **assembler_p;
const char **assembler2_p; const char **assembler2_p;
int *cc_valid_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. /* Assume either SHIFT_LOOP or SHIFT_INLINE.
It is up to the caller to know that looping clobbers cc. */ 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) if (TARGET_H8300S)
*assembler2_p = shift_two[shift_type][shift_mode].assembler; *assembler2_p = shift_two[shift_type][shift_mode].assembler;
else else
*assembler2_p = NULL; *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. */ /* Now look for cases we want to optimize. */
...@@ -2050,7 +2026,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p, ...@@ -2050,7 +2026,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p,
return SHIFT_LOOP; return SHIFT_LOOP;
/* Other shifts by 5, 6, or 7 bits use SHIFT_ROT_AND. */ /* 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) if (TARGET_H8300S)
*assembler2_p = rotate_two[shift_type][shift_mode]; *assembler2_p = rotate_two[shift_type][shift_mode];
*cc_valid_p = 0; *cc_valid_p = 0;
...@@ -2239,7 +2215,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p, ...@@ -2239,7 +2215,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p,
} }
else if (shift_type != SHIFT_ASHIFTRT) 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) if (TARGET_H8300S)
*assembler2_p = rotate_two[shift_type][shift_mode]; *assembler2_p = rotate_two[shift_type][shift_mode];
else else
...@@ -2428,7 +2404,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p, ...@@ -2428,7 +2404,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p,
} }
else else
{ {
*assembler_p = rotate_one[cpu][shift_type][shift_mode]; *assembler_p = rotate_one[cpu_type][shift_type][shift_mode];
if (TARGET_H8300S) if (TARGET_H8300S)
*assembler2_p = rotate_two[shift_type][shift_mode]; *assembler2_p = rotate_two[shift_type][shift_mode];
else else
...@@ -2461,7 +2437,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p, ...@@ -2461,7 +2437,7 @@ get_shift_alg (cpu, shift_type, mode, count, assembler_p,
} }
else else
{ {
*assembler_p = rotate_one[cpu][shift_type][shift_mode]; *assembler_p = rotate_one[cpu_type][shift_type][shift_mode];
if (TARGET_H8300S) if (TARGET_H8300S)
*assembler2_p = rotate_two[shift_type][shift_mode]; *assembler2_p = rotate_two[shift_type][shift_mode];
else else
...@@ -2537,7 +2513,7 @@ emit_a_shift (insn, operands) ...@@ -2537,7 +2513,7 @@ emit_a_shift (insn, operands)
fprintf (asm_out_file, "\tble .Lle%d\n", loopend_lab); fprintf (asm_out_file, "\tble .Lle%d\n", loopend_lab);
/* Get the assembler code to do one shift. */ /* 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); &assembler2, &cc_valid);
fprintf (asm_out_file, ".Llt%d:\n", loopend_lab); fprintf (asm_out_file, ".Llt%d:\n", loopend_lab);
...@@ -2562,7 +2538,7 @@ emit_a_shift (insn, operands) ...@@ -2562,7 +2538,7 @@ emit_a_shift (insn, operands)
else if ((unsigned int) n > GET_MODE_BITSIZE (mode)) else if ((unsigned int) n > GET_MODE_BITSIZE (mode))
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); &assembler2, &cc_valid);
switch (alg) switch (alg)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment