mirror of
https://github.com/facebook/zstd.git
synced 2025-10-24 00:03:25 -04:00
ZSTD_seqSymbol is a structure with total of 64 bits wide. So it can be loaded in one operation and extract its fields by simply shifting or extracting on aarch64. GCC doesn't recognize this and generates more unnecessary ldr/ldrb/ldrh operations that cause performance drop. With this change it is observed 2~4% uplift of silesia and 2.5~6% of cantrbry @L8 on Arm N1. Signed-off-by: Jun He <jun.he@arm.com> Change-Id: I7748909204cf78a17eb9d4f2333692d53239daa8