https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70128
--- Comment #4 from Jeffrey A. Law <law at redhat dot com> --- Shouldn't the call to v7_coherent_kern_range prevent DSE from removing the store to fn_addr[0] and fn_addr[1]? It feels like the undefined nature of this code is leading to a lack of proper dataflow for the virtual operands. I haven't thrown it under a debugger, but that's how it seems as first glance to me.