mldev: fix build for aarch32

Message ID 20230310085711.1366455-1-david.marchand@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series mldev: fix build for aarch32 |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-testing warning apply patch failure

Commit Message

David Marchand March 10, 2023, 8:57 a.m. UTC
  Caught by UNH lab, cross compiling for aarch32:

../lib/mldev/mldev_utils_neon.c: In function
	'__float32_to_int8_neon_s8x8':
../lib/mldev/mldev_utils_neon.c:34:10: error: implicit declaration
	of function 'vcvtaq_s32_f32'; did you mean 'vcvtq_s32_f32'?
	[-Werror=implicit-function-declaration]
   34 |  s32x4 = vcvtaq_s32_f32(f32x4);
      |          ^~~~~~~~~~~~~~
      |          vcvtq_s32_f32
../lib/mldev/mldev_utils_neon.c:34:10: error: nested extern declaration
	of 'vcvtaq_s32_f32' [-Werror=nested-externs]
../lib/mldev/mldev_utils_neon.c:34:10: error: incompatible types when
	assigning to type 'int32x4_t' from type 'int'
../lib/mldev/mldev_utils_neon.c:42:10: error: incompatible types when
	assigning to type 'int32x4_t' from type 'int'
   42 |  s32x4 = vcvtaq_s32_f32(f32x4);
      |          ^~~~~~~~~~~~~~

Only compile NEON optimisation for aarch64.

Fixes: fc54766b1612 ("mldev: add Arm NEON type conversion")

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 lib/mldev/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Thomas Monjalon March 10, 2023, 9:32 a.m. UTC | #1
10/03/2023 09:57, David Marchand:
> Caught by UNH lab, cross compiling for aarch32:
> 
> ../lib/mldev/mldev_utils_neon.c: In function
> 	'__float32_to_int8_neon_s8x8':
> ../lib/mldev/mldev_utils_neon.c:34:10: error: implicit declaration
> 	of function 'vcvtaq_s32_f32'; did you mean 'vcvtq_s32_f32'?
> 	[-Werror=implicit-function-declaration]
>    34 |  s32x4 = vcvtaq_s32_f32(f32x4);
>       |          ^~~~~~~~~~~~~~
>       |          vcvtq_s32_f32
> ../lib/mldev/mldev_utils_neon.c:34:10: error: nested extern declaration
> 	of 'vcvtaq_s32_f32' [-Werror=nested-externs]
> ../lib/mldev/mldev_utils_neon.c:34:10: error: incompatible types when
> 	assigning to type 'int32x4_t' from type 'int'
> ../lib/mldev/mldev_utils_neon.c:42:10: error: incompatible types when
> 	assigning to type 'int32x4_t' from type 'int'
>    42 |  s32x4 = vcvtaq_s32_f32(f32x4);
>       |          ^~~~~~~~~~~~~~
> 
> Only compile NEON optimisation for aarch64.
> 
> Fixes: fc54766b1612 ("mldev: add Arm NEON type conversion")
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>

Applied, thanks.
  

Patch

diff --git a/lib/mldev/meson.build b/lib/mldev/meson.build
index 05694b0839..23d108617d 100644
--- a/lib/mldev/meson.build
+++ b/lib/mldev/meson.build
@@ -8,7 +8,7 @@  sources = files(
         'mldev_utils_scalar.c',
 )
 
-if arch_subdir == 'arm'
+if dpdk_conf.has('RTE_ARCH_ARM64')
     sources += files('mldev_utils_neon.c')
 endif