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

Jeff Hammond jhammond at alcf.anl.gov
Wed Apr 17 12:27:52 CDT 2013


Is the inlining problem related to
http://clang.llvm.org/compatibility.html#inline?

Jeff

On Wed, Apr 17, 2013 at 12:22 PM, Michael Kruse
<llvm-bgq-discuss at meinersbur.de> wrote:
> 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.
>
>
>
> 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)
>
>
> 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?
>
>
> 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
>>
>
> _______________________________________________
> llvm-bgq-discuss mailing list
> llvm-bgq-discuss at lists.alcf.anl.gov
> https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss
>



-- 
Jeff Hammond
Argonne Leadership Computing Facility
University of Chicago Computation Institute
jhammond at alcf.anl.gov / (630) 252-5381
http://www.linkedin.com/in/jeffhammond
https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond
ALCF docs: http://www.alcf.anl.gov/user-guides


More information about the llvm-bgq-discuss mailing list