On 06/15/2010 11:02 AM, Paulo J. Matos wrote:
Just noticed the following also in optabs.c:/* We can't do it with an insn, so use a library call. But first ensure that the mode of TO is at least as wide as SImode, since those are the only library calls we know about. */ if (GET_MODE_SIZE (GET_MODE (to))< GET_MODE_SIZE (SImode)) { target = gen_reg_rtx (SImode); expand_fix (target, from, unsignedp); } This comment provides some insight on to why gcc keeps converting to SImode.
I think the comment dates back to before the introduction of conversion optabs.
Maybe the right thing to compare with is the size of an int in bytes? Paolo
