lib: add hint to generate more pipeline friendly code (#3138)
With statistic data of test data files of silesia the chance of position beyond highThreshold is very low (~1.3%@L8 in most cases, all <2.5%), and is in "lowprob area". Add the branch hint so compiler can get better pipiline codegen. With this change it is observed ~1% of mozilla and xml, and slight (0.3%~0.8%) but consistent uplift on other files on Arm N1. Signed-off-by: Jun He <jun.he@arm.com> Change-Id: Id9ba1d5c767e975290b5c1bf0ecce906544f4ade
This commit is contained in:
parent
558cf20d0d
commit
ec5fdcde19
@ -543,7 +543,7 @@ void ZSTD_buildFSETable_body(ZSTD_seqSymbol* dt,
|
||||
for (i=0; i<n; i++) {
|
||||
tableDecode[position].baseValue = s;
|
||||
position = (position + step) & tableMask;
|
||||
while (position > highThreshold) position = (position + step) & tableMask; /* lowprob area */
|
||||
while (UNLIKELY(position > highThreshold)) position = (position + step) & tableMask; /* lowprob area */
|
||||
} }
|
||||
assert(position == 0); /* position must reach all cells once, otherwise normalizedCounter is incorrect */
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user