[llvm-commits] [RFC/PATCH] PPCDoubleDouble compile-time arithmetic

Hal Finkel hfinkel at anl.gov
Mon Oct 29 10:43:57 PDT 2012


----- Original Message -----
> From: "Duncan Sands" <baldrick at free.fr>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: llvm-commits at cs.uiuc.edu
> Sent: Monday, October 29, 2012 12:33:11 PM
> Subject: Re: [llvm-commits] [RFC/PATCH] PPCDoubleDouble compile-time arithmetic
> 
> Hi Hal,
> 
> On 29/10/12 18:26, Hal Finkel wrote:
> > ----- Original Message -----
> >> From: "Duncan Sands" <baldrick at free.fr>
> >> To: llvm-commits at cs.uiuc.edu
> >> Sent: Monday, October 29, 2012 12:04:33 PM
> >> Subject: Re: [llvm-commits] [RFC/PATCH] PPCDoubleDouble
> >> compile-time	arithmetic
> >>
> >> Hi Ulrich,
> >>
> >> On 29/10/12 17:11, Ulrich Weigand wrote:
> >>> Chris Lattner <clattner at apple.com> wrote on 28.10.2012 05:03:31:
> >>>
> >>>> Given that the PowerPC format expands out into operations on two
> >>>> doubles, how reasonable would it be for clang to generate pre-
> >>>> expanded IR that exposed this lowering to the optimizers?
> >>>>
> >>>> This wouldn't help you with constant parsing, but would simplify
> >>>> the
> >>>> IR and optimizer and almost certainly give you better code
> >>>> quality
> >>>> for this type.
> >>>
> >>> First of all, I'd tend to agree with Hal and Bill that expanding
> >>> PowerPC double-double in the front end might be an interesting
> >>> optimization for the longer term, but this is really an
> >>> independent
> >>> issue of what I'm addressing with the current patch set.  As you
> >>> note as well, we'd still need APFloat support for things like
> >>> constant parsing ...
> >>
> >> it could be build on top of APFloat instead of being part of
> >> APFloat.
> >>
> >>> So I'd certainly propose we should commit something along the
> >>> lines
> >>> of my patch soon, since without this long double is pretty much
> >>> unusable.  Anything further can then still be done later on.  Do
> >>> you agree, or would you object to the patch at this stage?
> >>>
> >>>
> >>> Now, thinking further about what we could do in the future: it
> >>> seems to me that to really "simplify the IR" would mean to
> >>> completely remove "ppc_fp128" as a primitive type on the IR
> >>> level.
> >>
> >> I'm pretty sure this is what Chris has in mind (based on previous
> >> discussions).
> >
> > Yes, this is also my understanding.
> >
> > Nevertheless, I think that, regardless of the later direction, this
> > is the correct incremental step. It does, after all, make APFloat
> > cleaner, removing a bunch of non-working code and replacing it
> > with (simpler) working code. Unless someone has a specific
> > objection, let's commit this.
> 
> I don't have any objection to it as an incremental step.

Okay, thanks! Given that Chris also did not object to this as an incremental step, Ulrich, please commit.

 -Hal

> 
> Ciao, Duncan.
> 
> 

-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-commits mailing list