And the counterpoint is that some instructions that are commonly believed to be slow (eg. the string instructions like rep movs, lods, stos), are in fact fast on modern processors.
http://stackoverflow.com/a/9177369
https://stackoverflow.com/questions/12359228/reliable-inform...
https://stackoverflow.com/questions/8425022/performance-of-x...
Some code I just compiled with GCC 6.1.1 had several snippets like this emitted for zeroing with memset:
xor eax,eax
...
rep stos QWORD PTR es:[rdi],rax
and some rep movs for memcpy/memmove.