> Taylor <[email protected]> wrote: > > > Matheus Tavares Bernardino <[email protected]> wrote: > > > > diff --git a/target/hexagon/macros.h b/target/hexagon/macros.h index > > 5451b061ee..efb8013912 100644 > > --- a/target/hexagon/macros.h > > +++ b/target/hexagon/macros.h > > + > > +#define MEM_LOADn(SIZE, VA) ({ \ > > + check_noshuf(env, pkt_has_store_s1, slot, VA, SIZE); \ > > + cpu_ldub_data_ra(env, VA, GETPC()); \ > > +}) > > Note that check_noshuf calls HELPER(probe_noshuf_load) and > HELPER(commit_store). Both of those call GETPC() from within. So, you'll > need to pull the contents into separate functions that take ra as an > argument.
Ah, good point. It was my understanding that, in case of a memory exception in one of those nested helper calls, the GETPC() we would want to use for unwinding was the one from the most recent helper. I'm still trying to wrap my head around these concepts, though, so I might have misunderstood it. Is this not the case? > Does this pass the test suite? You are only using the SIZE parameter in > check_noshuf, but cpu_ldub_data_ra only reads a single byte. My oversight, this has to be fixed, thanks.
