summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/binary-reader-objdump.cc6
-rw-r--r--src/binary-reader.cc10
2 files changed, 12 insertions, 4 deletions
diff --git a/src/binary-reader-objdump.cc b/src/binary-reader-objdump.cc
index fb4985ca..aced2738 100644
--- a/src/binary-reader-objdump.cc
+++ b/src/binary-reader-objdump.cc
@@ -793,7 +793,11 @@ Result BinaryReaderObjdumpDisassemble::OnOpcodeType(Type type) {
return Result::Ok;
}
Offset immediate_len = state->offset - current_opcode_offset;
- LogOpcode(immediate_len, type.GetRefKindName());
+ if (current_opcode == Opcode::SelectT) {
+ LogOpcode(immediate_len, type.GetName());
+ } else {
+ LogOpcode(immediate_len, type.GetRefKindName());
+ }
return Result::Ok;
}
diff --git a/src/binary-reader.cc b/src/binary-reader.cc
index 7529a868..1adebb90 100644
--- a/src/binary-reader.cc
+++ b/src/binary-reader.cc
@@ -673,9 +673,13 @@ Result BinaryReader::ReadInstructions(bool stop_on_end,
result_types_[i] = result_type;
}
- Type* result_types = num_results ? result_types_.data() : nullptr;
- CALLBACK(OnSelectExpr, num_results, result_types);
- CALLBACK0(OnOpcodeBare);
+ if (num_results) {
+ CALLBACK(OnSelectExpr, num_results, result_types_.data());
+ CALLBACK(OnOpcodeType, result_types_[0]);
+ } else {
+ CALLBACK(OnSelectExpr, 0, NULL);
+ CALLBACK0(OnOpcodeBare);
+ }
break;
}