http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60868

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
This works:

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 536f50f..7a68623 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -24392,7 +24392,8 @@ ix86_expand_set_or_movmem (rtx dst, rtx src, rtx
count_exp, rtx val_exp,
     if (jump_around_label == NULL_RTX)
       jump_around_label = gen_label_rtx ();
     emit_cmp_and_jump_insns (count_exp, GEN_INT (dynamic_check - 1),
-              LEU, 0, GET_MODE (count_exp), 1, hot_label);
+              LEU, 0, counter_mode (count_exp),
+              1, hot_label);
     predict_jump (REG_BR_PROB_BASE * 90 / 100);
     if (issetmem)
       set_storage_via_libcall (dst, count_exp, val_exp, false);

Reply via email to