Commit 78bd5210 by Roger Sayle Committed by Roger Sayle

convert.c (convert_to_real): Also optimize (float)log(x) into logf(x) where x is a float, i.e.


	* convert.c (convert_to_real): Also optimize (float)log(x) into
	logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.

From-SVN: r63087
parent 34fcb7c8
2003-02-18 Roger Sayle <roger@eyesopen.com>
* convert.c (convert_to_real): Also optimize (float)log(x) into
logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
2003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.c (unspec_caller_rtx_p): New.
......
/* Utility routines for data type conversion for GNU C.
Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1997,
1998 Free Software Foundation, Inc.
Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1997, 1998,
2000, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
......@@ -133,15 +133,17 @@ convert_to_real (type, expr)
/* Disable until we figure out how to decide whether the functions are
present in runtime. */
/* Convert (float)sqrt((double)x) where x is float into sqrtf(x) */
if ((fcode == BUILT_IN_SQRT
|| fcode == BUILT_IN_SQRTL
|| fcode == BUILT_IN_SIN
|| fcode == BUILT_IN_SINL
|| fcode == BUILT_IN_COS
|| fcode == BUILT_IN_COSL
|| fcode == BUILT_IN_EXP
|| fcode == BUILT_IN_EXPL)
&& optimize
if (optimize
&& (fcode == BUILT_IN_SQRT
|| fcode == BUILT_IN_SQRTL
|| fcode == BUILT_IN_SIN
|| fcode == BUILT_IN_SINL
|| fcode == BUILT_IN_COS
|| fcode == BUILT_IN_COSL
|| fcode == BUILT_IN_EXP
|| fcode == BUILT_IN_EXPL
|| fcode == BUILT_IN_LOG
|| fcode == BUILT_IN_LOGL)
&& (TYPE_MODE (type) == TYPE_MODE (double_type_node)
|| TYPE_MODE (type) == TYPE_MODE (float_type_node)))
{
......
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