diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2026-04-06 14:19:43 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2026-04-06 14:19:43 +0100 |
| commit | 0d4fa9ebbfcadfff4baf8fc3cd32a63dcfd7dd43 (patch) | |
| tree | 3a31783cb703febeba25d1aaafb931323a4d9202 /src/arch/neon.h | |
| parent | ce4f47663d6baeb55fea253f17bb5f023ea48de1 (diff) | |
| parent | fe534f1497da6447153064d7bba00243000f803b (diff) | |
| download | nissy-core-0d4fa9ebbfcadfff4baf8fc3cd32a63dcfd7dd43.tar.gz nissy-core-0d4fa9ebbfcadfff4baf8fc3cd32a63dcfd7dd43.zip | |
Merge remote-tracking branch 'origin/master' into c-portability
Diffstat (limited to 'src/arch/neon.h')
| -rw-r--r-- | src/arch/neon.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/arch/neon.h b/src/arch/neon.h index 1157938..501b722 100644 --- a/src/arch/neon.h +++ b/src/arch/neon.h | |||
| @@ -47,6 +47,17 @@ popcount_u32(uint32_t x) | |||
| 47 | return (int)x; | 47 | return (int)x; |
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | STATIC_INLINE int | ||
| 51 | popcount_u64(uint64_t x) | ||
| 52 | { | ||
| 53 | int top, bottom; | ||
| 54 | |||
| 55 | bottom = popcount_u32((uint32_t)(x & UINT64_C(0xFFFFFFFF))); | ||
| 56 | top = popcount_u32((uint32_t)(x >> UINT64_C(32))); | ||
| 57 | |||
| 58 | return top + bottom; | ||
| 59 | } | ||
| 60 | |||
| 50 | STATIC void | 61 | STATIC void |
| 51 | pieces(cube_t cube[NON_NULL], uint8_t c[SIZE(8)], uint8_t e[SIZE(12)]) | 62 | pieces(cube_t cube[NON_NULL], uint8_t c[SIZE(8)], uint8_t e[SIZE(12)]) |
| 52 | { | 63 | { |
