On Wed, 21 Aug 2019 at 00:54, Richard Henderson <richard.hender...@linaro.org> wrote: > However, while working on this patch set, I noticed that we have a lot of > unnecessary overlap between A- and M- profile in the TBFLAGs. Thus point 4 > above and the completely separate rebuild_hflags_m32(). > > If we rearrange things like the appended, then we recover 4 bits.
You can't make the THUMB bit A-profile only: we need it in M-profile too, so we can correctly generate code that takes the InvalidState exception for attempts to execute with the Thumb bit not set. If you want to make VFPEN be A-profile only you need to do something so we don't look at it for M-profile: currently we set it always-1 for M-profile so we don't trip the code that causes us to take an exception if it's 0. Otherwise seems reasonable. My overall question is: how bad is it if we just start using bits in the cs_base word? If we try to get too tricky with using the same bits for different purposes it opens the door for accidentally writing code where we use a bit that isn't actually set correctly for all the situations where we're using it. thanks -- PMM