https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126351

--- Comment #4 from ktkachov at gcc dot gnu.org ---
(In reply to Drea Pinski from comment #3)
> Coremarks is a bad benchmark.

Sure, but in this case it acts as a microbenchmarking harness for the two
sequences.

If CRC calculation is actually important for performance in an application then
it's likely called multiple times, which would put the table in the cache. The
PMULL sequence is more instructions overall, uses SIMD (which usually has
higher latency and lower throughput than simple scalar ops) and contains
4xGP<->FP moves so can't possibly win against a cache-hitting load.

Note this applies only for QImode crc. For larger sizes I think we should still
prefer the PMULL sequence

Reply via email to