cpuid + rdtsc and out-of-order execution

cpuid is used as a serializing instruction to prevent ooo execution when benchmarking, since the execution of benchmarked instructions might be reordered before rdtsc if it's used alone. My question is whether it is still possible for the instructions below rdtsc to be reordered in between cpuid and rdtsc? Since rdtsc is not a serializing instruction, instructions can be freely reordered around it?...Read more