Commit a5b38740 by Oleg Endo

re PR other/12081 (Gcc can't be compiled with -mregparm=3)

	PR other/12081
	config/rs6000/rs6000.c (gen_2arg_fn_t): Remove typedef.
	(rs6000_emit_swdiv, rs6000_emit_swrsqrt): Don't cast result of GEN_FCN
	to gen_2arg_fn_t.

From-SVN: r201580
parent 364ed4ba
2013-08-07 Oleg Endo <olegendo@gcc.gnu.org>
PR other/12081
config/rs6000/rs6000.c (gen_2arg_fn_t): Remove typedef.
(rs6000_emit_swdiv, rs6000_emit_swrsqrt): Don't cast result of GEN_FCN
to gen_2arg_fn_t.
2013-08-07 Eric Botcazou <ebotcazou@adacore.com>
* rtl.h (update_alignments): Declare.
......
......@@ -284,9 +284,6 @@ static struct
{ "rsqrtd", (RECIP_DF_RSQRT | RECIP_V2DF_RSQRT) },
};
/* 2 argument gen function typedef. */
typedef rtx (*gen_2arg_fn_t) (rtx, rtx, rtx);
/* Pointer to function (in rs6000-c.c) that can define or undefine target
macros that have changed. Languages that don't support the preprocessor
don't link in rs6000-c.c, so we can't call it directly. */
......@@ -28139,7 +28136,7 @@ rs6000_emit_swdiv (rtx dst, rtx n, rtx d, bool note_p)
passes++;
enum insn_code code = optab_handler (smul_optab, mode);
gen_2arg_fn_t gen_mul = (gen_2arg_fn_t) GEN_FCN (code);
insn_gen_fn gen_mul = GEN_FCN (code);
gcc_assert (code != CODE_FOR_nothing);
......@@ -28217,7 +28214,7 @@ rs6000_emit_swrsqrt (rtx dst, rtx src)
int i;
rtx halfthree;
enum insn_code code = optab_handler (smul_optab, mode);
gen_2arg_fn_t gen_mul = (gen_2arg_fn_t) GEN_FCN (code);
insn_gen_fn gen_mul = GEN_FCN (code);
gcc_assert (code != CODE_FOR_nothing);
......
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