The main reason old instruction become slow is that the hardware implementation is replaced by a microcoded version.
There quite possibly been a point in time where certain MMX instructions run faster on some AMD CPUs and required less uOps to achieve.
https://agner.org/optimize/ This is a pretty good source for uOps and instruction cycles.
I could find some reasons though here https://stackoverflow.com/questions/35742570/why-is-the-loop...
People didn't get automatic updates from fast always-on connections. Lots of people had slow dial-up connections. For some people, even that wasn't an option, so an update would require physical media.
FWIW LOOP isn't the worse thing in the world once you have dedicated silicon for it anyway generating micro ops in the instruction decode pathway. It's just a pretty cute run length encoding scheme for the instruction stream.
Source: https://stackoverflow.com/a/35743699
See also https://stackoverflow.com/questions/35742570/why-is-the-loop...
"(My opinion: Intel is probably still making it slow on purpose, and hasn't bothered to rewrite their microcode for it for a long time. Modern CPUs are probably too fast for anything using loop in a naive way to work correctly.)"