hal icon indicating copy to clipboard operation
hal copied to clipboard

Hawkeye plugin needs `-flax-vector-conversions` flag to build with gcc on aarch64

Open risicle opened this issue 1 year ago • 0 comments

Building 4.4.1 on aarch64-linux with gcc 13 results in:

/build/source/plugins/hawkeye/src/sbox_database.cpp: In function 'smallset_t hal::hawkeye::{anonymous}::smallset_init_full(u32)':
/build/source/plugins/hawkeye/src/sbox_database.cpp:868:56: error: cannot convert '__Uint64x2_t' to 'uint32x4_t'
  868 |                     return {vsetq_lane_u32(0xFFFFFFFF, tmp, 0), vdupq_n_u64(0)};
      |                                                        ^~~
      |                                                        |
      |                                                        __Uint64x2_t

etc. ad nauseum.

I'm guessing this is because you've generally been building using LLVM on aarch64, which appears to have -flax-vector-conversions enabled by default. But gcc doesn't. Builds fine with that flag added.

risicle avatar Nov 08 '24 20:11 risicle