URL: <https://savannah.nongnu.org/patch/?10101>
Summary: util/crc16.h: improved _crc_xmodem_update (smaller & faster) Project: AVR C Runtime Library Submitted by: sten Submitted on: Sun 29 Aug 2021 09:20:55 PM UTC Category: None Priority: 5 - Normal Status: None Privacy: Public Assigned to: None Originator Email: Open/Closed: Open Discussion Lock: Any _______________________________________________________ Details: The attached patch improves the _crc_xmodem_update algorithm. The improved algorithm uses 14 instructions instead of the original 25. Additionally the temporary variables have less strict constraints (=r instead of =d), and r0 is not clobbered. I have successfully tested the new algorithm with all possible inputs (65536 * 256) against the original algorithm. The test was run in simulavr. See attached files main.c, orig_crc.c and run_test.sh _______________________________________________________ File Attachments: ------------------------------------------------------- Date: Sun 29 Aug 2021 09:20:55 PM UTC Name: patch_crc_xmodem_update.txt Size: 2KiB By: sten <http://savannah.nongnu.org/patch/download.php?file_id=51830> ------------------------------------------------------- Date: Sun 29 Aug 2021 09:20:55 PM UTC Name: main.c Size: 1KiB By: sten <http://savannah.nongnu.org/patch/download.php?file_id=51831> ------------------------------------------------------- Date: Sun 29 Aug 2021 09:20:55 PM UTC Name: orig_crc.c Size: 116B By: sten <http://savannah.nongnu.org/patch/download.php?file_id=51832> ------------------------------------------------------- Date: Sun 29 Aug 2021 09:20:55 PM UTC Name: run_test.sh Size: 51B By: sten <http://savannah.nongnu.org/patch/download.php?file_id=51833> _______________________________________________________ Reply to this item at: <https://savannah.nongnu.org/patch/?10101> _______________________________________________ Message sent via Savannah https://savannah.nongnu.org/