1
0
mirror of https://github.com/google/cpu_features.git synced 2025-04-28 07:23:37 +02:00

336 Commits

Author SHA1 Message Date
Prashanth Swaminathan
de1b9e6fe7
Add Riscv32 and Riscv64 Bazel build rules. (#312)
* Add Riscv64 Bazel build rules.

* Add Riscv32 Bazel build rules.
2023-06-15 09:03:16 +02:00
Tamas Zsoldos
b0913b4197
Update AArch64 features to Linux 6.4. (#310) 2023-06-09 16:47:44 +02:00
Prashanth Swaminathan
6fe75d22ab
Add 'ndk_compat' include directory to 'ndk_compat' target (#309)
Add 'ndk_compat' to the 'includes' directive of the 'ndk_compat' target, so that targets that include this library can directly reference 'cpu-features.h' like they did with the legacy Android NDK library.
2023-06-02 23:41:23 +02:00
Guillaume Chatelet
c672eb403c Add ndk_compat target to BUILD.bazel 2023-06-02 06:16:15 +00:00
damageboy
41e206e435
cmake: make default test building dependent on being a main project build vs. being included into other projects (#290) 2023-05-04 08:54:03 +02:00
Guillaume Chatelet
936b9ab551 Release v0.8.0 v0.8.0 2023-04-27 07:44:32 +00:00
Mykola Hohsadze
0e9da93fac
Add Mendocino ZEN2 detection (#305) 2023-04-25 10:11:23 +02:00
michael-roe
75ec988188
Add RISCV vector extension (#289)
Co-authored-by: Michael Roe <michael-roe@users.noreply.github.com>
2023-04-24 15:36:22 +02:00
Mykola Hohsadze
5607a689e0
Add Raptor Lake-P and Raptor Lake-HX/S detection (#300) 2023-03-06 15:04:00 +01:00
aecsocket
79c0d7d24e
Add cpu-features-jni Java bindings to README (#297)
* Add cpu-features-jni Java bindings

* Update Java bindings URL
2023-03-06 15:03:12 +01:00
Mykola Hohsadze
a6bf4f9031
Add Windows Arm64 support (#291)
* Add Windows Arm64 support

To add Windows Arm64 support was added detection of features via Windows API function IsProcessorFeaturePresent. Added _M_ARM64 to detect CPU_FEATURES_AARCH64 macro on Windows. Added initial code for Windows Arm64 testing and provided test for Raspberry PI 4. We can't use "define_introspection_and_hwcaps.inl" as a common file for all operating systems due to msvc compiler error C2099: initializer is not a constant, so as a workaround for Windows I used separate "define_introspection.inl"

See also: #268, #284, #186

* [CMake] Add  windows_utils.h to PROCESSOR_IS_AARCH64

* Add detection of armv8.1 atomic instructions

* Update note on win-arm64 implementation and move to cpuinfo_aarch64.h

* Remove redundant #ifdef CPU_FEATURES_OS_WINDOWS

* Add note on FP/SIMD and Cryptographic Extension for win-arm64

* Add comments to Aarch64Info fields

Added comments to specify that implementer, part and variant we set 0 for Windows, since Win API does not provide a way to get information. For revision added comment that we use GetNativeSystemInfo
2023-02-23 11:41:33 +01:00
Ben Beasley
273af56a15
Update C++ standard for tests from C++11 to C++14 (#293)
Since 1.13.0, gtest requires at least C++14. When it is automatically
downloaded and compiled, gtest’s CMake scripts override the C++
standard, so the tests are compiled in C++14 mode already. Changing the
C++ standard in cpu_features will make it easier for users such as Linux
distribution packagers who are linking against an external or
system-wide copy of gtest 1.13.0 or later.
2023-02-22 15:13:23 +01:00
Mykola Hohsadze
c74a85d64a
Add documentation on current behavior for X86 (#212)
* Add documentation for X86 OS support

* Update X86 documentation

* Remove outdated cache info comment

* Update x86 documentation according to comments

* Update Internal structures documentation
2023-01-24 20:27:10 +01:00
Guillaume Chatelet
4590768e53 Fix badges in README.md 2023-01-13 09:57:59 +00:00
Guillaume Chatelet
c919e9aa77
Support risc-v (#287)
Co-authored-by: DaniAffCH <danieleaffinita2000@gmail.com>
Co-authored-by: Corentin Le Molgat <corentinl@google.com>
2023-01-12 17:19:05 +01:00
Guillaume Chatelet
a7ea4a7783
Include tests when using QEMU (#288)
* Include tests when using QEMU
* Also add `set -e` so we fail when tests fail
2023-01-12 16:54:02 +01:00
Corentin Le Molgat
4e191a4cc8 script: rename few variables in expand_bootlin 2022-11-09 15:37:43 +00:00
Mykola Hohsadze
19799486d2
Add Intel Raptor Lake uarch detection (#283) 2022-11-08 15:35:50 +01:00
Guillaume Chatelet
b7bc447203
Update README.md to report support of POWER and s390x (#284) 2022-11-03 10:39:28 +01:00
Mizux
16ca56fcb2
Improve CI (Aarch64, Power) (#285)
* scripts: Fix shellcheck

* script: Bump qemu 5.2.0 -> 7.1.0

* scripts: add bootlin aarch64 toolchains

* scripts: Add PowerPC bootlin toolchain

* scripts: cleanup linaro toolchains

* scripts: cleanup codespace

* cmake(ci): Add aarch64 bootlin support

* cmake(ci): Add PowerPC bootlin support

* ci: Add aarch64 bootlin jobs

* ci: Add PowerPC bootlin jobs

* Remove conflict with compiler generated preprocessor

Co-authored-by: Guillaume Chatelet <gchatelet@google.com>
2022-11-03 10:06:38 +01:00
marquitos0119
981fbe3914
S390X Support (#274)
* support for s390x

* added z15 T01, T02 model checking

* removed z15 checking

* removed empty strings

* added s390x unit tests

* added reference url for hwcaps

* moved documentation to S390XFeatures struct, updated copyright date, removed unused include statement

* changed num_processors to int

* removed newlines from test inputs

* scripts: Add bootlin s390x support

* cmake(ci): Add s390x support

* ci: Add s390x workflow

Co-authored-by: Marcos <marcos.araque.fiallos@ibm.com>
Co-authored-by: Corentin Le Molgat <corentinl@google.com>
2022-11-02 09:38:13 +01:00
Mykola Hohsadze
bddcc3721c
Add REP instructions detection (#282) 2022-10-26 16:13:15 +02:00
Mykola Hohsadze
26852665b4
Add X86 movdir detection (#281) 2022-10-25 09:33:13 +02:00
Mykola Hohsdze
3485a46a6d Add X86 GFNI detection 2022-10-24 08:29:55 +02:00
damageboy
8ca7c65f65
add x86/avx512_fp16 detection (#279)
fixes #278
2022-10-20 11:26:13 +02:00
Mykola Hohsadze
627959faee
Add AMD ZEN4 Raphael detection (#277) 2022-10-19 11:36:27 +02:00
Andrei Kurushin
4760834428
add mobile core flavor (#266) 2022-10-19 11:35:19 +02:00
Guillaume Chatelet
438a66e418
Use textual_hdrs for bazel instead of hdrs (#276) 2022-09-29 11:10:07 +02:00
Mykola Hohsadze
302566b160
Replace hardcoded cache type value to enum type for X86 tests (#270)
Replaced hardcoded integer values of cache type to `CacheType` values for X86 tests and added declaration `CacheType` for `P4_CacheInfo` test
2022-09-19 12:56:09 +02:00
William Tambellini
b69591add3
Add support for detecting Intel CascadeLake CPUs (#271)
Should close
https://github.com/google/cpu_features/issues/260
2022-09-19 10:00:01 +02:00
Mykola Hohsadze
cee2648cf0
Add cache detection for old AMD processors (#199)
* Add cache detection for of old AMD processors




update links

* Add documentation link for cache_size * 512

* Update legacy amd cache detection
2022-08-18 13:55:21 +02:00
Andrei Kurushin
1e253a7728
add amd cato (#267)
* add AMD RX-8125, RX-8120, and A9-9820 detection
2022-08-18 10:40:24 +02:00
Mykola Hohsadze
cd97c7cee7
Get rid repeated branch (#269)
* Get rid repeated branch
* Update cache type field comment
2022-08-18 10:39:00 +02:00
Andrei Kurushin
4e8d2e3a22
add intel goldmont plus (#256)
* add intel goldmont plus (INTEL_ATOM_GMT_PLUS)
2022-08-08 09:27:18 +02:00
Andrei Kurushin
876b9e6a73
add amd piledriver 0x10 model (#255)
* add amd piledriver 0x10 model
2022-08-05 15:56:53 +02:00
Andrew Kurushin
349ef06634 add CometLake model 166 2022-08-05 15:55:18 +02:00
Mykola Hohsdze
cf7cd9824f Replace hardcode values to constants 2022-08-05 09:02:13 +02:00
Daniele Affinita
426b036e8d
Added some missing amd k12 uarch (#259)
* Add comment about AMD_K12 LLANO.
* Add family 0x12 model 0x00 to it.
2022-08-04 22:30:46 +02:00
Mykola Hohsdze
c6b0a803a8 Add AVX_VNNI 2022-08-04 21:56:32 +02:00
Andrew Kurushin
cbc8f9c7a3 add Lakefield 2022-08-04 21:54:23 +02:00
Andrew Kurushin
6d62f2fa64 add intel Tremont microarch 2022-08-04 21:54:23 +02:00
Guillaume Chatelet
f60b6f8405 [NFC] Remove unused variable 2022-07-28 14:29:50 +00:00
Guillaume Chatelet
8d86a40b7a [NFC] Restrict windows inclusion to windows platforms 2022-07-28 14:24:57 +00:00
Andrei Kurushin
d3c5e369db
test enum macro consistency (#257) 2022-07-28 12:34:42 +02:00
Mykola Hohsadze
601471d527
Add detection LZCNT (#254)
Fixes #253
2022-07-28 12:22:16 +02:00
Andrei Kurushin
677d6419b2
remove internal FillX86BrandString usage (#258) 2022-07-25 17:39:50 +02:00
michael-roe
c7c7751682
Add macros for RISCV hwcaps (#246)
Co-authored-by: Michael Roe <michael-roe@users.noreply.github.com>
2022-07-21 21:58:04 +02:00
Andrei Kurushin
c1620a979e
add comet lake unit test #248 (#250) 2022-07-21 21:57:38 +02:00
Andrei Kurushin
38ae5d095c
add windows ssse3,sse4_1,sse4_2 detection for non avx path (#251)
* add windows ssse3,sse4_1,sse4_2 detection for non avx path

* remove special WESTMERE case

* move windows conditional redefinition to separate header

* fix minor issues
2022-07-21 21:56:50 +02:00
Andrei Kurushin
8eb944f55d
add comet lake support #248 (#249) 2022-07-13 10:28:34 +02:00