summaryrefslogtreecommitdiff
path: root/gcc/genopinit.c
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-19 14:22:16 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-19 14:22:16 +0000
commitb3154a1fe8d994ac93925dc544f36284631adba3 (patch)
treec7f3ade8c5e3a25441fdd08fc75af39c939d4fb2 /gcc/genopinit.c
parent5f618887d781e00867224feb78ad9f6357fef26d (diff)
downloadgcc-b3154a1fe8d994ac93925dc544f36284631adba3.tar.gz
* optabs.h (enum optab_index): Add new OTI_significand.
(significand_optab): Define corresponding macro. * optabs.c (init_optabs): Initialize significand_optab. * genopinit.c (optabs): Implement significand_optab using significand?f2 patterns. * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_SIGNIFICAND{,F,L}. (expand_builtin): Expand BUILT_IN_SIGNIFICAND{,F,L} using expand_builtin_mathfn if flag_unsafe_math_optimizations is set. * config/i386/i386.md (significandxf2, significand<mode>2): New expanders to implement significandf, significand and significandl built-ins as inline x87 intrinsics. testsuite/ChangeLog: * gcc.dg/builtins-34.c: Add significand cases. PR testsuite/40491 * testsuite/gcc.dg/20080522-1.c: Remove testcase for real. * testsuite/gcc.dg/20080528-1.c: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148705 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genopinit.c')
-rw-r--r--gcc/genopinit.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/genopinit.c b/gcc/genopinit.c
index f8cbf9549f8..52e0dd9462a 100644
--- a/gcc/genopinit.c
+++ b/gcc/genopinit.c
@@ -178,6 +178,7 @@ static const char * const optabs[] =
"optab_handler (expm1_optab, $A)->insn_code = CODE_FOR_$(expm1$a2$)",
"optab_handler (ldexp_optab, $A)->insn_code = CODE_FOR_$(ldexp$a3$)",
"optab_handler (scalb_optab, $A)->insn_code = CODE_FOR_$(scalb$a3$)",
+ "optab_handler (significand_optab, $A)->insn_code = CODE_FOR_$(significand$a2$)",
"optab_handler (logb_optab, $A)->insn_code = CODE_FOR_$(logb$a2$)",
"optab_handler (ilogb_optab, $A)->insn_code = CODE_FOR_$(ilogb$a2$)",
"optab_handler (log_optab, $A)->insn_code = CODE_FOR_$(log$a2$)",