[Llvm-bgq-discuss] Patches for r176829-20130309 (the current vesta version)

Hal Finkel hfinkel at anl.gov
Wed Apr 17 13:01:42 CDT 2013


----- Original Message -----
> From: "Michael Kruse" <llvm-bgq-discuss at meinersbur.de>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: llvm-bgq-discuss at lists.alcf.anl.gov
> Sent: Wednesday, April 17, 2013 12:22:47 PM
> Subject: Re: [Llvm-bgq-discuss] Patches for r176829-20130309 (the current vesta version)
> 
> Hi,
> 
> originally I intended to send the following as part of a collection
> with more problems I found and you might be interested in. But
> because
> I do not have time at the moment for closer investigation, I just
> send
> it now and will send the other problems sometime later. Please excuse
> the premature style.

Not a problem; I'd rather get reports early and often.

> 
> 
> 
> 1. I found two cases where bgclang segfaults on code that works fine
> with xlc (see added files).
> The first is some inline asm, but I don't know whether inline asm is
> supposed to work in clang.
> The second uses IBM-style builtins.
> 
> 
> 2. bgclang is quite unreliable on inline assemble. With this:
> asm (
>             "dcbt       0,%[ptr]  \n"
>             "dcbt  %[c64],%[ptr]  \n"
>             "dcbt %[c128],%[ptr]  \n"
>             "dcbt %[c192],%[ptr]  \n"
>             "dcbt %[c256],%[ptr]  \n"
>             "dcbt %[c320],%[ptr]  \n"
>             : :
>                 [ptr] "+r" (ptr),
>               [c64]  "b" (64),
>               [c128] "b" (128),
>               [c192] "b" (192),
>               [c256] "b" (256),
>               [c320] "b" (320)
>         );
> 
> I sometimes get
> error: invalid input constraint '+r' in asm
> other times
> fatal error: error in backend: Do not know how to split the result of
> this operator!
> (though I am not sure it's this piece of code, clang doesn't give me
> a location)

I'm not sure; but if this is still a problem upstream, I'll get it fixed.

> 
> 
> 3. There is some issue with the inline functions. The IBM header
> files
> seem to assume -fgnu89-inline (with -std=c99), otherwise I get
> multiple definitions errors from the linker. I don't really
> understand, because the IBM-supported gcc compiler shouldn't have
> this
> problem either.
> 
> 
> 4. The unimplemented-errors using _Complex data type and compound
> expressions ("+=") are inherited from clang?

I think this has just-recently been improved upstream. I should be rebasing soon, so I'll let you know.

Thanks again,
Hal

> 
> 
> Michael
> 
> 2013/3/30 Hal Finkel <hfinkel at anl.gov>:
> > Hello everyone,
> >
> > I've attached the patches for the currently-installed version on
> > vesta (r176829-20130309). These apply to upstream revision
> > r176829. This is the first released version to contain QPX
> > autovectorization for single-precision values (in addition to many
> > other improvements). I've also included the bgclang wrapper script
> > and the libc++ build script (and the llvm build script and the
> > exception_ptr.h wrapper header).
> >
> > Another user-visible change to mention: You no longer need to
> > explicitly include the qpxintrin.h header to use the IBM-style QPX
> > intrinsics. This header is now automatically included for you.
> >
> > For any of you doing first-time on-your-own installs (or anyone
> > else), please feel free to ask questions about how all of this
> > needs to be setup in practice.
> >
> > Sincerely,
> > Hal
> >
> > --
> > Hal Finkel
> > Postdoctoral Appointee
> > Leadership Computing Facility
> > Argonne National Laboratory
> >
> > _______________________________________________
> > llvm-bgq-discuss mailing list
> > llvm-bgq-discuss at lists.alcf.anl.gov
> > https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss
> >
> 


More information about the llvm-bgq-discuss mailing list