POPCNT Fuss Is More Fizzle

POPCNT Fuss Is More Fizzle

OK, then: the ‘net has been abuzz since last week as upcoming Windows 11 24H2 requirements come clear. Indeed, that OS won’t run on processors that don’t support the POPCNT instruction . IMO this POPCNT fuss is more fizzle than it is a major obstruction. Let me explain…

Why Say: POPCNT Is More Fuss than Fizzle

The POPCNT instruction has nothing to do with stack processing as its name might suggest. Rather, it counts up all 1-values in a binary sequence. It’s part of the SSE4.2 instruction set. These were introduced in 2008 to both AMD and Intel processors — namely:

  • AMD K10 (codename Barcelona), released in April of that year
  • Intel (codename Nehalem), released in November same year

That means the oldest processors that DON’T support SSE4.1 (and POPCNT) are more than 15 years old. Not terribly suitable for running Windows 11 anyway and likely to fail owing to lack of support for TPM, Secure Boot, and other reasons as well.

You can use Franc Delattre’s excellent CPU-Z tool to check your CPU to see if it supports SSE 4.2 or not. Check the lead-in graphic next to “Instructions.” It pops right up even on my 6th-gen 2016 vintage Skylake CPU (still running Windows 10 BTW).

For all but the most diehard long-haul PC users running a machine more than 5 years old is pushing things (and 15-plus years is highly unusual). This very Skylake is my oldest at 8 years, and it’s due for retirement soon, soon, soon.

WTFuss? No Workaround

The problem with POPCNT is that it’s absolutely, positively mandatory for 24H2 to work. Whereas the other impedimenta — e.g. TPM, Secure Boot, UEFI and so forth — have all been cleverly worked around, there’s no known (or likely) workaround for this gotcha. Thus, older PCs that have been shoehorned into Windows 11 upgrades will not be able to advance past the 23H2 upgrade level. Hence such fuss as has emerged in the blogosphere since this news came out last week.

My best guess that that less than 1% of PCs in the US (and perhaps 5-8% of PCs elsewhere, mostly outside the first world) might be subject to the POPCNT limitation. Just another sign that even here in Windows-World, time keeps marching on.


4 thoughts on “POPCNT Fuss Is More Fizzle”

    1. POPCNT has an “incept date” of 2008 so you’d think the Athlon 5150 would qualify. But Copilot says “The Athlon 5150 processor, unfortunately, does not support the POPCNT instruction.” So it appears that the lower-end AMD processors also did not implement the POPCNT instruction. The K10 cited in the original post was a high-end AMD processor whereas even Copilot charactertizes Athlon as “…somewhere in the bottom rung of the overall CPU hierarchy.” So while what I wrote might lead you to believe that your Athlon 5150 would be OK, apparently that is NOT the case. I will update the post accordingly. Thanks for asking! Turns out to be a better question than either one of us thought.

      Note added one day later: I’ve been concerned for a while about Copilot’s accuracy. It turns out my concern is well founded. I visited a third-party site called CPU-world.com to check instruction sets that the Athlon 5150 support. It says it supports SSE4.1 and SSE4.2 instruction set. That latter is the one to which the POPCNT instruction belongs so it looks like my check was incorrect. And it looks like the chip DOES support POPCNT. You might want to try installing Windows 11 Insider Preview Canary channel on that PC to see if it flies or blows up. Shouldn’t take long to see for yourself — the only way to be 100% SURE what is what, apparently. Thanks! =Ed=

      One more thing: you can run Franc Delattre’s excellent CPU-Z tool on the CPU in question. It will show you if it finds support for the SSE4.2 instruction set. If so, POPCNT is there. If not, it’s not. =e=

    1. Copilot says no. Intel ARK does not list SSE4 (of which POPCNT is part) as a supported instruction set, either. It’s dated Q1, 2008 which means it falls right on the edge of the timeline. “I don’t think so,” is my considered answer. But you could run Franc Delattre’s CPU-Z on the CPU and see what it reports. If it finds it will tell you. HTH,

Leave a Reply

Your email address will not be published. Required fields are marked *