IMHO, until there's a good reason to depend on a feature they don't have. For cpus, that's usually an instruction that makes things possible or much more efficient.
286s were obsoleted by the 386's 32-bit and virtual modes.
Pentium III was obsoleted by 64-bit mode, if not some version of SSE.
It looks like the 24H2 release of Windows 11 is going to require SSE 4.2, POPCNT is nice, and I guess they want to depend on it. Seems ok for an instruction that's been in processors for over a decade.
Personally, I don't find the TPM requirement essential, especially since windows seems to work fine without a tpm; whereas I'd bet the builds that rely on POPCNT won't work without it. One could hook the bad instruction exception and backfill with a software implementation to count bits, but I think it's ok to skip.
Well sure, it took time for there to be a large enough installed base of 386s to be willing to release software that wouldn't run a 286. And time to write software that made use of the new modes.
But when you had to retire your 286, it was because it couldn't run 32-bit software. Or because you really needed to multitask some dos stuff.
IMHO, until there's a good reason to depend on a feature they don't have. For cpus, that's usually an instruction that makes things possible or much more efficient.
286s were obsoleted by the 386's 32-bit and virtual modes.
Pentium III was obsoleted by 64-bit mode, if not some version of SSE.
It looks like the 24H2 release of Windows 11 is going to require SSE 4.2, POPCNT is nice, and I guess they want to depend on it. Seems ok for an instruction that's been in processors for over a decade.
Personally, I don't find the TPM requirement essential, especially since windows seems to work fine without a tpm; whereas I'd bet the builds that rely on POPCNT won't work without it. One could hook the bad instruction exception and backfill with a software implementation to count bits, but I think it's ok to skip.