Committed to master here:

https://github.com/open-mpi/ompi/commit/788cf1a9feeeac5a535328e93a8d0e44df7b44e8

PR filed for v2.x here: (Marked Nathan to review)
  https://github.com/open-mpi/ompi-release/pull/1140

I don't think v1.10 needs it.

Thanks!




On Wed, May 4, 2016 at 2:07 PM, Paul Hargrove <phhargr...@lbl.gov> wrote:

> Nathan,
>
> The gcc syntax definitely makes everything but the first string in the asm
> optional.
> For instance
>    asm("nop")
> Rather than
>   asm("nop" :::)
>
> However xlc appears to be a little bit more restricted by not accepting a
> subset of the grammar.
>
> -Paul [Sent from my phone]
>
> On Wednesday, May 4, 2016, Nathan Hjelm <hje...@lanl.gov> wrote:
>
>>
>> Go ahead, I don't have access to xlc so I couldn't verify myself. I
>> don't fully understand why the last : can be omitted when there are no
>> clobbers.
>>
>> -Nathan
>>
>> On Wed, May 04, 2016 at 01:34:48PM -0500, Josh Hursey wrote:
>> >    Did someone pick this up to merge into master & v2.x?
>> >    I can confirm that Paul's patch fixes the issue for XL compilers. I
>> didn't
>> >    see a PR for it, but can file one if no one has yet.
>> >    On Mon, May 2, 2016 at 6:55 PM, Paul Hargrove <phhargr...@lbl.gov>
>> wrote:
>> >
>> >      It appears that xlc's support for gcc-style inline asm does not
>> allow an
>> >      empty clobbers list.
>> >      The failure I see is
>> >      libtool: compile:  xlc -DHAVE_CONFIG_H -I.
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/asm
>> >      -I../../opal/include -I../../ompi/include -I../../oshmem/include
>> >      -I../../opal/mca/hwloc/hwloc1112/hwloc/include/private/autogen
>> >      -I../../opal/mca/hwloc/hwloc1112/hwloc/include/hwloc/autogen
>> >      -I../../ompi/mpiext/cuda/c
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2
>> >      -I../..
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/include
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/orte/include
>> >      -I../../orte/include
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/ompi/include
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/oshmem/include
>> >      -D_REENTRANT
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/hwloc/hwloc1112/hwloc/include
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/BLD/opal/mca/hwloc/hwloc1112/hwloc/include
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/event/libevent2022/libevent
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/mca/event/libevent2022/libevent/include
>> >
>> -I/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/BLD/opal/mca/event/libevent2022/libevent/include
>> >      -q64 -g -c
>> >
>> /home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/asm/asm.c
>> >      -Wp,-qmakedep=gcc,-MF.deps/asm.TPlo  -qpic -DPIC -o .libs/asm.o
>> >
>> "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/include/opal/sys/powerpc/atomic.h",
>> >      line 150.27: 1506-276 (S) Syntax error: possible missing string
>> literal?
>> >
>> "/home/hargrove/SCRATCH/OMPI/openmpi-2.0.0rc2-linux-ppc64-xlc-12.1/openmpi-2.0.0rc2/opal/include/opal/sys/powerpc/atomic.h",
>> >      line 239.27: 1506-276 (S) Syntax error: possible missing string
>> literal?
>> >      make[2]: *** [asm.lo] Error 1
>> >      The code corresponding to the first error message is
>> >
>> >           143  static inline int32_t opal_atomic_ll_32 (volatile int32_t
>> >        *addr)
>> >           144  {
>> >           145     int32_t ret;
>> >           146
>> >           147     __asm__ __volatile__ ("lwarx   %0, 0, %1  \n\t"
>> >           148                           : "=&r" (ret)
>> >           149                           : "r" (addr)
>> >           150                           :);
>> >           151     return ret;
>> >           152  }
>> >
>> >      And the second error is the identical line as it appears in
>> >      opal_atomic_ll_64().
>> >      The following patch to remove the "trailing" colons was sufficient
>> to
>> >      fix this problem.
>> >      --- openmpi-2.0.0rc2/opal/include/opal/sys/powerpc/atomic.h~
>> >       2016-05-02 23:37:13.597782000 +0000
>> >      +++ openmpi-2.0.0rc2/opal/include/opal/sys/powerpc/atomic.h
>> >      2016-05-02 23:36:11.615404378 +0000
>> >      @@ -147,7 +147,7 @@
>> >          __asm__ __volatile__ ("lwarx   %0, 0, %1  \n\t"
>> >                                : "=&r" (ret)
>> >                                : "r" (addr)
>> >      -                         :);
>> >      +                          );
>> >          return ret;
>> >       }
>> >      @@ -236,7 +236,7 @@
>> >          __asm__ __volatile__ ("ldarx   %0, 0, %1  \n\t"
>> >                                : "=&r" (ret)
>> >                                : "r" (addr)
>> >      -                         :);
>> >      +                          );
>> >          return ret;
>> >       }
>> >      -Paul
>> >      --
>> >      Paul H. Hargrove                          phhargr...@lbl.gov
>> >      Computer Languages & Systems Software (CLaSS) Group
>> >      Computer Science Department               Tel: +1-510-495-2352
>> >      Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
>> >      _______________________________________________
>> >      devel mailing list
>> >      de...@open-mpi.org
>> >      Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel
>> >      Link to this post:
>> >      http://www.open-mpi.org/community/lists/devel/2016/05/18886.php
>>
>> > _______________________________________________
>> > devel mailing list
>> > de...@open-mpi.org
>> > Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel
>> > Link to this post:
>> http://www.open-mpi.org/community/lists/devel/2016/05/18906.php
>>
>>
>
> --
> Paul H. Hargrove                          phhargr...@lbl.gov
> Computer Languages & Systems Software (CLaSS) Group
> Computer Science Department               Tel: +1-510-495-2352
> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
>
>
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post:
> http://www.open-mpi.org/community/lists/devel/2016/05/18908.php
>

Reply via email to