switch (src->type)
{
case GINSN_SRC_REG:
- snprintf (src_str, len, "%%r%d, ", ginsn_get_src_reg (src));
+ snprintf (src_str, len, "%%r%d", ginsn_get_src_reg (src));
break;
case GINSN_SRC_IMM:
- snprintf (src_str, len, "%lld, ",
+ snprintf (src_str, len, "%lld",
(long long int) ginsn_get_src_imm (src));
break;
case GINSN_SRC_INDIRECT:
- snprintf (src_str, len, "[%%r%d+%lld], ", ginsn_get_src_reg (src),
+ snprintf (src_str, len, "[%%r%d+%lld]", ginsn_get_src_reg (src),
(long long int) ginsn_get_src_disp (src));
break;
default:
/* src 2. */
src = ginsn_get_src2 (ginsn);
src_buf = ginsn_src_print (src);
- str_size += snprintf (ginsn_str + str_size, GINSN_LISTING_LEN - str_size,
- "%s", src_buf);
+ if (strlen (src_buf))
+ {
+ str_size += snprintf (ginsn_str + str_size, GINSN_LISTING_LEN - str_size,
+ ", %s", src_buf);
+ }
free (src_buf);
gas_assert (str_size >= 0 && str_size < GINSN_LISTING_LEN);
/* dst. */
dst = ginsn_get_dst (ginsn);
char *dst_buf = ginsn_dst_print (dst);
- str_size += snprintf (ginsn_str + str_size, GINSN_LISTING_LEN - str_size,
- "%s", dst_buf);
+ if (strlen (dst_buf))
+ {
+ str_size += snprintf (ginsn_str + str_size, GINSN_LISTING_LEN - str_size,
+ ", %s", dst_buf);
+ }
free (dst_buf);
end:
11 \?\?\?\? E200 loop foo
11 ginsn: JCC
12 \?\?\?\? 3EFFE0 notrack jmp \*%rax
- 12 ginsn: JMP %r0,
+ 12 ginsn: JMP %r0
13 \?\?\?\? 41FFD0 call \*%r8
13 ginsn: CALL
14 \?\?\?\? FF14C500 call \*cost_arr\(,%rax,8\)
17 \?\?\?\? 67E316 jecxz .L179
17 ginsn: JCC
18 \?\?\?\? 41FFE0 jmp \*%r8
- 18 ginsn: JMP %r8,
+ 18 ginsn: JMP %r8
19 \?\?\?\? FF6730 jmp \*48\(%rdi\)
- 19 ginsn: JMP %r5,
+ 19 ginsn: JMP %r5
20 \?\?\?\? FF24C500 jmp \*cost_arr\(,%rax,8\)
20 000000
- 20 ginsn: JMP %r0,
+ 20 ginsn: JMP %r0
21 \?\?\?\? FF242500 jmp \*symbol\+1
21 000000
- 21 ginsn: JMP %r4,
+ 21 ginsn: JMP %r4
22 \?\?\?\? 7000 jo .L179
22 ginsn: JCC
23 .L179: