This is the mail archive of the gcc-patches@gcc.gnu.org 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]

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


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