h48

A prototype for an optimal Rubik's cube solver, work in progress.
git clone https://git.tronto.net/h48
Download | Log | Files | Refs | README | LICENSE

commit 7e702c3387d702374158c61ac6da4b3cb2452186
parent 3de45a37b4b7fd0fee48a95d659436fba5d130a1
Author: Sebastiano Tronto <sebastiano@tronto.net>
Date:   Tue, 19 Sep 2023 23:22:07 +0200

Renamed file + added TODOs

Diffstat:
MREADME.md | 11+++++++++++
Rsrc/array_cube.c -> src/cube_array.c | 0
2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md @@ -8,4 +8,15 @@ TODO: * coordinates: co, eo, epsep, cpsep_sym, cocpsep_sym, cphtr_sym, cocphtr_sym * pruning tables (1 bit per entry + fallback) * solve.c + +Optimizations: + +* multi-move (up to 4/5 moves at once) * avx2_cube.c + +Things I need to learn: + +* Use AVX2 instructions, in particular + [_mm256_shuffle_epi8](https://www.intel.com/content/www/us/en/docs/cpp-compiler/developer-guide-reference/2021-10/mm256-shuffle-epi8.html)) +* Inspect compiled assembly +* Use valgrind tool cachegrind and other profiling tools diff --git a/src/array_cube.c b/src/cube_array.c