aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000
diff options
context:
space:
mode:
authorOleg Endo <olegendo@gcc.gnu.org>2013-08-07 19:20:37 +0000
committerOleg Endo <olegendo@gcc.gnu.org>2013-08-07 19:20:37 +0000
commita5b38740ff3d76b48bec5e8ee5d1205dbf1b9705 (patch)
tree6509d42bc7e0d761526e91db361a2eda126b7c20 /gcc/config/rs6000
parent364ed4bac6400aa6645064c6b9e7e518f08dab54 (diff)
downloadgcc-a5b38740ff3d76b48bec5e8ee5d1205dbf1b9705.zip
gcc-a5b38740ff3d76b48bec5e8ee5d1205dbf1b9705.tar.gz
gcc-a5b38740ff3d76b48bec5e8ee5d1205dbf1b9705.tar.bz2
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
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r--gcc/config/rs6000/rs6000.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index bb484c2..c239374 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);