diff options
Diffstat (limited to 'src/arch')
| -rw-r--r-- | src/arch/avx2.h | 12 | ||||
| -rw-r--r-- | src/arch/common.h | 14 | ||||
| -rw-r--r-- | src/arch/neon.h | 10 | ||||
| -rw-r--r-- | src/arch/portable.h | 10 |
4 files changed, 23 insertions, 23 deletions
diff --git a/src/arch/avx2.h b/src/arch/avx2.h index 15ce02a..801419e 100644 --- a/src/arch/avx2.h +++ b/src/arch/avx2.h | |||
| @@ -37,11 +37,11 @@ popcount_u32(uint32_t x) | |||
| 37 | STATIC_INLINE int | 37 | STATIC_INLINE int |
| 38 | popcount_u64(uint64_t x) | 38 | popcount_u64(uint64_t x) |
| 39 | { | 39 | { |
| 40 | return _mm_popcnt_u64(x); | 40 | return (int)_mm_popcnt_u64(x); |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | STATIC void | 43 | STATIC void |
| 44 | pieces(cube_t cube[static 1], uint8_t c[static 8], uint8_t e[static 12]) | 44 | pieces(cube_t cube[NON_NULL], uint8_t c[SIZE(8)], uint8_t e[SIZE(12)]) |
| 45 | { | 45 | { |
| 46 | uint8_t aux[32]; | 46 | uint8_t aux[32]; |
| 47 | 47 | ||
| @@ -167,7 +167,7 @@ coord_co(cube_t c) | |||
| 167 | } | 167 | } |
| 168 | 168 | ||
| 169 | STATIC_INLINE void | 169 | STATIC_INLINE void |
| 170 | copy_co(cube_t cube[static 1], cube_t co) | 170 | copy_co(cube_t cube[NON_NULL], cube_t co) |
| 171 | { | 171 | { |
| 172 | cube_t coclean; | 172 | cube_t coclean; |
| 173 | 173 | ||
| @@ -274,19 +274,19 @@ invcoord_esep(uint64_t esep) | |||
| 274 | } | 274 | } |
| 275 | 275 | ||
| 276 | STATIC_INLINE void | 276 | STATIC_INLINE void |
| 277 | copy_corners(cube_t dest[static 1], cube_t src) | 277 | copy_corners(cube_t dest[NON_NULL], cube_t src) |
| 278 | { | 278 | { |
| 279 | *dest = _mm256_blend_epi32(*dest, src, 0x0F); | 279 | *dest = _mm256_blend_epi32(*dest, src, 0x0F); |
| 280 | } | 280 | } |
| 281 | 281 | ||
| 282 | STATIC_INLINE void | 282 | STATIC_INLINE void |
| 283 | copy_edges(cube_t dest[static 1], cube_t src) | 283 | copy_edges(cube_t dest[NON_NULL], cube_t src) |
| 284 | { | 284 | { |
| 285 | *dest = _mm256_blend_epi32(*dest, src, 0xF0); | 285 | *dest = _mm256_blend_epi32(*dest, src, 0xF0); |
| 286 | } | 286 | } |
| 287 | 287 | ||
| 288 | STATIC_INLINE void | 288 | STATIC_INLINE void |
| 289 | set_eo(cube_t cube[static 1], uint64_t eo) | 289 | set_eo(cube_t cube[NON_NULL], uint64_t eo) |
| 290 | { | 290 | { |
| 291 | uint64_t eo12, eotop, eobot; | 291 | uint64_t eo12, eotop, eobot; |
| 292 | __m256i veo; | 292 | __m256i veo; |
diff --git a/src/arch/common.h b/src/arch/common.h index 2b95fe3..a7c4a3b 100644 --- a/src/arch/common.h +++ b/src/arch/common.h | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | STATIC_INLINE int popcount_u32(uint32_t); | 15 | STATIC_INLINE int popcount_u32(uint32_t); |
| 16 | STATIC_INLINE int popcount_u64(uint64_t); | 16 | STATIC_INLINE int popcount_u64(uint64_t); |
| 17 | 17 | ||
| 18 | STATIC void pieces(cube_t [static 1], uint8_t [static 8], uint8_t [static 12]); | 18 | STATIC void pieces(cube_t [NON_NULL], uint8_t [SIZE(8)], uint8_t [SIZE(12)]); |
| 19 | STATIC_INLINE bool equal(cube_t, cube_t); | 19 | STATIC_INLINE bool equal(cube_t, cube_t); |
| 20 | STATIC_INLINE cube_t invertco(cube_t); | 20 | STATIC_INLINE cube_t invertco(cube_t); |
| 21 | STATIC_INLINE cube_t compose_edges(cube_t, cube_t); | 21 | STATIC_INLINE cube_t compose_edges(cube_t, cube_t); |
| @@ -35,12 +35,12 @@ STATIC_INLINE cube_t invcoord_epudsep(uint64_t); | |||
| 35 | 35 | ||
| 36 | STATIC_INLINE bool is_eo_even(cube_t); | 36 | STATIC_INLINE bool is_eo_even(cube_t); |
| 37 | 37 | ||
| 38 | STATIC_INLINE void copy_corners(cube_t [static 1], cube_t); | 38 | STATIC_INLINE void copy_corners(cube_t [NON_NULL], cube_t); |
| 39 | STATIC_INLINE void copy_co(cube_t [static 1], cube_t); | 39 | STATIC_INLINE void copy_co(cube_t [NON_NULL], cube_t); |
| 40 | STATIC_INLINE void copy_edges(cube_t [static 1], cube_t); | 40 | STATIC_INLINE void copy_edges(cube_t [NON_NULL], cube_t); |
| 41 | STATIC_INLINE void set_eo(cube_t [static 1], uint64_t); | 41 | STATIC_INLINE void set_eo(cube_t [NON_NULL], uint64_t); |
| 42 | 42 | ||
| 43 | STATIC_INLINE void invcoord_esep_array(uint64_t, uint64_t, uint8_t[static 12]); | 43 | STATIC_INLINE void invcoord_esep_array(uint64_t, uint64_t, uint8_t[SIZE(12)]); |
| 44 | STATIC_INLINE cube_t invcoord_eoesep(uint64_t); | 44 | STATIC_INLINE cube_t invcoord_eoesep(uint64_t); |
| 45 | STATIC_INLINE uint64_t coord_epudsep_array(const uint8_t [8]); | 45 | STATIC_INLINE uint64_t coord_epudsep_array(const uint8_t [8]); |
| 46 | STATIC_INLINE void invcoord_epudsep_array(uint64_t, uint8_t [8]); | 46 | STATIC_INLINE void invcoord_epudsep_array(uint64_t, uint8_t [8]); |
| @@ -53,7 +53,7 @@ STATIC_INLINE uint64_t coord_epe(cube_t); | |||
| 53 | STATIC_INLINE cube_t invcoord_epe(uint64_t); | 53 | STATIC_INLINE cube_t invcoord_epe(uint64_t); |
| 54 | 54 | ||
| 55 | STATIC_INLINE void | 55 | STATIC_INLINE void |
| 56 | invcoord_esep_array(uint64_t set1, uint64_t set2, uint8_t mem[static 12]) | 56 | invcoord_esep_array(uint64_t set1, uint64_t set2, uint8_t mem[SIZE(12)]) |
| 57 | { | 57 | { |
| 58 | uint64_t bit1, bit2, i, j, jj, k, l, s, v, w, is1; | 58 | uint64_t bit1, bit2, i, j, jj, k, l, s, v, w, is1; |
| 59 | uint8_t slice[3] = {0}; | 59 | uint8_t slice[3] = {0}; |
diff --git a/src/arch/neon.h b/src/arch/neon.h index 725e589..501b722 100644 --- a/src/arch/neon.h +++ b/src/arch/neon.h | |||
| @@ -59,7 +59,7 @@ popcount_u64(uint64_t x) | |||
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | STATIC void | 61 | STATIC void |
| 62 | pieces(cube_t cube[static 1], uint8_t c[static 8], uint8_t e[static 12]) | 62 | pieces(cube_t cube[NON_NULL], uint8_t c[SIZE(8)], uint8_t e[SIZE(12)]) |
| 63 | { | 63 | { |
| 64 | // First 8 bytes of the corner vector are copied from the c array | 64 | // First 8 bytes of the corner vector are copied from the c array |
| 65 | vst1_u8(c, cube->corner); | 65 | vst1_u8(c, cube->corner); |
| @@ -244,7 +244,7 @@ coord_co(cube_t c) | |||
| 244 | } | 244 | } |
| 245 | 245 | ||
| 246 | STATIC_INLINE void | 246 | STATIC_INLINE void |
| 247 | copy_co(cube_t cube[static 1], cube_t co) | 247 | copy_co(cube_t cube[NON_NULL], cube_t co) |
| 248 | { | 248 | { |
| 249 | uint8x8_t coclean; | 249 | uint8x8_t coclean; |
| 250 | 250 | ||
| @@ -340,19 +340,19 @@ coord_esep(cube_t c) | |||
| 340 | } | 340 | } |
| 341 | 341 | ||
| 342 | STATIC_INLINE void | 342 | STATIC_INLINE void |
| 343 | copy_corners(cube_t dst[static 1], cube_t src) | 343 | copy_corners(cube_t dst[NON_NULL], cube_t src) |
| 344 | { | 344 | { |
| 345 | dst->corner = src.corner; | 345 | dst->corner = src.corner; |
| 346 | } | 346 | } |
| 347 | 347 | ||
| 348 | STATIC_INLINE void | 348 | STATIC_INLINE void |
| 349 | copy_edges(cube_t dst[static 1], cube_t src) | 349 | copy_edges(cube_t dst[NON_NULL], cube_t src) |
| 350 | { | 350 | { |
| 351 | dst->edge = src.edge; | 351 | dst->edge = src.edge; |
| 352 | } | 352 | } |
| 353 | 353 | ||
| 354 | STATIC_INLINE void | 354 | STATIC_INLINE void |
| 355 | set_eo(cube_t cube[static 1], uint64_t eo) | 355 | set_eo(cube_t cube[NON_NULL], uint64_t eo) |
| 356 | { | 356 | { |
| 357 | // Temp array to store the NEON vector | 357 | // Temp array to store the NEON vector |
| 358 | uint8_t mem[16]; | 358 | uint8_t mem[16]; |
diff --git a/src/arch/portable.h b/src/arch/portable.h index 162ed1a..f1491f0 100644 --- a/src/arch/portable.h +++ b/src/arch/portable.h | |||
| @@ -46,7 +46,7 @@ popcount_u64(uint64_t x) | |||
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | STATIC void | 48 | STATIC void |
| 49 | pieces(cube_t cube[static 1], uint8_t c[static 8], uint8_t e[static 12]) | 49 | pieces(cube_t cube[NON_NULL], uint8_t c[SIZE(8)], uint8_t e[SIZE(12)]) |
| 50 | { | 50 | { |
| 51 | memcpy(c, cube->corner, 8); | 51 | memcpy(c, cube->corner, 8); |
| 52 | memcpy(e, cube->edge, 12); | 52 | memcpy(e, cube->edge, 12); |
| @@ -166,7 +166,7 @@ inverse(cube_t cube) | |||
| 166 | } | 166 | } |
| 167 | 167 | ||
| 168 | STATIC_INLINE void | 168 | STATIC_INLINE void |
| 169 | copy_co(cube_t cube[static 1], cube_t co) | 169 | copy_co(cube_t cube[NON_NULL], cube_t co) |
| 170 | { | 170 | { |
| 171 | uint8_t c; | 171 | uint8_t c; |
| 172 | size_t i; | 172 | size_t i; |
| @@ -291,19 +291,19 @@ invcoord_esep(uint64_t esep) | |||
| 291 | } | 291 | } |
| 292 | 292 | ||
| 293 | STATIC_INLINE void | 293 | STATIC_INLINE void |
| 294 | copy_corners(cube_t dest[static 1], cube_t src) | 294 | copy_corners(cube_t dest[NON_NULL], cube_t src) |
| 295 | { | 295 | { |
| 296 | memcpy(&dest->corner, src.corner, sizeof(src.corner)); | 296 | memcpy(&dest->corner, src.corner, sizeof(src.corner)); |
| 297 | } | 297 | } |
| 298 | 298 | ||
| 299 | STATIC_INLINE void | 299 | STATIC_INLINE void |
| 300 | copy_edges(cube_t dest[static 1], cube_t src) | 300 | copy_edges(cube_t dest[NON_NULL], cube_t src) |
| 301 | { | 301 | { |
| 302 | memcpy(&dest->edge, src.edge, sizeof(src.edge)); | 302 | memcpy(&dest->edge, src.edge, sizeof(src.edge)); |
| 303 | } | 303 | } |
| 304 | 304 | ||
| 305 | STATIC_INLINE void | 305 | STATIC_INLINE void |
| 306 | set_eo(cube_t cube[static 1], uint64_t eo) | 306 | set_eo(cube_t cube[NON_NULL], uint64_t eo) |
| 307 | { | 307 | { |
| 308 | uint8_t i, sum, flip; | 308 | uint8_t i, sum, flip; |
| 309 | 309 | ||
