February 2019
It is very simple, the hardware based instruction popcnt, is an optimization for a specific operation known as Population count, everything practically ever compiled that works with older cpus , uses a software based version of this, by default GCC and many other compilers use their own implementation of popcnt. you have to explicitly ENABLE popcnt support or target a system using -march=native that has hardware support for popcnt to make this issue appear.
There are 2 ways of fixing this problem, either set the compiler being used, to not use the popcnt instruction which is as easy as adding -mno-popcnt to the compiler flags, which will incur a >2% performance hit, if at all, or add a a few of lines of code to use a different version of population count if an older cpu is detected. both of which are something any incompetent oaf can do.
this whole thing is frankly ridiculous
if you understand high-school level algebra you can see that this function is stupidly simple.
https://en.wikichip.org/wiki/population_count
I have refrained from posting until now because i thought " there is no way they wont fix this "
but it seems there is some-kind of major communication problem within ea's management, hopefully you guys will figure that stuff out, before it further degrades your PR's reputation.
not impressed.
February 2019
@AlphaSoda Yep, this is it.
Respawn just needs to get around to assigning it to someone.
As the launch chaos/honeymoon phase relaxes a bit, some resources will free up.
February 2019 - last edited February 2019
I should also add that , the native popcnt instruction isn't even really faster on modern cpus
https://github.com/WojciechMula/sse-popcount/blob/master/results/skylake/skylake-i7-6700-gcc5.3.0-av...
here is a table of various popcnt implementations being benchmarked on a modern cpu and in not one the native popcnt instruction actually wins, while this will not be the same across all compilers, the fact is , there is virtually no reason to use the native hardware instruction, it can even make your code slower!
February 2019
just delete this game, only valve kind developer on this earth,,,,,,,,,,,,,,,forget apexlegend ,,, go for teamfortress
February 2019
Wait for patch SSE4.2. EV come on! In fact, SSE4.1 can be considered first. Restriction configuration also needs to be improved step by step!
February 2019
February 2019
Core 2 Quad q9400 ...cpu does not have popcnt
the question is .. do i wait for a new patch to solve this problem or just delete the game ?
February 2019
I just uninstalled mine, gonna go play fortnite or w/e I can find till they eventually fix the issue.. Hopefully by that time the hype of the game hasn't died down..
February 2019
@AlphaSoda wrote:
It is very simple, the hardware based instruction popcnt, is an optimization for a specific operation known as Population count, everything practically ever compiled that works with older cpus , uses a software based version of this, by default GCC and many other compilers use their own implementation of popcnt. you have to explicitly ENABLE popcnt support or target a system using -march=native that has hardware support for popcnt to make this issue appear.
There are 2 ways of fixing this problem, either set the compiler being used, to not use the popcnt instruction which is as easy as adding -mno-popcnt to the compiler flags, which will incur a >2% performance hit, if at all, or add a a few of lines of code to use a different version of population count if an older cpu is detected. both of which are something any incompetent oaf can do.
this whole thing is frankly ridiculous
if you understand high-school level algebra you can see that this function is stupidly simple.
https://en.wikichip.org/wiki/population_count
I have refrained from posting until now because i thought " there is no way they wont fix this "
but it seems there is some-kind of major communication problem within ea's management, hopefully you guys will figure that stuff out, before it further degrades your PR's reputation.
not impressed.
Thanks for the interesting post @AlphaSoda
I have a question, hope you don't mind.
The game complaining about the CPU not having POPCNT is probably just the first instruction it checks for and many others are also needed which also would need software implementations that cause performance hits.
Do you think there's a chance that the accumulative effect of all these performance hits to all these old systems (that already would struggle with the game) could render the game pretty much unplayable anyway, making the support for these old CPUs pointless?
February 2019