Re: [PATCH v2] m68k: use kernel's generic muldi3 libgcc function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Geert,

On 5/11/24 21:46, Geert Uytterhoeven wrote:
Hi Greg, Arnd,

On Mon, Nov 13, 2023 at 2:32 PM Greg Ungerer <gerg@xxxxxxxxxxxxxx> wrote:
Use the kernels own generic lib/muldi3.c implementation of muldi3 for
68K machines. Some 68K CPUs support 64bit multiplies so move the arch
specific umul_ppmm() macro into a header file that is included by
lib/muldi3.c. That way it can take advantage of the single instruction
when available.

There does not appear to be any existing mechanism for the generic
lib/muldi3.c code to pick up an external arch definition of umul_ppmm().
Create an arch specific libgcc.h that can optionally be included by
the system include/linux/libgcc.h to allow for this.

Somewhat oddly there is also a similar definition of umul_ppmm() in
the non-architecture code in lib/crypto/mpi/longlong.h for a wide range
or machines. Its presence ends up complicating the include setup and
means not being able to use something like compiler.h instead. Actually
there is a few other defines of umul_ppmm() macros spread around in
various architectures, but not directly usable for the m68k case.

Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxxxxx>

Reviewed-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

  arch/Kconfig                   |  8 +++
  arch/m68k/Kconfig              |  2 +
  arch/m68k/include/asm/libgcc.h | 20 +++++++
  arch/m68k/lib/Makefile         |  2 +-
  arch/m68k/lib/muldi3.c         | 97 ----------------------------------
  include/linux/libgcc.h         |  4 ++
  6 files changed, 35 insertions(+), 98 deletions(-)
  create mode 100644 arch/m68k/include/asm/libgcc.h
  delete mode 100644 arch/m68k/lib/muldi3.c

I had this in my local tree for about a year.
Is it fine to queue this in the m68k tree, or does this need a broader
coverage?

I am still in favor of it :-)
Would be good to get some feedback on the common code changes, like the change
to libgcc.h.

Regards
Greg





[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux