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: GCC 4.3.4 is casting my QImode vars to SImode for libcall

On Tue, Jun 15, 2010 at 9:17 AM, Paulo J. Matos <> wrote:
> On Mon, Jun 14, 2010 at 8:56 PM, Joseph S. Myers
> <> wrote:
>> Every hardcoded reference to a mode other than QImode in the
>> target-independent compiler is suspicious and needs investigating if you
>> are doing such a port. ÂIn this case, the SImode references in
>> expand_float are likely the problem.
> Thanks for the tip Joseph, I will look into it.

The code in expand_float like you said seems to be the one causing the problem.

        from = convert_to_mode (SImode, from, unsignedp);

I can't really see a reason why if the from mode has smaller size than
SImode than it has to be converted. Simply removing these lines
actually works.
However I can imagine that there _might_ be archs where the
non-integer modes are smaller than QImode and then there would be a
problem so the correct solution would be to change it to:

        from = convert_to_mode (QImode, from, unsignedp);


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