https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64703
--- Comment #6 from Alan Modra <amodra at gmail dot com> --- Re comment #2, yes I agree that conversion between void* or pointer to object and pointer to function is not strictly allowed. Fixing that by way of a union was one of the first things I tried, before looking at dumps and finding that tree dse was where we lost the opd stores. And yes, the testcase can be compiled on x86_64 where (unsurprisingly) the stores are seen as dead too.