Closed djm34 closed 5 years ago
Oh my! I recognize this one and am terribly ashamed! It dates when I was running the tests on my Geekbox (cortex A53) which only has a single 64-bit read port from the L1 cache and wanted to see if loading 32 bits only was faster or not. I only changed the function's prototype to run the test and it seems I forgot to switch it back!
Worse, the explicit cast on the return value was added as part of the visual studio build fixes! In fact it was the prototype which had to be fixed, not the cast at the end. This one came from cpuminer I think. Many thanks for noticing this one! I'll rerun some tests here and update the test patterns.
Now fixed, closing this one. Many thanks to you again Sir!
I am not sure to understand why the function rfv2_rambox return a uint32_t integer. The carry is declared as uint64_t then the functions rotbox takes (carry >> 56) & 0xff (for example) which will be 0 since the carry returned by rfv2_rambox will be 32 bit integer.