diff --git a/objdiff-core/src/arch/mod.rs b/objdiff-core/src/arch/mod.rs
index fa41a744..3d54ed1d 100644
--- a/objdiff-core/src/arch/mod.rs
+++ b/objdiff-core/src/arch/mod.rs
@@ -420,6 +420,16 @@ pub trait Arch: Any + Debug + Send + Sync {
cb: &mut dyn FnMut(InstructionPart) -> Result<()>,
) -> Result<()>;
+ /// Return formatting-token structure that must match for two instructions to be considered equal.
+ /// Architectures that encode operand structure in their formatted output can override this.
+ fn instruction_comparison_key(
+ &self,
+ _resolved: ResolvedInstructionRef,
+ _diff_config: &DiffObjConfig,
+ ) -> Result