mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
b074387553
commit
c4256b35bf
|
|
@ -1,3 +1,8 @@
|
||||||
|
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>
|
2012-03-15 Janne Blomqvist <jb@gcc.gnu.org>
|
||||||
|
|
||||||
* f95-lang.c (gfc_init_builtin_functions): Initialize
|
* f95-lang.c (gfc_init_builtin_functions): Initialize
|
||||||
|
|
|
||||||
|
|
@ -383,10 +383,11 @@ build_round_expr (tree arg, tree restype)
|
||||||
resprec = TYPE_PRECISION (restype);
|
resprec = TYPE_PRECISION (restype);
|
||||||
|
|
||||||
/* Depending on the type of the result, choose the int intrinsic
|
/* Depending on the type of the result, choose the int intrinsic
|
||||||
(iround, available only as a builtin), long int intrinsic (lround
|
(iround, available only as a builtin, therefore cannot use it for
|
||||||
family) or long long intrinsic (llround). We might also need to
|
__float128), long int intrinsic (lround family) or long long
|
||||||
convert the result afterwards. */
|
intrinsic (llround). We might also need to convert the result
|
||||||
if (resprec <= INT_TYPE_SIZE)
|
afterwards. */
|
||||||
|
if (resprec <= INT_TYPE_SIZE && argprec <= LONG_DOUBLE_TYPE_SIZE)
|
||||||
fn = builtin_decl_for_precision (BUILT_IN_IROUND, argprec);
|
fn = builtin_decl_for_precision (BUILT_IN_IROUND, argprec);
|
||||||
else if (resprec <= LONG_TYPE_SIZE)
|
else if (resprec <= LONG_TYPE_SIZE)
|
||||||
fn = builtin_decl_for_precision (BUILT_IN_LROUND, argprec);
|
fn = builtin_decl_for_precision (BUILT_IN_LROUND, argprec);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue