i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_INFQ and IX86_BUILTIN_HUGE_VALQ here ...

* config/i386/i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_INFQ
	and IX86_BUILTIN_HUGE_VALQ here ...
	(ix86_expand_builtin): ... not here.

From-SVN: r241387
This commit is contained in:
Uros Bizjak 2016-10-21 00:57:11 +02:00 committed by Uros Bizjak
parent f3ecd50fd9
commit a7cfe83677
2 changed files with 15 additions and 18 deletions

View File

@ -1,3 +1,9 @@
2016-10-21 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (ix86_fold_builtin): Handle IX86_BUILTIN_INFQ
and IX86_BUILTIN_HUGE_VALQ here ...
(ix86_expand_builtin): ... not here.
2016-10-20 Jakub Jelinek <jakub@redhat.com>
* doc/gty.texi (for_user): Use @item next to @findex.

View File

@ -33323,6 +33323,15 @@ ix86_fold_builtin (tree fndecl, int n_args,
return NULL_TREE;
}
case IX86_BUILTIN_INFQ:
case IX86_BUILTIN_HUGE_VALQ:
{
tree type = TREE_TYPE (TREE_TYPE (fndecl));
REAL_VALUE_TYPE inf;
real_inf (&inf);
return build_real (type, inf);
}
default:
break;
}
@ -36684,24 +36693,6 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
case IX86_BUILTIN_VEC_SET_V16QI:
return ix86_expand_vec_set_builtin (exp);
case IX86_BUILTIN_INFQ:
case IX86_BUILTIN_HUGE_VALQ:
{
REAL_VALUE_TYPE inf;
rtx tmp;
real_inf (&inf);
tmp = const_double_from_real_value (inf, mode);
tmp = validize_mem (force_const_mem (mode, tmp));
if (target == 0)
target = gen_reg_rtx (mode);
emit_move_insn (target, tmp);
return target;
}
case IX86_BUILTIN_NANQ:
case IX86_BUILTIN_NANSQ:
return expand_call (exp, target, ignore);