Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
hash/crc32: improve performance of ppc64SlicingUpdateBy8 on ppc64le
Reduce the number of instructions in the short loop of ppc64SlicingUpdateBy8 function by combining MOVWZ and SRD into a SRD with appropriate parameters performing the same operation and remove MOVWZ R7,R7 from the loop This change produces the following improvements on POWER9. None of the other tests regress. Improvments on other POWERPC platforms similar. name old time/op new time/op delta CRC32/poly=IEEE/size=15/align=0 80.5ns ± 0% 70.6ns ± 0% -12% CRC32/poly=IEEE/size=15/align=1 80.5ns ± 0% 70.6ns ± 0% -12% CRC32/poly=IEEE/size=512/align=1 151ns ± 0% 139ns ± 0% -7% CRC32/poly=IEEE/size=1kB/align=1 167ns ± 0% 155ns ± 0% -7% CRC32/poly=Castagnoli/size=15/align=0 80.2ns ± 0% 70.5ns ± 0% -12% CRC32/poly=Castagnoli/size=15/align=1 80.2ns ± 0% 70.5ns ± 0% -12% CRC32/poly=Castagnoli/size=512/align=1 150ns ± 0% 139ns ± 0% -7% CRC32/poly=Castagnoli/size=1kB/align=1 166ns ± 0% 155ns ± 0% -6% Change-Id: I424709041c30d1c637b595d0845e3ae78dc3e0a0 Reviewed-on: https://go-review.googlesource.com/c/go/+/350989 Reviewed-by: Lynn Boger <[email protected]> Reviewed-by: Cherry Mui <[email protected]> Run-TryBot: Lynn Boger <[email protected]> TryBot-Result: Go Bot <[email protected]>
- Loading branch information