XROT2, that is the invertible double xor rotate x ^= (x >>> a) ^ (x >>> b),
implemented?
I would expect CLMUL to have slightly less influence on bias than a regular integer multiplication due to the lack of carry's left-bound "smearing" effect.
XROT2 should show an effect on lowering bias which I would assume somewhere between one and two xor-shifts – remains to be proven. Execution on super-pipelined CPUs could speed-wise benefit from working on the very same x being rotated twice. However, little coding challenge here: two parameters a and b need to be parsed from command line's -p pattern.
Are there any plans or is there any interest at all in having
CLMUL
, the carryless multiplication which has its own opcode on modern CPUs, andXROT2
, that is the invertible double xor rotatex ^= (x >>> a) ^ (x >>> b)
,implemented?
I would expect
CLMUL
to have slightly less influence on bias than a regular integer multiplication due to the lack of carry's left-bound "smearing" effect.XROT2
should show an effect on lowering bias which I would assume somewhere between one and two xor-shifts – remains to be proven. Execution on super-pipelined CPUs could speed-wise benefit from working on the very samex
being rotated twice. However, little coding challenge here: two parametersa
andb
need to be parsed from command line's-p
pattern.