From a5b38740ff3d76b48bec5e8ee5d1205dbf1b9705 Mon Sep 17 00:00:00 2001 From: Oleg Endo Date: Wed, 7 Aug 2013 19:20:37 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 7 +++++++ gcc/config/rs6000/rs6000.c | 7 ++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 798a89966b0..2355c2efdbb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2013-08-07 Oleg Endo + + 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 * rtl.h (update_alignments): Declare. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index bb484c2c83c..c239374e8d3 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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); -- 2.30.2