diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 7f6c14b..b07d7d1 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -20,12 +20,50 @@
 
 static int call__parse(struct ins_operands *ops)
 {
-	ops->target = strtoull(ops->raw, NULL, 16);
+	char *endptr, *tok, *name;
+
+	ops->target = strtoull(ops->raw, &endptr, 16);
+
+	name = strchr(endptr, '<');
+	if (name == NULL)
+		goto indirect_call;
+
+	name++;
+
+	tok = strchr(name, '>');
+	if (tok == NULL)
+		return -1;
+
+	*tok = '\0';
+	ops->target_name = strdup(name);
+	*tok = '>';
+
+	return ops->target_name == NULL ? -1 : 0;
+
+indirect_call:
+	tok = strchr(endptr, '*');
+	if (tok == NULL)
+		return -1;
+
+	ops->target = strtoull(tok + 1, NULL, 16);
 	return 0;
 }
 
+static int call__scnprintf(struct ins *ins, char *bf, size_t size,
+			   struct ins_operands *ops, bool addrs)
+{
+	if (addrs)
+		return scnprintf(bf, size, "%-6.6s %s", ins->name, ops->raw);
+
+	if (ops->target_name)
+		return scnprintf(bf, size, "%-6.6s %s", ins->name, ops->target_name);
+
+	return scnprintf(bf, size, "%-6.6s *%" PRIx64, ins->name, ops->target);
+}
+
 static struct ins_ops call_ops = {
-	.parse = call__parse,
+	.parse	   = call__parse,
+	.scnprintf = call__scnprintf,
 };
 
 bool ins__is_call(const struct ins *ins)
@@ -251,6 +289,7 @@
 {
 	free(dl->line);
 	free(dl->name);
+	free(dl->ops.target_name);
 	free(dl);
 }
 
diff --git a/tools/perf/util/annotate.h b/tools/perf/util/annotate.h
index a6f60d5..8a8af0d 100644
--- a/tools/perf/util/annotate.h
+++ b/tools/perf/util/annotate.h
@@ -11,6 +11,7 @@
 
 struct ins_operands {
 	char	*raw;
+	char	*target_name;
 	u64	target;
 };
 
