diff options
author | carlo <carlo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-06 23:06:09 +0000 |
---|---|---|
committer | carlo <carlo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-06 23:06:09 +0000 |
commit | 22ac1ed3b7695c897fa73a6fc10635b3ef896fa1 (patch) | |
tree | 268121ed32b7b8f047a3bd2295cbef84bd88373f /gcc/optabs.c | |
parent | 0021bea918bd779cbc3984e27551dc723364b434 (diff) | |
download | gcc-22ac1ed3b7695c897fa73a6fc10635b3ef896fa1.tar.gz |
PR optimization/11974
* optabs.c (expand_unop): Promote libcall outmode according to
hard_libcall_value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72170 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index f05b999972a..d3e55b1afe7 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -2639,7 +2639,8 @@ expand_unop (enum machine_mode mode, optab unoptab, rtx op0, rtx target, have them return something that isn't a double-word. */ if (unoptab == ffs_optab || unoptab == clz_optab || unoptab == ctz_optab || unoptab == popcount_optab || unoptab == parity_optab) - outmode = TYPE_MODE (integer_type_node); + outmode + = GET_MODE (hard_libcall_value (TYPE_MODE (integer_type_node))); start_sequence (); |