This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][ARM] Fix low reg issue in Thumb-2 movsi patterns

Hi Richard,
> I think this should be "lk*r", not "l*rk".  SP is only going to crop up 
> in rare circumstances, but we are always going to need this pattern if 
> it does and hiding this from register preferencing is pointless.  It's 
> not like the compiler is going to start allocating SP in the more 
> general case.
'*' only applies to the next constraint, so these are equivalent. I've committed
it with them swapped around, however using 'k' at all here seems redundant
anyway given GCC no longer uses physical registers in most instructions.

> I'd also like to see all these movsi matching patterns merged into a 
> single pattern that just enables the appropriate variants.  Having 
> separate implementations for Arm, thumb2, vfp, iwmmx is just making 
> maintenance of this stuff a nightmare.

Yes if we're sure one is a strict superset of the other, we could just merge
them and disable VFP specific variants. However the patterns are quite
complex so it's hard to be 100% sure. Also I think there should be no need
at all for such huge patterns given a load or immediate can never become a
register move and visa versa. So it should be feasible to split into register
moves, loads, stores and immediates.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]