16 Sep
2021
16 Sep
'21
10:17 a.m.
Hi Martin, On 9/15/21 10:27 PM, Martin Storsjo wrote:
ARM can do 64 bit writes with the STRD instruction, but that instruction requires a 32 bit aligned address - while these stores are unaligned.
Two consecutive stores to uint32_t* pointers can also be fused into one single STRD, as a uint32_t* is supposed to be properly aligned - therefore, do these stores as stores to volatile uint32_t* to avoid fusing them. How about letting the compiler know that the pointers are unaligned instead? Is attached patch working for you?
Thanks, Piotr