On 12/08/2021 16.47, Stefan Roese wrote:
> This patch enables the use of the optimized memset(), memmove() &
> memcpy() versions recently added on ARM64.
> 
> Signed-off-by: Stefan Roese <s...@denx.de>
> 
>  
> +config USE_ARCH_MEMMOVE
> +     bool "Use an assembly optimized implementation of memmove"
> +     default y
> +     depends on ARM64
> +     help
> +       Enable the generation of an optimized version of memmove.
> +       Such an implementation may be faster under some conditions
> +       but may increase the binary size.

Hm. I don't think you can allow making this separately (de)selectable,
since if the optimized memcpy is selected, the memmove comes
unconditionally for free [and it would be a bit silly to guard the
ENTRY_ALIAS() by a CONFIG check IMO]. So with USE_ARCH_MEMCPY=y,
USE_ARCH_MEMMOVE=n, I think you'd get a "multiple definitions of
memmove" error. So on arm64, I think USE_ARCH_MEMMOVE should simply be
an unchangeable alias for USE_ARCH_MEMCPY (and similarly for the SPL/TPL
variants).

In Kconfig, I think one could spell this

  bool "Use an ..." if !ARM64
  default USE_ARCH_MEMCPY if ARM64
  depends on ARM64

where the last line can be removed if an when there's a separate memmove
for arm32 that one should be allowed to select.

Rasmus

Reply via email to