OpTime ShiftLeft256x16uRef(int blocks, int cycles) { var blocklen = Vec256 <ushort> .Length; var opcount = blocks * cycles * blocklen; var shiftRange = closed <byte>(2, 14); var sw = stopwatch(false); var src = Random.Stream <ushort>(); var offsets = Random.Stream(shiftRange); for (var cycle = 0; cycle < cycles; cycle++) { for (var block = 0; block < blocks; block++) { var x = src.TakeSpan(blocklen); var offset = offsets.First(); sw.Start(); BitRef.ShiftL(x, offset); sw.Stop(); } } return(OpTime.Define(opcount, snapshot(sw), "slli16uRef")); }