You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I also created Instruction sequences for when we already know which bit value we are currently handling.
This takes only 5 Instructions but has the penalty of using one large instruction in the beginning.
the sign-preserving right shift trick for the zero bit case should help here, thanks! the generic case is also useful but probably less so given the send logic already specializes for zero- and one- bit cases. also that crc code is misplaced/breaking stuff at the moment anyways
crc1 here is equivalent to what we already have but with
the shift reordered
@duk-37 any chance you would be interested in reworking some of the assembly once I get a fully working stack? I don't think I want to stake stream time to further optimize things, but it would be fun to do before a supercut.
@duk-37 any chance you would be interested in reworking some of the assembly once I get a fully working stack? I don't think I want to stake stream time to further optimize things, but it would be fun to do before a supercut.
Sure, I can take a look! Will also be a lot easier once we know more about the chip internals (#5 and Macyler's work)
General CRC computation
I have figured out a really good way to do CRC in 6 fully compressable instructions!
The current way assumes that the bit value is bitwise negated, which means it doesnt work for sending data
rv003usb/firmware/rv003usb.S
Lines 207 to 213 in 4cfe820
rv003usb/firmware/rv003usb.S
Lines 460 to 466 in 4cfe820
Bit specific CRC computation
I also created Instruction sequences for when we already know which bit value we are currently handling.
This takes only 5 Instructions but has the penalty of using one large instruction in the beginning.
This one removes the need of the
neg
instruction being able to compress 1 more instructionrv003usb/firmware/rv003usb.S
Lines 249 to 254 in 4cfe820
The main trick i used hre is to shift left and then shift right arithmetic to copy the LSB to all into all the other places
The text was updated successfully, but these errors were encountered: