summaryrefslogtreecommitdiff
path: root/gcc/optabs.c
diff options
context:
space:
mode:
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1995-12-19 02:07:48 +0000
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>1995-12-19 02:07:48 +0000
commit322f001898aa38a4d2560c1c2a3a2d3e95a7e5d4 (patch)
tree5c3e6e43eaa1e2645b9831068afc310a7ecab6d6 /gcc/optabs.c
parent36c8378ba3383a6993f2fcbdd77043ce2acaa04a (diff)
downloadgcc-322f001898aa38a4d2560c1c2a3a2d3e95a7e5d4.tar.gz
(emit_cmp_insn): Likewise for memcmp and bcmp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10809 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r--gcc/optabs.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 2732ebed107..c63c29d5d0e 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -2745,12 +2745,17 @@ emit_cmp_insn (x, y, comparison, size, mode, unsignedp, align)
emit_library_call (memcmp_libfunc, 0,
TYPE_MODE (integer_type_node), 3,
XEXP (x, 0), Pmode, XEXP (y, 0), Pmode,
- size, Pmode);
+ convert_to_mode (TYPE_MODE (sizetype), size,
+ TREE_UNSIGNED (sizetype)),
+ TYPE_MODE (sizetype));
#else
emit_library_call (bcmp_libfunc, 0,
TYPE_MODE (integer_type_node), 3,
XEXP (x, 0), Pmode, XEXP (y, 0), Pmode,
- size, Pmode);
+ convert_to_mode (TYPE_MODE (integer_type_node),
+ size,
+ TREE_UNSIGNED (integer_type_node)),
+ TYPE_MODE (integer_type_node));
#endif
emit_cmp_insn (hard_libcall_value (TYPE_MODE (integer_type_node)),
const0_rtx, comparison, NULL_RTX,