diff --git a/Userland/Libraries/LibX86/Instruction.cpp b/Userland/Libraries/LibX86/Instruction.cpp index acc82b06c1..4dc4d35131 100644 --- a/Userland/Libraries/LibX86/Instruction.cpp +++ b/Userland/Libraries/LibX86/Instruction.cpp @@ -1418,7 +1418,8 @@ String Instruction::to_string(u32 origin, SymbolProvider const* symbol_provider, builder.append(m_o32 ? "o32 " : "o16 "); if (has_lock_prefix()) builder.append("lock "); - if (has_rep_prefix()) + // Note: SSE instructions use these to toggle between packed and single data + if (has_rep_prefix() && !(m_descriptor->format > __SSE && m_descriptor->format < __EndFormatsWithRMByte)) builder.append(m_rep_prefix == Prefix::REPNZ ? "repnz " : "repz "); to_string_internal(builder, origin, symbol_provider, x32); return builder.to_string();