zlib: inflate using wider loads and stores
In inflate_fast() the output pointer always has plenty of room to write. This means that so long as the target is capable, wide un-aligned loads and stores can be used to transfer several bytes at once. When the reference distance is too short simply unroll the data a little to increase the distance. Patch by Simon Hosie. PNG decoding performance gains should be around 30-33%. BUG=697280 Change-Id: I59854eb25d2b1e43561c8a2afaf9175bf10cf674 Reviewed-on: https://chromium-review.googlesource.com/627098 Reviewed-by:Adenilson Cavalcanti <cavalcantii@chromium.org> Reviewed-by:
Mike Klein <mtklein@chromium.org> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#497866} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: ad8fca9f4ad29ab87e49ec91a3577ef3696b3a84
Showing
- 0003-arm-inffast.patch 2248 additions, 0 deletions0003-arm-inffast.patch
- BUILD.gn 18 additions, 0 deletionsBUILD.gn
- README.chromium 1 addition, 0 deletionsREADME.chromium
- contrib/arm/chunkcopy.h 279 additions, 0 deletionscontrib/arm/chunkcopy.h
- contrib/arm/inffast.c 307 additions, 0 deletionscontrib/arm/inffast.c
- contrib/arm/inflate.c 1571 additions, 0 deletionscontrib/arm/inflate.c
Loading
Please register or sign in to comment