--- Quote Start ---
Which CRC are you computing?
Sounds a bit like CRC16.
You might be able to make use of the fact that you can XOR together two packets and still have a valid CRC (if you correctly allow for the initial value and final inversion).
So maybe you can xor together the CRC value for each bit.
While this is now 53*8 XORs, they can be done in parallel - so only 10 deep.
If large parts of the packet are fixed, they can be excluded from the dynamic crc.
OTOH why don't you defer the CRC calculation until teh data is serialised?
--- Quote End ---
I am computing CRC 16 CCITT
It is based on XORing the data with polynom. Every time I making shifting and XORing with the same polynom. After the execution of all packet I get the result build of 16 bit. I'm sure that you are familiar with it :)