Commit c4256b35 by Janne Blomqvist

Don't use BUILT_IN_IROUND for __float128.

2012-03-16  Janne Blomqvist  <jb@gcc.gnu.org>

       * trans-intrinsic.c (build_round_expr): Don't use BUILT_IN_IROUND
       for __float128.

From-SVN: r185453
parent b0743875
2012-03-16 Janne Blomqvist <jb@gcc.gnu.org>
* trans-intrinsic.c (build_round_expr): Don't use BUILT_IN_IROUND
for __float128.
2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
* f95-lang.c (gfc_init_builtin_functions): Initialize
......
......@@ -383,10 +383,11 @@ build_round_expr (tree arg, tree restype)
resprec = TYPE_PRECISION (restype);
/* Depending on the type of the result, choose the int intrinsic
(iround, available only as a builtin), long int intrinsic (lround
family) or long long intrinsic (llround). We might also need to
convert the result afterwards. */
if (resprec <= INT_TYPE_SIZE)
(iround, available only as a builtin, therefore cannot use it for
__float128), long int intrinsic (lround family) or long long
intrinsic (llround). We might also need to convert the result
afterwards. */
if (resprec <= INT_TYPE_SIZE && argprec <= LONG_DOUBLE_TYPE_SIZE)
fn = builtin_decl_for_precision (BUILT_IN_IROUND, argprec);
else if (resprec <= LONG_TYPE_SIZE)
fn = builtin_decl_for_precision (BUILT_IN_LROUND, argprec);
......
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