avr-libc-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patch #10101] util/crc16.h: improved _crc_xmodem_update (smaller & fast


From: Benoit Steinmetz
Subject: [patch #10101] util/crc16.h: improved _crc_xmodem_update (smaller & faster)
Date: Sun, 29 Aug 2021 17:20:57 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]