DJ Delorie <d...@redhat.com> writes: >> It looks like the patch also treats PSImode->SImode as a truncation though. > > I'd have to check specifically for partial_int_mode, since there's > nothing in PARTIAL_INT_MODE() to set the precision, unless there's > some other way to set PSImode's bits *and* reliably use that info.
Right. At some point we're going to have to bite the bullet and model partial modes properly :-) Sounds like Mike might have some patches for that. >> BTW, if SImode->PSImode is so expensive, MODES_TIEABLE_P should probably >> return false for that pair of modes. That'll discourage -- but not prevent >> -- >> the rtl optimisers from replacing (reg:PSI ...) operands with >> (subreg:PSI (reg:SI ...)) ones. > > I'll try that. Thanks! > > Hmmm... psi/si in memory are tieable, psi/si in registers > aren't... what's the right thing to do here? I think we assume everything is tieable in memory. MODES_TIEABLE_P says whether we should assume that a pseudo register in one mode can be accessed in another mode without triggering some kind of copy operation. Thanks, Richard