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

258 Commits

Author SHA1 Message Date
Guillaume Chatelet
aa642e573e [NFC] Avoid polluting global scope 2022-01-14 16:06:30 +00:00
Guillaume Chatelet
5ed8ef4bbe
[NFC][x86] Read all cpuid leaves at once (#213)
This patch reads the most important cpuid leaves and stores the data in
a struct. A followup patch will inline micro architecture detection and
brand string inside X86Info so we don't have to call `ReadLeaves` multiple
times. This wil allow further simplification of `HasSecondFMA` and help
fix https://github.com/google/cpu_features/issues/200.
2022-01-14 14:14:07 +01:00
Guillaume Chatelet
69d39934e8
Fix arm64 detection precedence in CMakeLists.txt (#209)
Fixes #179
2021-11-30 10:45:28 +01:00
Guillaume Chatelet
9d34e6a1c8 Fix #205
Since buffers are a few tens of bytes there is no need for optimized memfunctions. For compile time sizes, the compiler will generate optimal code already.
2021-11-22 16:50:29 +00:00
Mykola Hohsdze
fc52c64ebc fix googletest download 2021-11-16 09:20:01 +01:00
Guillaume Chatelet
ebcdfcaeff Fix missing header 2021-10-29 13:54:41 +00:00
Guillaume Chatelet
f69a25811f make copy and equals inline headers 2021-10-29 12:41:43 +00:00
Guillaume Chatelet
990c55c50f Silence unsused parameters 2021-10-29 10:48:52 +00:00
Guillaume Chatelet
6fd9a8ca58 Make getter/setter static so they don't leak 2021-10-29 10:47:01 +00:00
Guillaume Chatelet
400d4f2836 Fix CpuFeatures_memchr to actually use the provided size argument 2021-10-29 10:10:20 +00:00
Nikolay Hohsadze
5695cc4817
Update uarch detection for Intel processors (#184) 2021-10-29 10:41:50 +02:00
Guillaume Chatelet
5ef0db4bba
Update README.md 2021-10-28 16:36:10 +02:00
Corentin Le Molgat
1601db5335 ci: Update Linux jobs to run inside a docker container. 2021-10-28 16:24:54 +02:00
Corentin Le Molgat
ccc3a51e4c ci: Add docker based test framework
* Add documentation
* Add .dockerignore: minimize docker context size to improve speed
* Add Makefile: to easily run various docker stages
* Add a CMake sample project to check CMake install rules
2021-10-28 16:24:54 +02:00
Corentin Le Molgat
ca84b91d34 scripts: Fixup for run_integration.sh 2021-10-28 16:24:54 +02:00
Guillaume Chatelet
f96d5f74d4 NFC remove reference to libc memory functions 2021-10-28 11:56:57 +00:00
Guillaume Chatelet
deb2a61b80
New code layout - breaking change in cpu_features_macros.h (#194)
This commit helps with platform code separation (fixes #3). It should also help with the build as we can simply include all `impl_*.c` files regardless of OS / arch.

Note: this patch contains breaking changes in `include/cpu_features_macros.h`
 - `CPU_FEATURES_OS_LINUX_OR_ANDROID` does not exist anymore
 - `CPU_FEATURES_OS_FREEBSD`, `CPU_FEATURES_OS_ANDROID` and `CPU_FEATURES_OS_LINUX` are now mutually exclusive (i.e. `CPU_FEATURES_OS_ANDROID` does not imply `CPU_FEATURES_OS_LINUX`)
 - `CPU_FEATURES_OS_DARWIN` has been renamed into `CPU_FEATURES_OS_MACOS` to be able to target non-Mac Apple products (IOS, TV, WATCH). They are now targetable with `CPU_FEATURES_OS_IPHONE`. This matches Apple naming convention described in [this stackoverflow](https://stackoverflow.com/a/49560690).
2021-10-28 13:52:46 +02:00
Guillaume Chatelet
0dd8b41eca
Update README.md (#193)
Change `Quickstart` section to match new default value for testing.
2021-10-27 14:48:47 +02:00
Corentin Le Molgat
8e5c298d1d Update README.md 2021-10-27 13:24:05 +02:00
Mizux Seiha
06abc90b45 ci: Fix windows workflow filename 2021-10-27 13:24:05 +02:00
Mizux Seiha
9178459627 ci: Drop use of Travis-CI and Appveyor 2021-10-27 13:24:05 +02:00
Corentin Le Molgat
a707bef49d cmake: Fix enabling ndk_compat 2021-10-27 13:22:49 +02:00
Guillaume Chatelet
c5659bf16f Override CacheInfo only if new data is available via Deterministic Cache Parameters Leaf
#190
2021-10-26 15:21:27 +00:00
Mizux
5d871e7569
ci: Migrate FreeBSD to macos-10.15 virtual env (#191)
note: In preparation to https://github.com/actions/virtual-environments/issues/4060
which will drop Vagrant/VirtualBox

ref: https://github.com/actions/virtual-environments/pull/4010
2021-10-26 16:01:14 +02:00
Guillaume Chatelet
7bd206a75f Fix memory overflow
Duplicate of #190
2021-10-26 13:58:42 +00:00
Guillaume Chatelet
55ac9f0556
Set CTest output on failure (#189) 2021-10-26 15:08:38 +02:00
Corentin Le Molgat
d4252660a2 ci(github): Add workflows 2021-10-26 11:42:29 +00:00
Corentin Le Molgat
440452e9a3 ci(travis): adapt it to the new run_integration.sh 2021-10-26 11:42:29 +00:00
Corentin Le Molgat
8971bf0b0e tools: Rework cross compilation scripts
- Use stderr for issues
- Add usage to run_integration.sh (-h or --help)
- deduce toolchain and qemu config from TARGET
- Bump QEMU from 2.11.1 to 5.2.0
  - fix qemu build on Archlinux
- Bump Linaro:
    toolchain 7.2-2017.11 -> 7.5-2019.12
    sysroot 2.25-2017.11 -> 2.25-2019.12
- Bump codescape from 2017.10-08 to 2020.06-01
  - migrate from mips-r2-hard to mips-r6-hard
2021-10-26 11:42:29 +00:00
Corentin Le Molgat
239c2e5660 ci(appveyor): Add VS 2019 job 2021-10-26 11:42:29 +00:00
Corentin Le Molgat
0f07e4b9eb .gitignore: Add build_cross/
note: Used by scripts/*.sh
2021-10-26 11:42:29 +00:00
Corentin Le Molgat
545b2e84ec cmake: Use of CMAKE_POSITION_INDEPENDENT_CODE instead of BUILD_PIC (Fix #143) 2021-10-25 12:01:38 +00:00
Guillaume Chatelet
769287c384
Fixes #185 (#187)
Missing `string_view` header and invalid `_Static_assert` statement
2021-10-25 09:48:46 +02:00
Guillaume Chatelet
cf589a2844
[NFC] Change implementation of FillX86BrandString (#181) 2021-10-21 10:51:00 +02:00
Guillaume Chatelet
32b49eb5e7
Fixes wrong cache detection of old processors (#183) 2021-10-20 17:02:52 +02:00
Guillaume Chatelet
4a81f3756e [NFC] encapsulate fake cpu instance in x86 test 2021-10-20 08:15:44 +00:00
Guillaume Chatelet
b324a7043c
Showcase community bindings (#180) 2021-10-18 15:53:02 +02:00
Nikolay Hohsadze
0925f6953c
Add cache info for new AMD CPUs (0x8000001D) (#171) 2021-10-18 14:14:29 +02:00
SpaceIm
2939ece4d2
add BUNDLE DESTINATION (#177)
required for installation of executable target if cross-build to iOS/tvOS/watchOS
see https://cmake.org/cmake/help/latest/policy/CMP0006.html
2021-10-18 13:29:39 +02:00
Guillaume Chatelet
f70dc46cd5
Add separator to CpuFeatures_StringView_HasWord (#174) 2021-10-18 12:52:14 +02:00
Mizux
628c50e92d
Update README.md (#176) 2021-07-07 16:25:58 +02:00
Nikolay Hohsadze
dcac7d3844
Update gitignore (#173) 2021-07-06 11:14:20 +02:00
Guillaume Chatelet
b003173331
Fix broken table in README.md 2021-07-02 17:33:54 +02:00
Guillaume Chatelet
119943707c
Add support for FreeBSD on x86 (#163) 2021-07-02 15:37:03 +02:00
Mizux
06fdc0aa1d
cmake: Use CTest default (Fix #169) (#170)
note: this is the default behaviour when using include(CTest)
2021-06-30 15:15:01 +02:00
Mizux
38213bd010
ci: Add FreeBSD GitHub workflows (#167)
First step to fixing #158 : add a CI for FreeBSD.
2021-06-30 15:02:23 +02:00
Nikolay Hohsadze
5492c4c561
CPU features for AMD (#165) 2021-06-30 12:38:56 +02:00
Guillaume Chatelet
b3ef4ef49d
Avoid leaking internal headers for ppc (#164) 2021-06-30 11:51:26 +02:00
Kris Kwiatkowski
001faefdc3
fix: Return default value from ‘GetCacheTypeString’ (#162)
The build fails with following message when -Werror
and -Werror=return-type are enabled.

In function ‘GetCacheTypeString’:
	error: control reaches end of non-void function [-Werror=return-type]

Simple fix is to return explicitly communicate to
the compiler that certain block is not reachable.
2021-06-25 10:28:26 +02:00
Guillaume Chatelet
646b80fa3a
[NFC] refactor the code so it's easier to understand the execution flow (#161) 2021-06-23 14:21:05 +00:00