Mon May 22 13:14:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ * optabs.c (can_extend_p): Allow unsignedp to have any nonzero value.
+ (gen_extend_insn, can_fix_p, can_float_p): Likewise.
+
* final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove
dangling "else" that causes "break" to be conditional.
Also remove unneeded code at start.
enum machine_mode to_mode, from_mode;
int unsignedp;
{
- return extendtab[(int) to_mode][(int) from_mode][unsignedp];
+ return extendtab[(int) to_mode][(int) from_mode][unsignedp != 0];
}
/* Generate the body of an insn to extend Y (with mode MFROM)
enum machine_mode mto, mfrom;
int unsignedp;
{
- return (GEN_FCN (extendtab[(int) mto][(int) mfrom][unsignedp]) (x, y));
+ return (GEN_FCN (extendtab[(int) mto][(int) mfrom][unsignedp != 0]) (x, y));
}
\f
/* can_fix_p and can_float_p say whether the target machine
int *truncp_ptr;
{
*truncp_ptr = 0;
- if (fixtrunctab[(int) fltmode][(int) fixmode][unsignedp] != CODE_FOR_nothing)
- return fixtrunctab[(int) fltmode][(int) fixmode][unsignedp];
+ if (fixtrunctab[(int) fltmode][(int) fixmode][unsignedp != 0]
+ != CODE_FOR_nothing)
+ return fixtrunctab[(int) fltmode][(int) fixmode][unsignedp != 0];
if (ftrunc_optab->handlers[(int) fltmode].insn_code != CODE_FOR_nothing)
{
*truncp_ptr = 1;
- return fixtab[(int) fltmode][(int) fixmode][unsignedp];
+ return fixtab[(int) fltmode][(int) fixmode][unsignedp != 0];
}
return CODE_FOR_nothing;
}
enum machine_mode fixmode, fltmode;
int unsignedp;
{
- return floattab[(int) fltmode][(int) fixmode][unsignedp];
+ return floattab[(int) fltmode][(int) fixmode][unsignedp != 0];
}
\f
/* Generate code to convert FROM to floating point