This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: TImode support for x86_64
> On Thu, Oct 04, 2001 at 04:11:39PM +0200, Jan Hubicka wrote:
> > - parts[0] = immed_double_const (l[0], l[1], DImode);
> > + parts[0] = immed_double_const (l[1], l[0], DImode);
>
> Err, is this really right? I thought that long was supposed
> to come out in target word endian order...
Good question. I've tested only the first half of change:
! parts[0] = GEN_INT (l[1] + (((HOST_WIDE_INT)l[0] << 31) << 1));
That suggests that l[1] is low part, and l[0] is high part. The comment
in immed_double_const claims that I0 is low-order and I1 is high-order, so the
new order appears to be correct.
On the other hand, I've had the code checked, before it came to mainline,
but in meantime we've switched to "long long" HOST_WIDE_INT, so probably
the original is correct. WHat is wrong with my interpretation of the
comment?
Honza