https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81803

mpf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #42075|0                           |1
        is obsolete|                            |

--- Comment #14 from mpf at gcc dot gnu.org ---
Created attachment 42498
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42498&action=edit
Updated fix

I'm really sorry for my lack of work on this. Too much going on in day to day
work for quite a while now.

(In reply to Eric Botcazou from comment #13)
> > I can't say that I am 100% convinced yet with my thinking here but I've
> > attached an updated version of the original patch with some changes:
> > 
> > * Incorporated Eric's feedback on the original patch to check
> > GET_MODE_PRECISION instead of GET_MODE_SIZE for comparing whether a mode is
> > strictly narrower
> > * Limited the test to word sized inner modes or smaller
> > * Limited the test to OP_OUT or OP_INOUT as I can't see any reason why it
> > would matter if we do a narrower input reload
> 
> I'm not convinced for the 3rd restriction though, as push_reload treats the
> IN and OUT cases exactly the same wrt WORD_REGISTER_OPERATIONS.

I don't think the restriction is required for functional correctness but I
thought we may as well take advantage of a narrower load in the OP_IN case if
we could get away with it.

The patch has a serious bug that I started testing but failed to report here.
The bracketing was wrong by one level, an updated version is attached.

Reply via email to