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]
Other format: [Raw text]

Re: ia64 XFmode patch rides again (need ia64-linux testing)


> Jan Hubicka <hubicka@ucw.cz> writes:
> 
> >> > I played around a bit and in general it appears to work.
> >> > (at the moment double test attribute ((mode (TF))) is refused, but I am
> >> > interested in getting XFmode long double compatible with old TFmode
> >> > first)
> >> 
> >> A mechanism for handling attribute ((mode (foo))) where foo is not a
> >> known machine mode would also be useful in the context of vectors.  We
> >> ought to be able to list in the modes.def only those vectors supported
> >> directly by hardware.
> >
> > Yes, however TFmode should be __float128 or not?
> 
> I am confused.  I thought __float128 and "long double" were both going
> to be 80-bit IEEE extended in an 128-bit field on x86-64.  What you
> are saying now makes it sound like __float128 is a different type
> altogether (IEEE quad?).  If this is so, you'll need to mention TFmode

__float128 is supposed to be IEEE quad.  long double is supposed to be
80-bit IEEE in 128-bit.
> in your modes.def, but that should be enough.
> 
> >> Um? An ADJUST_BYTESIZE for XFmode should automatically update XCmode
> >> to match.  This works just fine on Itanium.
> >
> > Looks like I've missed something obvious.  This does not appear to be
> > happening for me.  insn-machmodes.c generated overwrite only
> > size/alignment of XFmode depending on runtime setting...
> > Can you point for code in genmodes.c responsible for this?
> 
> emit_mode_adjustments():
> 
>   /* Size adjustments must be propagated to all containing modes.
>      A size adjustment forces us to recalculate the alignment too.  */
> 
> Do you have the most recent version of genmodes.c?

So the sollution really is easy :)  I didn't updated since yesterday.

> Right.  This is why I needed forwarding stubs.
> 

So the right sollution would be to provide both *xf *tf with the same
semnatics + TFmode libcalls under new names...

> > Worse yet if we manage TFmode to be 128bit float, one code will
> > produce floatditf for DImode to TFmode conversion, while other for
> > DImode to 128bit XFmode.
> 
> You'll have to rename all the TFmode libcalls to some other
> convention.  For IA64, it seems sensible to make the HP-UX 
> convention be used everywhere.  Does AMD maybe have a document
> defining software float library routines?
No, but we can write one.
Any particular prefferences in convention?  Or taking the HP-UX names
you do use would be OK?

Thanks,  I will try with updated tree tomorrow :)

Honza
> 
> zw


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