On Tue, Sep 22, 2026 at 2:12 AM Matt Turner <[email protected]> wrote:
>
> GCC has never had a Z8000 port, so nothing can build or test the
> __z8000__ block in longlong.h. Remove it.

OK I'd say.  You might want to do a PR to do the same on the gmp side.

Richard.

> include/ChangeLog:
>
>         * longlong.h [__z8000__]: Remove.
> ---
>  include/longlong.h | 34 ----------------------------------
>  1 file changed, 34 deletions(-)
>
> diff --git a/include/longlong.h b/include/longlong.h
> index 5f44c1c6a01..d89b2f4e999 100644
> --- a/include/longlong.h
> +++ b/include/longlong.h
> @@ -1595,40 +1595,6 @@ extern UHItype __stormy16_count_leading_zeros 
> (UHItype);
>  #define COUNT_LEADING_ZEROS_0 W_TYPE_SIZE
>  #endif
>
> -#if defined (__z8000__) && W_TYPE_SIZE == 16
> -#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
> -  __asm__ ("add        %H1,%H5\n\tadc  %H0,%H3"                              
>   \
> -          : "=r" ((unsigned int)(sh)),                                 \
> -            "=&r" ((unsigned int)(sl))                                 \
> -          : "%0" ((unsigned int)(ah)),                                 \
> -            "r" ((unsigned int)(bh)),                                  \
> -            "%1" ((unsigned int)(al)),                                 \
> -            "rQR" ((unsigned int)(bl)))
> -#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
> -  __asm__ ("sub        %H1,%H5\n\tsbc  %H0,%H3"                              
>   \
> -          : "=r" ((unsigned int)(sh)),                                 \
> -            "=&r" ((unsigned int)(sl))                                 \
> -          : "0" ((unsigned int)(ah)),                                  \
> -            "r" ((unsigned int)(bh)),                                  \
> -            "1" ((unsigned int)(al)),                                  \
> -            "rQR" ((unsigned int)(bl)))
> -#define umul_ppmm(xh, xl, m0, m1) \
> -  do {                                                                 \
> -    union {long int __ll;                                              \
> -          struct {unsigned int __h, __l;} __i;                         \
> -         } __xx;                                                       \
> -    unsigned int __m0 = (m0), __m1 = (m1);                             \
> -    __asm__ ("mult     %S0,%H3"                                        \
> -            : "=r" (__xx.__i.__h),                                     \
> -              "=r" (__xx.__i.__l)                                      \
> -            : "%1" (__m0),                                             \
> -              "rQR" (__m1));                                           \
> -    (xh) = __xx.__i.__h; (xl) = __xx.__i.__l;                          \
> -    (xh) += ((((signed int) __m0 >> 15) & __m1)                              
>   \
> -            + (((signed int) __m1 >> 15) & __m0));                     \
> -  } while (0)
> -#endif /* __z8000__ */
> -
>  #endif /* __GNUC__ */
>
>  /* If this machine has no inline assembler, use C macros.  */
>
> --
> 2.54.0
>

Reply via email to