summaryrefslogtreecommitdiff
path: root/gcc/targhooks.h
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2007-06-18 10:30:47 +0200
committerUros Bizjak <uros@gcc.gnu.org>2007-06-18 10:30:47 +0200
commitac10986fadc255c27db122daa244f8f71c5462f2 (patch)
treea70a489abddc4e7f99e532e8ae5b8057df6f9b21 /gcc/targhooks.h
parenta8d8890adb3be434ee6eec4f104f322e6c247c5a (diff)
downloadgcc-ac10986fadc255c27db122daa244f8f71c5462f2.tar.gz
re PR tree-optimization/32383 (ICE with reciprocals and -ffast-math)
PR tree-optimization/32383 * targhooks.c (default_builtin_reciprocal): Add new bool argument. * targhooks.h (default_builtin_reciprocal): Update prototype. * target.h (struct gcc_target): Update builtin_reciprocal. * doc/tm.texi (TARGET_BUILTIN_RECIPROCAL): Update description. * tree-ssa-math-opts (execute_cse_reciprocals): Skip statements where arg1 is not SSA_NAME. Pass true to targetm.builtin_reciprocal when fndecl is in BUILT_IN_MD class. (execute_convert_to_rsqrt): Ditto. * config/i386/i386.c (ix86_builtin_reciprocal): Update for new bool argument. Convert IX86_BUILTIN_SQRTPS code only when md_fn is true. Convert BUILT_IN_SQRTF code only when md_fn is false. testsuite/ChangeLog: PR tree-optimization/32383 * testsuite/g++.dg/opt/pr32383.C: New test. From-SVN: r125790
Diffstat (limited to 'gcc/targhooks.h')
-rw-r--r--gcc/targhooks.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/targhooks.h b/gcc/targhooks.h
index 81b0eca3a4e..412bf5de804 100644
--- a/gcc/targhooks.h
+++ b/gcc/targhooks.h
@@ -60,7 +60,7 @@ extern tree default_builtin_vectorized_function
extern tree default_builtin_vectorized_conversion (enum tree_code, tree);
-extern tree default_builtin_reciprocal (enum built_in_function, bool);
+extern tree default_builtin_reciprocal (enum built_in_function, bool, bool);
/* These are here, and not in hooks.[ch], because not all users of
hooks.h include tm.h, and thus we don't have CUMULATIVE_ARGS. */