aboutsummaryrefslogtreecommitdiff
path: root/gcc/optabs.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1995-12-18 18:07:48 -0800
committerJim Wilson <wilson@gcc.gnu.org>1995-12-18 18:07:48 -0800
commit48aa02a540b9e8d7fab7e5ba3bba213c9e3188e6 (patch)
tree5c3e6e43eaa1e2645b9831068afc310a7ecab6d6 /gcc/optabs.c
parent3b6f75e2d1d08126335ec33aff3df85b8667d7cc (diff)
downloadgcc-48aa02a540b9e8d7fab7e5ba3bba213c9e3188e6.zip
gcc-48aa02a540b9e8d7fab7e5ba3bba213c9e3188e6.tar.gz
gcc-48aa02a540b9e8d7fab7e5ba3bba213c9e3188e6.tar.bz2
(emit_cmp_insn): Likewise for memcmp and bcmp.
From-SVN: r10809
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 2732ebe..c63c29d 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,