>> - if ( c->x86_vendor == X86_VENDOR_INTEL && c->x86 == 6 && >> - c->x86_model >= 0xe ) >> - return true; >> - return false; >> + return c->vendor == X86_VENDOR_INTEL && c->vfm >= INTEL_CORE_YONAH; >> } > >This breaks P4. > >It is not safe to write expressions like this, and I've already >explained why.
Last time you said it's not safe to drop the `vendor == X86_VENDOR_INTEL` part because `vmf >= ...` by itself will pull in other vendors. Sorry, I should have realised the same logic applies to the family field too. This "breaks P4" because Pentium 4 NetBurst is family 15 and will now match this new `vfm >= ...` expression when it didn't before. I'll take Jan's suggestion below to match `vendor == Intel` and `family != 15`.
