summaryrefslogtreecommitdiff
path: root/Source/Core/Common/x64CPUDetect.cpp
AgeCommit message (Collapse)Author
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2024-09-22StringUtil: Remove `JoinStrings`mitaclaw
With 12 uses of `JoinStrings` in the codebase vs 36 uses of `fmt::join`, fmtlib's range adapter for string concatenation with delimiters is clearly the preferred option.
2023-01-31CMake/MSVC: Fix PCH disabled buildScott Mansell
2022-07-25CPUDetect: improve win/arm64 supportShawn Hoffman
read brand_string on macos/arm64 remove unused flags report family/model info instead of vendor name
2022-06-22windows: detect and warn if running x64 dolphin on arm64Shawn Hoffman
2022-01-04Merge pull request #9414 from DevJPM/masterJMC47
Fix CPU Core Count detection and Enable Parallel Shader Compilation
2021-12-10Treewide: Adjust order of includesPokechu22
2021-11-20Fix CPU Core Count detection and Enable Parallel Shader CompilationDevJPM
This does this following things: - Default to the runtime automatic number of threads for pre-compiling shaders - Adds a distinct automatic thread count computation for pre-compilation (which has less other things going on and should scale better beyond 4 cores) - Removes the unused logical_core_count field from the CPU detection - Changes the semantics of num_cores from maximaum addressable number of cores to actually available CPU cores (which is also how it was actually used) - Updates the computation of the HTT flag now that AMD no longer lies about it for its Zen processors - Background shader compilation is *not* enabled by default
2021-07-05treewide: convert GPLv2+ license info to SPDX tagsPierre Bourdon
SPDX standardizes how source code conveys its copyright and licensing information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX tags are adopted in many large projects, including things like the Linux kernel.
2020-11-08CPUDetect: Indicate slow PDEP/PEXT only for Zen1/+/2 (Family 23)altimumdelta
2020-01-26x64CPUDetect: Add flag for slow PDEP/PEXT on AMD ZenTechjar
For some unknown reason PDEP and PEXT are ridiculously slow on AMD Zen architecture.
2020-01-26x64CPUDetect: Add detection for AMD Zen architectureTechjar
2018-05-08intrinsics: stop defining _xgetbv/_XCR_XFEATURE_ENABLED_MASK, which are reservedbooto
2018-04-01CPUDetect: Make CPUVendor enum an enum classLioncash
Avoids dumping the enum contents into the global namespace.
2017-01-24Fix missing includesFlorent Castelli
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2015-09-15Common: Get rid of a few pointer castsLioncash
2015-07-28CPUDetect: Remove a memset call on the this pointerLioncash
2015-06-02XEmitter: add FMA4 instructionsTillmann Karras
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-14x64CPUDetect: fix AVX2/BMI1/BMI2/HTT detectionTillmann Karras
On non-Windows platforms, ECX was not being initialized to 0.
2015-02-25Formatting/Whitespace CleanupStevoisiak
Various fixes to formatting and whitespace
2015-02-24Clean up the intrinsics #ifdef messTillmann Karras
2014-11-29JIT: more optimizing of float ops based on known input characteristicsFiora
If the inputs are both float singles, and the top half is known to be identical to the bottom half, we can use packed arithmetic instead of scalar to skip the movddup. This is slower on a few rather old CPUs, plus the Atom+Silvermont, so detect Atom and disable it in that case. Also avoid PPC_FP on stores if we know that the output came from a float op.
2014-11-13Various formatting and consistency fixesStevoisiak
2014-10-24Fix the brand/cpu_string reversal.Augustin Cavalier
Before this commit, the two were reversed ("cpu_string" had the brand, e.g. "AuthenticAMD"; and "brand_string" had the CPU type, e.g. "AMD Phenom II X4 925").
2014-09-25Fix warning in x64CPUDetect.cpp in generic build by not building it.comex
2014-09-14x64Emitter: add LZCNT/TZCNT support and detectionFiora
Also add a unit test.
2014-09-08Include CommonTypes.h instead of Common.h.Rohit Nirmal
2014-08-24Add AVX2/BMI1/BMI2 detection supportFiora
Also clean up the formatting in a bit of the CPU detection code.
2014-08-03Remove the rest of x86_32 support from Common.Ryan Houdek
2014-07-29Really get rid of the MSVC 2005 workaround completelyLioncash
2014-06-15Don't set DAZ on x86 in non-IEEE mode.magumagu
I have no idea why we were using it in the first place; it doesn't match the behavior of PPC NI flag.
2014-04-11CPUDetect: add support for MOVBE detectionPierre Bourdon
2014-03-04Make our architecture defines less stupid.Ryan Houdek
Our defines were never clear between what meant 64bit or x86_64 This makes a clear cut between bitness and architecture. This commit also has the side effect of bringing up aarch64 compiling support.
2014-02-22Make Common/ mostly IWYU clean (and fix errors in rest of the project ↵Pierre Bourdon
detected by this change).
2014-02-18Convert all includes to relative paths.Lioncash
2013-12-31Remove unnecessary Src/ foldersJasper St. Pierre