OSDN Git Service

(emit_cmp_insn): Likewise for memcmp and bcmp.
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Dec 1995 02:07:48 +0000 (02:07 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Dec 1995 02:07:48 +0000 (02:07 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10809 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/optabs.c

index 2732ebe..c63c29d 100644 (file)
@@ -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,