Это было медленно на древнем Pentium MMX, но на более современных процессорах это очень быстро.
Тем не менее, MMX сегодня в основном устарел. Используйте SSE2, и у вас не возникнет проблем с мультиплексированием с FPU.
Кроме того, инструкция RDTSC может выполняться параллельно с другими инструкциями, что объясняет ваши измерения - ЦП просто начал выполнять RDTSC и EMMS одновременно в одном такте ... Если вы хотите измерить время на фрагмент кода занимает, вы должны сериализовать оба RDTSC относительно кода - обычно для этого используется инструкция CPUID. Поскольку инструкции по сериализации, которые вы используете, сами берут циклы ЦП, вы должны также измерить, сколько циклов требуется без кода между записываемой вами измерительной установкой.
Последний момент: даже на Pentium MMX сама инструкция EMMS заканчивалась быстро - это была первая инструкция FPU после этого, которая получала неприятную задержку ...