NEON error when crosscompiling aarch64

Pavel Hofman pavel.hofman at ivitera.com
Sat Apr 16 01:32:02 PDT 2022


Dne 12. 04. 22 v 21:06 Pavel Hofman napsal(a):
> Hi,
> 
> I have been cross-compiling previous aarch64 kernels for RPi on Ubuntu 
> 20.04 amd64 without any problem. Probably after some upgrade 
> (unfortunately I do not know which), when compiling 5.17 with RPi HW 
> patches (cloned from 
> https://github.com/raspberrypi/linux/tree/rpi-5.17.y, but the same for 
> 5.18 RC1) I get the following errors:
> 
> In file included from lib/raid6/neon1.c:27:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s16’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24180:10: 
> error: incompatible types when returning type ‘int’ but ‘uint8x8_t’ was 
> expected
> 24180 |   return __builtin_aarch64_sqmovunv8hi_us (__a);
>        |          ^
> In file included from lib/raid6/neon2.c:27:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s16’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24187:10: 
> error: incompatible types when returning type ‘int’ but ‘uint16x4_t’ was 
> expected
> 24187 |   return __builtin_aarch64_sqmovunv4si_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24180:10: 
> error: incompatible types when returning type ‘int’ but ‘uint8x8_t’ was 
> expected
> 24180 |   return __builtin_aarch64_sqmovunv8hi_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24187:10: 
> error: incompatible types when returning type ‘int’ but ‘uint16x4_t’ was 
> expected
> 24187 |   return __builtin_aarch64_sqmovunv4si_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24194:10: 
> error: incompatible types when returning type ‘int’ but ‘uint32x2_t’ was 
> expected
> 24194 |   return __builtin_aarch64_sqmovunv2di_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24194:10: 
> error: incompatible types when returning type ‘int’ but ‘uint32x2_t’ was 
> expected
> 24194 |   return __builtin_aarch64_sqmovunv2di_us (__a);
>        |          ^
> In file included from lib/raid6/neon4.c:27:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s16’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24180:10: 
> error: incompatible types when returning type ‘int’ but ‘uint8x8_t’ was 
> expected
> 24180 |   return __builtin_aarch64_sqmovunv8hi_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24187:10: 
> error: incompatible types when returning type ‘int’ but ‘uint16x4_t’ was 
> expected
> 24187 |   return __builtin_aarch64_sqmovunv4si_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24194:10: 
> error: incompatible types when returning type ‘int’ but ‘uint32x2_t’ was 
> expected
> 24194 |   return __builtin_aarch64_sqmovunv2di_us (__a);
>        |          ^
> In file included from lib/raid6/neon8.c:27:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s16’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24180:10: 
> error: incompatible types when returning type ‘int’ but ‘uint8x8_t’ was 
> expected
> 24180 |   return __builtin_aarch64_sqmovunv8hi_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24187:10: 
> error: incompatible types when returning type ‘int’ but ‘uint16x4_t’ was 
> expected
> 24187 |   return __builtin_aarch64_sqmovunv4si_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24194:10: 
> error: incompatible types when returning type ‘int’ but ‘uint32x2_t’ was 
> expected
> 24194 |   return __builtin_aarch64_sqmovunv2di_us (__a);
>        |          ^
> In file included from lib/raid6/neon1.c:27:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32z_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34693:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34693 |   return __builtin_aarch64_frint32zv2sf (__a);
>        |          ^
> In file included from lib/raid6/neon2.c:27:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32z_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34693:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34693 |   return __builtin_aarch64_frint32zv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32zq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34700:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34700 |   return __builtin_aarch64_frint32zv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32zq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34700:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34700 |   return __builtin_aarch64_frint32zv4sf (__a);
>        |          ^
>    CC [M]  lib/raid6/recov_neon_inner.o
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32zq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34715:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34715 |   return __builtin_aarch64_frint32zv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32x_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34722:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34722 |   return __builtin_aarch64_frint32xv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32zq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34715:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34715 |   return __builtin_aarch64_frint32zv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32xq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34729:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34729 |   return __builtin_aarch64_frint32xv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32x_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34722:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34722 |   return __builtin_aarch64_frint32xv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32xq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34729:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34729 |   return __builtin_aarch64_frint32xv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32xq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34743:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34743 |   return __builtin_aarch64_frint32xv2df (__a);
>        |          ^
> In file included from ./arch/arm64/include/asm/neon-intrinsics.h:33,
>                   from arch/arm64/lib/xor-neon.c:11:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s16’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24180:10: 
> error: incompatible types when returning type ‘int’ but ‘uint8x8_t’ was 
> expected
> 24180 |   return __builtin_aarch64_sqmovunv8hi_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64z_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34750:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34750 |   return __builtin_aarch64_frint64zv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32xq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34743:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34743 |   return __builtin_aarch64_frint32xv2df (__a);
>        |          ^
> In file included from lib/raid6/neon4.c:27:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32z_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34693:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34693 |   return __builtin_aarch64_frint32zv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64zq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34757:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34757 |   return __builtin_aarch64_frint64zv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24187:10: 
> error: incompatible types when returning type ‘int’ but ‘uint16x4_t’ was 
> expected
> 24187 |   return __builtin_aarch64_sqmovunv4si_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32zq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34700:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34700 |   return __builtin_aarch64_frint32zv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64z_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34750:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34750 |   return __builtin_aarch64_frint64zv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64zq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34757:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34757 |   return __builtin_aarch64_frint64zv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64zq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34771:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34771 |   return __builtin_aarch64_frint64zv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24194:10: 
> error: incompatible types when returning type ‘int’ but ‘uint32x2_t’ was 
> expected
> 24194 |   return __builtin_aarch64_sqmovunv2di_us (__a);
>        |          ^
> In file included from lib/raid6/neon8.c:27:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32z_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34693:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34693 |   return __builtin_aarch64_frint32zv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32zq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34715:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34715 |   return __builtin_aarch64_frint32zv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64x_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34778:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34778 |   return __builtin_aarch64_frint64xv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32zq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34700:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34700 |   return __builtin_aarch64_frint32zv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32x_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34722:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34722 |   return __builtin_aarch64_frint32xv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64zq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34771:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34771 |   return __builtin_aarch64_frint64zv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64xq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34785:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34785 |   return __builtin_aarch64_frint64xv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32xq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34729:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34729 |   return __builtin_aarch64_frint32xv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64x_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34778:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34778 |   return __builtin_aarch64_frint64xv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64xq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34785:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34785 |   return __builtin_aarch64_frint64xv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32zq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34715:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34715 |   return __builtin_aarch64_frint32zv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64xq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34799:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34799 |   return __builtin_aarch64_frint64xv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32xq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34743:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34743 |   return __builtin_aarch64_frint32xv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32x_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34722:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34722 |   return __builtin_aarch64_frint32xv2sf (__a);
>        |          ^
> make[2]: *** [scripts/Makefile.build:288: lib/raid6/neon1.o] Chyba 1
> make[2]: *** Čeká se na nedokončené úlohy…
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64z_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34750:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34750 |   return __builtin_aarch64_frint64zv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64xq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34799:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34799 |   return __builtin_aarch64_frint64xv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32xq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34729:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34729 |   return __builtin_aarch64_frint32xv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64zq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34757:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34757 |   return __builtin_aarch64_frint64zv4sf (__a);
>        |          ^
> make[2]: *** [scripts/Makefile.build:288: lib/raid6/neon2.o] Chyba 1
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd32xq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34743:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34743 |   return __builtin_aarch64_frint32xv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64zq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34771:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34771 |   return __builtin_aarch64_frint64zv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64z_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34750:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34750 |   return __builtin_aarch64_frint64zv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64x_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34778:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x2_t’ 
> was expected
> 34778 |   return __builtin_aarch64_frint64xv2sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64zq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34757:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34757 |   return __builtin_aarch64_frint64zv4sf (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64xq_f32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34785:10: 
> error: incompatible types when returning type ‘int’ but ‘float32x4_t’ 
> was expected
> 34785 |   return __builtin_aarch64_frint64xv4sf (__a);
>        |          ^
> In file included from lib/raid6/recov_neon_inner.c:7:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s16’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24180:10: 
> error: incompatible types when returning type ‘int’ but ‘uint8x8_t’ was 
> expected
> 24180 |   return __builtin_aarch64_sqmovunv8hi_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s32’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24187:10: 
> error: incompatible types when returning type ‘int’ but ‘uint16x4_t’ was 
> expected
> 24187 |   return __builtin_aarch64_sqmovunv4si_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vqmovun_s64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:24194:10: 
> error: incompatible types when returning type ‘int’ but ‘uint32x2_t’ was 
> expected
> 24194 |   return __builtin_aarch64_sqmovunv2di_us (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64zq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h: In function 
> ‘vrnd64xq_f64’:
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34771:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34771 |   return __builtin_aarch64_frint64zv2df (__a);
>        |          ^
> /usr/lib/gcc-cross/aarch64-linux-gnu/9/include/arm_neon.h:34799:10: 
> error: incompatible types when returning type ‘int’ but ‘float64x2_t’ 
> was expected
> 34799 |   return __builtin_aarch64_frint64xv2df (__a);
> 
> I have reinstalled all packages related to crossbuild-essential-arm64 
> ,to no avail.

Hm, compiling in debootstrapped debian stable works OK. Probably some 
deep-hidden mess in my cross-compilation arm64 packages. The chroot way 
is OK for me now.

Pavel.



More information about the linux-arm-kernel mailing list