diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2013-01-09 18:19:16 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2013-01-09 18:19:16 +0000 |
commit | 9a002da86b6a69292b2d520a17cf1412e092ec76 (patch) | |
tree | d95935d5d4ca6f06429b4ffd9a9f54942215415d /gcc/builtins.c | |
parent | 511dcace074c36f4c8d7fcf835ba795fa82268c0 (diff) | |
download | gcc-9a002da86b6a69292b2d520a17cf1412e092ec76.zip gcc-9a002da86b6a69292b2d520a17cf1412e092ec76.tar.gz gcc-9a002da86b6a69292b2d520a17cf1412e092ec76.tar.bz2 |
re PR middle-end/55114 (gcc.dg/builtins-53.c ICEs on mips64 soft-float)
gcc/
PR middle-end/55114
* expr.h (maybe_emit_group_store): Declare.
* expr.c (maybe_emit_group_store): New function.
* builtins.c (expand_builtin_int_roundingfn): Call it.
(expand_builtin_int_roundingfn_2): Likewise.
From-SVN: r195060
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 67c96df..2b615a1 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -2753,6 +2753,7 @@ expand_builtin_int_roundingfn (tree exp, rtx target) exp = build_call_nofold_loc (EXPR_LOCATION (exp), fallback_fndecl, 1, arg); tmp = expand_normal (exp); + tmp = maybe_emit_group_store (tmp, TREE_TYPE (exp)); /* Truncate the result of floating point optab to integer via expand_fix (). */ @@ -2856,6 +2857,7 @@ expand_builtin_int_roundingfn_2 (tree exp, rtx target) fallback_fndecl, 1, arg); target = expand_call (exp, NULL_RTX, target == const0_rtx); + target = maybe_emit_group_store (target, TREE_TYPE (exp)); return convert_to_mode (mode, target, 0); } |