Insbesondere hat die Verwendung von Inline Assembly potentiell auch negative Auswirkungen auf die Performance (der Compiler hat z.B. keine Möglichkeit, zu verstehen, was genau der Programmierer mit dem Assembler Code bezweckt und muss sich daher im Bereich um den Assembler Code bestenfalls auf extrem konservative Optimierungen beschränken).
CPUID würd ich persönlich nicht direkt anfassen, so lange es sich vermeiden lässt. Das jeweilige Betriebssystem kümmert sich bereits darum, diese Informationen zu sammeln und tut dies sicherlich auf wesentlich robusterem Wege, als man es schnell und einfach mal eben so hinbekommen könnte. CPUID ist nicht nur hochgradig plattformspezifisch (x86 only und genaugenommen selbst dort nicht notwendigerweise überall vorhanden), sondern teilweise alles andere als trivial wirklich richtig zu verwenden (CPU- und herstellerspezifisches Verhalten, Multiprozessorsysteme usw.) und die Informationen, die es liefert, wollen auch erstmal interpretiert werden. Frag lieber das OS, das weiß schon alles und viel mehr...