Most of the exotic and rare instructions are data that a linear disassembler plows through without knowing any better.<p>3dnow and via extensions aren't actually emitted for common binaries, even if objdump claims they are there.<p>Validating my own disassembler against objdumps output showed a lot of these outliers.<p>A recursive disassembler is better at only attempting to disassemble code that actually appears in the code path, although then it misses things that are indirectly in the code sequence.<p>It's an unsolved problem.<p>You might consider rerunning your analysis with ghidra or Ida, but those aren't as easy to mass disassemble like objdump *.
The following might be of interest:<p>movfuscator<p>"The single instruction C compiler"<p><a href="https://github.com/xoreaxeaxeax/movfuscator" rel="nofollow">https://github.com/xoreaxeaxeax/movfuscator</a><p>...In other words, yes, it is possible to write a complete compiler which creates all of its compiled code by using only one single type of x86 instruction...<p>Also, this might be interesting:<p><a href="https://en.wikipedia.org/wiki/One-instruction_set_computer" rel="nofollow">https://en.wikipedia.org/wiki/One-instruction_set_computer</a><p>>"A one-instruction set computer (OISC), sometimes called an ultimate reduced instruction set computer (URISC), is an abstract machine that uses only one instruction – obviating the need for a machine language opcode.[1][2][3] With a judicious choice for the single instruction and given infinite resources, an OISC is capable of being a universal computer in the same manner as traditional computers that have multiple instructions.[2]:55 OISCs have been recommended as aids in teaching computer architecture[1]:327[2]:2 and have been used as computational models in structural computing research.[3]"