lkml.org 
[lkml]   [2020]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 26/50] lib/mpi: Fix building for powerpc with clang
    Date
    From: Nathan Chancellor <natechancellor@gmail.com>

    [ Upstream commit 5990cdee689c6885b27c6d969a3d58b09002b0bc ]

    0day reports over and over on an powerpc randconfig with clang:

    lib/mpi/generic_mpih-mul1.c:37:13: error: invalid use of a cast in a
    inline asm context requiring an l-value: remove the cast or build with
    -fheinous-gnu-extensions

    Remove the superfluous casts, which have been done previously for x86
    and arm32 in commit dea632cadd12 ("lib/mpi: fix build with clang") and
    commit 7b7c1df2883d ("lib/mpi/longlong.h: fix building with 32-bit
    x86").

    Reported-by: kbuild test robot <lkp@intel.com>
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://github.com/ClangBuiltLinux/linux/issues/991
    Link: https://lore.kernel.org/r/20200413195041.24064-1-natechancellor@gmail.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    lib/mpi/longlong.h | 34 +++++++++++++++++-----------------
    1 file changed, 17 insertions(+), 17 deletions(-)

    diff --git a/lib/mpi/longlong.h b/lib/mpi/longlong.h
    index 2dceaca27489c..891e1c3549c46 100644
    --- a/lib/mpi/longlong.h
    +++ b/lib/mpi/longlong.h
    @@ -722,22 +722,22 @@ do { \
    do { \
    if (__builtin_constant_p(bh) && (bh) == 0) \
    __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \
    - : "=r" ((USItype)(sh)), \
    - "=&r" ((USItype)(sl)) \
    + : "=r" (sh), \
    + "=&r" (sl) \
    : "%r" ((USItype)(ah)), \
    "%r" ((USItype)(al)), \
    "rI" ((USItype)(bl))); \
    else if (__builtin_constant_p(bh) && (bh) == ~(USItype) 0) \
    __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \
    - : "=r" ((USItype)(sh)), \
    - "=&r" ((USItype)(sl)) \
    + : "=r" (sh), \
    + "=&r" (sl) \
    : "%r" ((USItype)(ah)), \
    "%r" ((USItype)(al)), \
    "rI" ((USItype)(bl))); \
    else \
    __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \
    - : "=r" ((USItype)(sh)), \
    - "=&r" ((USItype)(sl)) \
    + : "=r" (sh), \
    + "=&r" (sl) \
    : "%r" ((USItype)(ah)), \
    "r" ((USItype)(bh)), \
    "%r" ((USItype)(al)), \
    @@ -747,36 +747,36 @@ do { \
    do { \
    if (__builtin_constant_p(ah) && (ah) == 0) \
    __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \
    - : "=r" ((USItype)(sh)), \
    - "=&r" ((USItype)(sl)) \
    + : "=r" (sh), \
    + "=&r" (sl) \
    : "r" ((USItype)(bh)), \
    "rI" ((USItype)(al)), \
    "r" ((USItype)(bl))); \
    else if (__builtin_constant_p(ah) && (ah) == ~(USItype) 0) \
    __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \
    - : "=r" ((USItype)(sh)), \
    - "=&r" ((USItype)(sl)) \
    + : "=r" (sh), \
    + "=&r" (sl) \
    : "r" ((USItype)(bh)), \
    "rI" ((USItype)(al)), \
    "r" ((USItype)(bl))); \
    else if (__builtin_constant_p(bh) && (bh) == 0) \
    __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \
    - : "=r" ((USItype)(sh)), \
    - "=&r" ((USItype)(sl)) \
    + : "=r" (sh), \
    + "=&r" (sl) \
    : "r" ((USItype)(ah)), \
    "rI" ((USItype)(al)), \
    "r" ((USItype)(bl))); \
    else if (__builtin_constant_p(bh) && (bh) == ~(USItype) 0) \
    __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \
    - : "=r" ((USItype)(sh)), \
    - "=&r" ((USItype)(sl)) \
    + : "=r" (sh), \
    + "=&r" (sl) \
    : "r" ((USItype)(ah)), \
    "rI" ((USItype)(al)), \
    "r" ((USItype)(bl))); \
    else \
    __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \
    - : "=r" ((USItype)(sh)), \
    - "=&r" ((USItype)(sl)) \
    + : "=r" (sh), \
    + "=&r" (sl) \
    : "r" ((USItype)(ah)), \
    "r" ((USItype)(bh)), \
    "rI" ((USItype)(al)), \
    @@ -787,7 +787,7 @@ do { \
    do { \
    USItype __m0 = (m0), __m1 = (m1); \
    __asm__ ("mulhwu %0,%1,%2" \
    - : "=r" ((USItype) ph) \
    + : "=r" (ph) \
    : "%r" (__m0), \
    "r" (__m1)); \
    (pl) = __m0 * __m1; \
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-05-08 14:54    [W:3.536 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site