• Nathan Chancellor's avatar
    lib/mpi: Eliminate unused umul_ppmm definitions for MIPS · b0c091ae
    Nathan Chancellor authored
    Clang errors out when building this macro:
    
    lib/mpi/generic_mpih-mul1.c:37:24: error: invalid use of a cast in a
    inline asm context requiring an l-value: remove the cast or build with
    -fheinous-gnu-extensions
                    umul_ppmm(prod_high, prod_low, s1_ptr[j], s2_limb);
                    ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    lib/mpi/longlong.h:652:20: note: expanded from macro 'umul_ppmm'
            : "=l" ((USItype)(w0)), \
                    ~~~~~~~~~~^~~
    lib/mpi/generic_mpih-mul1.c:37:3: error: invalid output constraint '=h'
    in asm
                    umul_ppmm(prod_high, prod_low, s1_ptr[j], s2_limb);
                    ^
    lib/mpi/longlong.h:653:7: note: expanded from macro 'umul_ppmm'
                 "=h" ((USItype)(w1)) \
                 ^
    2 errors generated.
    
    The C version that is used for GCC 4.4 and up works well with clang;
    however, it is not currently being used because Clang masks itself
    as GCC 4.2.1 for compatibility reasons. As Nick point...
    b0c091ae
longlong.h 39 KB