On Tue, Jul 30, 2024 at 03:00:49PM +0200, Richard Biener wrote:
> > What mangling fld performs depends on the contents of the FP control > > word which is awkward. For float/double loads (FLDS and FLDL) we know format conversion changes SNaNs to QNaNs, but it's a widening conversion, so e.g. rounding mode bits have no effect (and precision control doesn't affect loads). For FLDT there should be no mangling as far as I can tell. On Tue, 30 Jul 2024, Jakub Jelinek wrote: > > As Jakub said the padding is already dealt with in the caller > > though I only added that there for convenience since padding is > > problematic in general. > > > > If you think XFmode is safe to transfer 10 bytes we could enable it, > > I guess I'll amend the docs to be clear: (I'm not proposing that, I think it's fine that the caller rejects that) > > "Define this to return false if the mode @var{mode} cannot be used > > for memory copying. The default is to assume modes with the same > > precision as size are fine to be used." > > > > this might suggest transfering GET_MODE_PRECISION bits is intended > > but it might want to say GET_MODE_SIZE units explicitly so the > > default makes sense. > > You could just gcc_unreachable (); for XFmode in the link with a short > comment that the mode has padding. I think this would be the right solution. Alexander