We have been having some loop issues with our memset implementation (some internal compiler memset vs our os memset)
If someone has a moment, could you take a look at our memset function and see if it makes sense? My risc-v assembly isn't super strong :-)
00000000802382ea <memset>:
802382ea: 7139 addi sp,sp,-64
802382ec: fc22 sd s0,56(sp)
802382ee: 0080 addi s0,sp,64
802382f0: fca43c23 sd a0,-40(s0)
802382f4: 87ae mv a5,a1
802382f6: fcc43423 sd a2,-56(s0)
802382fa: fcf42a23 sw a5,-44(s0)
802382fe: fd843783 ld a5,-40(s0)
80238302: fef43423 sd a5,-24(s0)
80238306: a829 j 80238320 <memset+0x36>
80238308: fe843783 ld a5,-24(s0)
8023830c: 00178713 addi a4,a5,1
80238310: fee43423 sd a4,-24(s0)
80238314: fd442703 lw a4,-44(s0)
80238318: 0ff77713 zext.b a4,a4
8023831c: 00e78023 sb a4,0(a5)
80238320: fc843783 ld a5,-56(s0)
80238324: fff78713 addi a4,a5,-1
80238328: fce43423 sd a4,-56(s0)
8023832c: fff1 bnez a5,80238308 <memset+0x1e>
8023832e: fd843783 ld a5,-40(s0)
80238332: 853e mv a0,a5
80238334: 7462 ld s0,56(sp)
80238336: 6121 addi sp,sp,64
80238338: 8082 ret
Thanks!
-- Alex