Re: "I did not know that ARM actually prohibited adding instructions"
Did you even read anything that I wrote?
That's an example from the kernel. It sets up the /dev/cpu/<cpu-number>/cpuid char device at boot time. What does this have to do with userland code execution path?
Do you have an example of a compiler - any compiler - arbitrarily inserting CPUID instructions in software? No you don't. So WTF are you talking about?
Compilers don't arbitrarily insert CPUID instructions in code. And neither the OS, nor the kernel change execution paths depending on CPUID. /dev/cpu/<cpu-number>/cpuid is not world-readable. So userland software can't even read it.
I don't think you understand how computers work.