Replies: 2 comments 3 replies
-
The features you listed seem to more or less match the x86-64-v2 microarchitecture Level. This is also supported by compilers - i.e. you can specify It seems like a reasonable baseline at this point. |
Beta Was this translation helpful? Give feedback.
3 replies
-
AVX probably not. AVX512 is where things get really useful, and that's not universally supported even in currently on sale CPUs. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
For quite a while now, we’ve only produced releases for Windows x86-64, and the guidelines for CPU support have been “a Core 2 or later should be fine” – we’re using pretty much just the base x86-64/SSE2 feature set. MAME itself avoids doing anything that requires an OS newer than Vista, but the MinGW runtime library I currently build against requires Windows 7, which sets the oldest supported OS.
Would it be reasonable to start requiring some instruction set extensions? In particular, I’m considering requiring the following extensions:
-msse4.2
) – introduced in Nehalem (Nov 2008) and Bulldozer (Oct 2011). This gives a small but noticeable performance improvement.-mpopcnt
) – introduced in Nehalem (Nov 2008) and Barcelona (Sept 2007). Things calculating parity etc. will automatically take advantage of this if they use the helpers from eminline.h.-mcx16
) – introduced in Prescott (Feb 2004) and Bulldozer (Oct 2011). This improves performance of some synchronisation primitives.-msahf
) – IIRC this was introduced in Pentium 4 G1 stepping and Athlon 64/Opteron rev D. The x86-64 DRC already uses this anyway, and it can improve the performance of certain floating point operations.Is it reasonable to tell people they need at least a Nehalem or Bulldozer CPU to run official release binaries? That’s a 16-year-old Intel CPU, or a 13-year-old AMD CPU.
@galibert, @rb6502, @angelosa do you have opinions?
Beta Was this translation helpful? Give feedback.
All reactions