highway: Build fails on arm64 device

I tried building highway master on RockPi with Armbian and gcc 9 and 10.

Here are the errors:

home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<float, 4> hwy::N_NEON::PromoteTo(hwy::N_NEON::Full128<float>, hwy::N_NEON::Vec128<hwy::float16_t, 4>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:2173:39: error: cannot convert ‘const Raw’ {aka ‘const __vector(4) short unsigned int’} to ‘float16x4_t’ {aka ‘__vector(4) __fp16’}
 2173 |   return Vec128<float>(vcvt_f32_f16(v.raw));
      |                                     ~~^~~
      |                                       |
      |                                       const Raw {aka const __vector(4) short unsigned int}
In file included from /home/aaron/src/highway/hwy/ops/arm_neon-inl.h:18,
                 from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:14905:27: note:   initializing argument 1 of ‘float32x4_t vcvt_f32_f16(float16x4_t)’
14905 | vcvt_f32_f16 (float16x4_t __a)
      |               ~~~~~~~~~~~~^~~
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<hwy::float16_t, 4> hwy::N_NEON::DemoteTo(hwy::N_NEON::Simd<hwy::float16_t, 4>, hwy::N_NEON::Vec128<float, 4>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:2301:50: error: no matching function for call to ‘hwy::N_NEON::Vec128<hwy::float16_t, 4>::Vec128(<brace-enclosed initializer list>)’
 2301 |   return Vec128<float16_t, 4>{vcvt_f16_f32(v.raw)};
      |                                                  ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = hwy::float16_t; long unsigned int N = 4; hwy::N_NEON::Vec128<T, N>::Raw = __vector(4) short unsigned int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘float16x4_t’ {aka ‘__vector(4) __fp16’} to ‘hwy::N_NEON::Vec128<hwy::float16_t, 4>::Raw’ {aka ‘__vector(4) short unsigned int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = hwy::float16_t; long unsigned int N = 4]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘float16x4_t’ {aka ‘__vector(4) __fp16’} to ‘const hwy::N_NEON::Vec128<hwy::float16_t, 4>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = hwy::float16_t; long unsigned int N = 4]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<signed char, N> hwy::N_NEON::DemoteTo(hwy::N_NEON::Simd<signed char, N>, hwy::N_NEON::Vec128<int, 4>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:2401:39: error: cannot convert ‘uint16x8_t’ {aka ‘__vector(8) short unsigned int’} to ‘int16x8_t’ {aka ‘__vector(8) short int’}
 2401 |   return Vec128<int8_t, N>(vqmovn_s16(c));
      |                                       ^
      |                                       |
      |                                       uint16x8_t {aka __vector(8) short unsigned int}
In file included from /home/aaron/src/highway/hwy/ops/arm_neon-inl.h:18,
                 from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:24092:23: note:   initializing argument 1 of ‘int8x8_t vqmovn_s16(int16x8_t)’
24092 | vqmovn_s16 (int16x8_t __a)
      |             ~~~~~~~~~~^~~
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<unsigned int, 4> hwy::N_NEON::TableLookupLanes(hwy::N_NEON::Vec128<unsigned int, 4>, hwy::N_NEON::Indices128<unsigned int>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3007:54: error: no matching function for call to ‘hwy::N_NEON::Vec128<unsigned int, 4>::Vec128(const uint8x16_t&)’
 3007 |   return TableLookupBytes(v, Vec128<uint32_t>(idx.raw));
      |                                                      ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = unsigned int; long unsigned int N = 4; hwy::N_NEON::Vec128<T, N>::Raw = __vector(4) unsigned int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘const uint8x16_t’ {aka ‘const __vector(16) unsigned char’} to ‘hwy::N_NEON::Vec128<unsigned int, 4>::Raw’ {aka ‘__vector(4) unsigned int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = unsigned int; long unsigned int N = 4]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘const uint8x16_t’ {aka ‘const __vector(16) unsigned char’} to ‘const hwy::N_NEON::Vec128<unsigned int, 4>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = unsigned int; long unsigned int N = 4]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<int, 4> hwy::N_NEON::TableLookupLanes(hwy::N_NEON::Vec128<int, 4>, hwy::N_NEON::Indices128<int>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3011:53: error: no matching function for call to ‘hwy::N_NEON::Vec128<int, 4>::Vec128(const uint8x16_t&)’
 3011 |   return TableLookupBytes(v, Vec128<int32_t>(idx.raw));
      |                                                     ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = int; long unsigned int N = 4; hwy::N_NEON::Vec128<T, N>::Raw = __vector(4) int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘const uint8x16_t’ {aka ‘const __vector(16) unsigned char’} to ‘hwy::N_NEON::Vec128<int, 4>::Raw’ {aka ‘__vector(4) int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = int; long unsigned int N = 4]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘const uint8x16_t’ {aka ‘const __vector(16) unsigned char’} to ‘const hwy::N_NEON::Vec128<int, 4>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = int; long unsigned int N = 4]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<float, 4> hwy::N_NEON::TableLookupLanes(hwy::N_NEON::Vec128<float, 4>, hwy::N_NEON::Indices128<float>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3018:74: error: no matching function for call to ‘hwy::N_NEON::Vec128<int, 4>::Vec128(const uint8x16_t&)’
 3018 |                  TableLookupBytes(BitCast(di, v), Vec128<int32_t>(idx.raw)));
      |                                                                          ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = int; long unsigned int N = 4; hwy::N_NEON::Vec128<T, N>::Raw = __vector(4) int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘const uint8x16_t’ {aka ‘const __vector(16) unsigned char’} to ‘hwy::N_NEON::Vec128<int, 4>::Raw’ {aka ‘__vector(4) int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = int; long unsigned int N = 4]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘const uint8x16_t’ {aka ‘const __vector(16) unsigned char’} to ‘const hwy::N_NEON::Vec128<int, 4>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = int; long unsigned int N = 4]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<double, 2> hwy::N_NEON::InterleaveUpper(hwy::N_NEON::Vec128<double, 2>, hwy::N_NEON::Vec128<double, 2>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3096:38: error: cannot convert ‘const Raw’ {aka ‘const __vector(2) double’} to ‘int64x2_t’ {aka ‘__vector(2) long int’}
 3096 |   return Vec128<double>(vzip2q_s64(a.raw, b.raw));
      |                                    ~~^~~
      |                                      |
      |                                      const Raw {aka const __vector(2) double}
In file included from /home/aaron/src/highway/hwy/ops/arm_neon-inl.h:18,
                 from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:32411:23: note:   initializing argument 1 of ‘int64x2_t vzip2q_s64(int64x2_t, int64x2_t)’
32411 | vzip2q_s64 (int64x2_t __a, int64x2_t __b)
      |             ~~~~~~~~~~^~~
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<short unsigned int, 8> hwy::N_NEON::ZipLower(hwy::N_NEON::Vec128<unsigned char, 16>, hwy::N_NEON::Vec128<unsigned char, 16>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3108:50: error: no matching function for call to ‘hwy::N_NEON::Vec128<short unsigned int, 8>::Vec128(uint8x16_t)’
 3108 |   return Vec128<uint16_t>(vzip1q_u8(a.raw, b.raw));
      |                                                  ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = short unsigned int; long unsigned int N = 8; hwy::N_NEON::Vec128<T, N>::Raw = __vector(8) short unsigned int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘uint8x16_t’ {aka ‘__vector(16) unsigned char’} to ‘hwy::N_NEON::Vec128<short unsigned int, 8>::Raw’ {aka ‘__vector(8) short unsigned int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = short unsigned int; long unsigned int N = 8]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘uint8x16_t’ {aka ‘__vector(16) unsigned char’} to ‘const hwy::N_NEON::Vec128<short unsigned int, 8>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = short unsigned int; long unsigned int N = 8]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<unsigned int, 4> hwy::N_NEON::ZipLower(hwy::N_NEON::Vec128<short unsigned int, 8>, hwy::N_NEON::Vec128<short unsigned int, 8>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3112:51: error: no matching function for call to ‘hwy::N_NEON::Vec128<unsigned int, 4>::Vec128(uint16x8_t)’
 3112 |   return Vec128<uint32_t>(vzip1q_u16(a.raw, b.raw));
      |                                                   ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = unsigned int; long unsigned int N = 4; hwy::N_NEON::Vec128<T, N>::Raw = __vector(4) unsigned int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘uint16x8_t’ {aka ‘__vector(8) short unsigned int’} to ‘hwy::N_NEON::Vec128<unsigned int, 4>::Raw’ {aka ‘__vector(4) unsigned int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = unsigned int; long unsigned int N = 4]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘uint16x8_t’ {aka ‘__vector(8) short unsigned int’} to ‘const hwy::N_NEON::Vec128<unsigned int, 4>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = unsigned int; long unsigned int N = 4]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<long unsigned int, 2> hwy::N_NEON::ZipLower(hwy::N_NEON::Vec128<unsigned int, 4>, hwy::N_NEON::Vec128<unsigned int, 4>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3116:51: error: no matching function for call to ‘hwy::N_NEON::Vec128<long unsigned int, 2>::Vec128(uint32x4_t)’
 3116 |   return Vec128<uint64_t>(vzip1q_u32(a.raw, b.raw));
      |                                                   ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = long unsigned int; long unsigned int N = 2; hwy::N_NEON::Vec128<T, N>::Raw = __vector(2) long unsigned int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘uint32x4_t’ {aka ‘__vector(4) unsigned int’} to ‘hwy::N_NEON::Vec128<long unsigned int, 2>::Raw’ {aka ‘__vector(2) long unsigned int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = long unsigned int; long unsigned int N = 2]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘uint32x4_t’ {aka ‘__vector(4) unsigned int’} to ‘const hwy::N_NEON::Vec128<long unsigned int, 2>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = long unsigned int; long unsigned int N = 2]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<short int, 8> hwy::N_NEON::ZipLower(hwy::N_NEON::Vec128<signed char, 16>, hwy::N_NEON::Vec128<signed char, 16>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3121:49: error: no matching function for call to ‘hwy::N_NEON::Vec128<short int, 8>::Vec128(int8x16_t)’
 3121 |   return Vec128<int16_t>(vzip1q_s8(a.raw, b.raw));
      |                                                 ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = short int; long unsigned int N = 8; hwy::N_NEON::Vec128<T, N>::Raw = __vector(8) short int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘int8x16_t’ {aka ‘__vector(16) signed char’} to ‘hwy::N_NEON::Vec128<short int, 8>::Raw’ {aka ‘__vector(8) short int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = short int; long unsigned int N = 8]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘int8x16_t’ {aka ‘__vector(16) signed char’} to ‘const hwy::N_NEON::Vec128<short int, 8>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = short int; long unsigned int N = 8]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<int, 4> hwy::N_NEON::ZipLower(hwy::N_NEON::Vec128<short int, 8>, hwy::N_NEON::Vec128<short int, 8>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3125:50: error: no matching function for call to ‘hwy::N_NEON::Vec128<int, 4>::Vec128(int16x8_t)’
 3125 |   return Vec128<int32_t>(vzip1q_s16(a.raw, b.raw));
      |                                                  ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = int; long unsigned int N = 4; hwy::N_NEON::Vec128<T, N>::Raw = __vector(4) int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘int16x8_t’ {aka ‘__vector(8) short int’} to ‘hwy::N_NEON::Vec128<int, 4>::Raw’ {aka ‘__vector(4) int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = int; long unsigned int N = 4]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘int16x8_t’ {aka ‘__vector(8) short int’} to ‘const hwy::N_NEON::Vec128<int, 4>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = int; long unsigned int N = 4]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<long int, 2> hwy::N_NEON::ZipLower(hwy::N_NEON::Vec128<int, 4>, hwy::N_NEON::Vec128<int, 4>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3129:50: error: no matching function for call to ‘hwy::N_NEON::Vec128<long int, 2>::Vec128(int32x4_t)’
 3129 |   return Vec128<int64_t>(vzip1q_s32(a.raw, b.raw));
      |                                                  ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = long int; long unsigned int N = 2; hwy::N_NEON::Vec128<T, N>::Raw = __vector(2) long int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘int32x4_t’ {aka ‘__vector(4) int’} to ‘hwy::N_NEON::Vec128<long int, 2>::Raw’ {aka ‘__vector(2) long int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = long int; long unsigned int N = 2]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘int32x4_t’ {aka ‘__vector(4) int’} to ‘const hwy::N_NEON::Vec128<long int, 2>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = long int; long unsigned int N = 2]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<short unsigned int, 8> hwy::N_NEON::ZipUpper(hwy::N_NEON::Vec128<unsigned char, 16>, hwy::N_NEON::Vec128<unsigned char, 16>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3134:50: error: no matching function for call to ‘hwy::N_NEON::Vec128<short unsigned int, 8>::Vec128(uint8x16_t)’
 3134 |   return Vec128<uint16_t>(vzip2q_u8(a.raw, b.raw));
      |                                                  ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = short unsigned int; long unsigned int N = 8; hwy::N_NEON::Vec128<T, N>::Raw = __vector(8) short unsigned int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘uint8x16_t’ {aka ‘__vector(16) unsigned char’} to ‘hwy::N_NEON::Vec128<short unsigned int, 8>::Raw’ {aka ‘__vector(8) short unsigned int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = short unsigned int; long unsigned int N = 8]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘uint8x16_t’ {aka ‘__vector(16) unsigned char’} to ‘const hwy::N_NEON::Vec128<short unsigned int, 8>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = short unsigned int; long unsigned int N = 8]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<unsigned int, 4> hwy::N_NEON::ZipUpper(hwy::N_NEON::Vec128<short unsigned int, 8>, hwy::N_NEON::Vec128<short unsigned int, 8>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3138:51: error: no matching function for call to ‘hwy::N_NEON::Vec128<unsigned int, 4>::Vec128(uint16x8_t)’
 3138 |   return Vec128<uint32_t>(vzip2q_u16(a.raw, b.raw));
      |                                                   ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = unsigned int; long unsigned int N = 4; hwy::N_NEON::Vec128<T, N>::Raw = __vector(4) unsigned int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘uint16x8_t’ {aka ‘__vector(8) short unsigned int’} to ‘hwy::N_NEON::Vec128<unsigned int, 4>::Raw’ {aka ‘__vector(4) unsigned int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = unsigned int; long unsigned int N = 4]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘uint16x8_t’ {aka ‘__vector(8) short unsigned int’} to ‘const hwy::N_NEON::Vec128<unsigned int, 4>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = unsigned int; long unsigned int N = 4]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<long unsigned int, 2> hwy::N_NEON::ZipUpper(hwy::N_NEON::Vec128<unsigned int, 4>, hwy::N_NEON::Vec128<unsigned int, 4>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3142:51: error: no matching function for call to ‘hwy::N_NEON::Vec128<long unsigned int, 2>::Vec128(uint32x4_t)’
 3142 |   return Vec128<uint64_t>(vzip2q_u32(a.raw, b.raw));
      |                                                   ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = long unsigned int; long unsigned int N = 2; hwy::N_NEON::Vec128<T, N>::Raw = __vector(2) long unsigned int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘uint32x4_t’ {aka ‘__vector(4) unsigned int’} to ‘hwy::N_NEON::Vec128<long unsigned int, 2>::Raw’ {aka ‘__vector(2) long unsigned int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = long unsigned int; long unsigned int N = 2]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘uint32x4_t’ {aka ‘__vector(4) unsigned int’} to ‘const hwy::N_NEON::Vec128<long unsigned int, 2>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = long unsigned int; long unsigned int N = 2]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<short int, 8> hwy::N_NEON::ZipUpper(hwy::N_NEON::Vec128<signed char, 16>, hwy::N_NEON::Vec128<signed char, 16>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3147:49: error: no matching function for call to ‘hwy::N_NEON::Vec128<short int, 8>::Vec128(int8x16_t)’
 3147 |   return Vec128<int16_t>(vzip2q_s8(a.raw, b.raw));
      |                                                 ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = short int; long unsigned int N = 8; hwy::N_NEON::Vec128<T, N>::Raw = __vector(8) short int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘int8x16_t’ {aka ‘__vector(16) signed char’} to ‘hwy::N_NEON::Vec128<short int, 8>::Raw’ {aka ‘__vector(8) short int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = short int; long unsigned int N = 8]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘int8x16_t’ {aka ‘__vector(16) signed char’} to ‘const hwy::N_NEON::Vec128<short int, 8>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = short int; long unsigned int N = 8]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<int, 4> hwy::N_NEON::ZipUpper(hwy::N_NEON::Vec128<short int, 8>, hwy::N_NEON::Vec128<short int, 8>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3151:50: error: no matching function for call to ‘hwy::N_NEON::Vec128<int, 4>::Vec128(int16x8_t)’
 3151 |   return Vec128<int32_t>(vzip2q_s16(a.raw, b.raw));
      |                                                  ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = int; long unsigned int N = 4; hwy::N_NEON::Vec128<T, N>::Raw = __vector(4) int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘int16x8_t’ {aka ‘__vector(8) short int’} to ‘hwy::N_NEON::Vec128<int, 4>::Raw’ {aka ‘__vector(4) int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = int; long unsigned int N = 4]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘int16x8_t’ {aka ‘__vector(8) short int’} to ‘const hwy::N_NEON::Vec128<int, 4>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = int; long unsigned int N = 4]’
  448 |   HWY_INLINE Vec128() {}
      |              ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note:   candidate expects 0 arguments, 1 provided
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h: In function ‘hwy::N_NEON::Vec128<long int, 2> hwy::N_NEON::ZipUpper(hwy::N_NEON::Vec128<int, 4>, hwy::N_NEON::Vec128<int, 4>)’:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:3155:50: error: no matching function for call to ‘hwy::N_NEON::Vec128<long int, 2>::Vec128(int32x4_t)’
 3155 |   return Vec128<int64_t>(vzip2q_s32(a.raw, b.raw));
      |                                                  ^
In file included from /home/aaron/src/highway/hwy/highway.h:265,
                 from /home/aaron/src/highway/hwy/tests/list_targets.cc:20:
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:23: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128(hwy::N_NEON::Vec128<T, N>::Raw) [with T = long int; long unsigned int N = 2; hwy::N_NEON::Vec128<T, N>::Raw = __vector(2) long int]’
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                       ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:451:40: note:   no known conversion for argument 1 from ‘int32x4_t’ {aka ‘__vector(4) int’} to ‘hwy::N_NEON::Vec128<long int, 2>::Raw’ {aka ‘__vector(2) long int’}
  451 |   HWY_INLINE explicit Vec128(const Raw raw) : raw(raw) {}
      |                              ~~~~~~~~~~^~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:3: note: candidate: ‘constexpr hwy::N_NEON::Vec128<T, N>::Vec128(const hwy::N_NEON::Vec128<T, N>&) [with T = long int; long unsigned int N = 2]’
  449 |   Vec128(const Vec128&) = default;
      |   ^~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:449:10: note:   no known conversion for argument 1 from ‘int32x4_t’ {aka ‘__vector(4) int’} to ‘const hwy::N_NEON::Vec128<long int, 2>&’
  449 |   Vec128(const Vec128&) = default;
      |          ^~~~~~~~~~~~~
/home/aaron/src/highway/hwy/ops/arm_neon-inl.h:448:14: note: candidate: ‘hwy::N_NEON::Vec128<T, N>::Vec128() [with T = long int; long unsigned int N = 2]’
  448 |   HWY_INLINE Vec128() {}

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 18 (17 by maintainers)

Commits related to this issue

Most upvoted comments

@boxerab thanks for confirming 😃

@boxerab @eclipseo oh, thanks for sharing. I had tested with armv7 gcc, will get a v8 toolchain up tomorrow and should be able to fix this soon after.