rm -f Simpler-4F0C72C1 Simpler-4F0C72C1_pgo Simpler-4F0C72C1.profdata default.profraw
g++ -O3 -std=c++2a -mcpu=native -pthread -fno-exceptions -fno-rtti -DNDEBUG -ffast-math -funroll-loops  -fprofile-generate code/main.cpp -o Simpler-4F0C72C1_pgo
In file included from code/board.h:43,
                 from code/moveGeneration.h:8,
                 from code/moveListGeneration.h:22,
                 from code/searcher.h:8,
                 from code/main.cpp:4:
code/nnue.h: In member function ‘int8x8_t NNUEevaluator::pack(int16x8_t)’:
code/nnue.h:599:39: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
  599 |         return vqmovun_s16(activations);
      |                                       ^
code/nnue.h:599:27: error: cannot convert ‘uint8x8_t’ to ‘int8x8_t’ in return
  599 |         return vqmovun_s16(activations);
      |                ~~~~~~~~~~~^~~~~~~~~~~~~
      |                           |
      |                           uint8x8_t
code/nnue.h: In member function ‘void NNUEevaluator::activateAcc(const __int16_t*, uint8_t*)’:
code/nnue.h:637:40: error: cannot convert ‘int8x8_t’ to ‘uint8x8_t’
  637 |                 vst1_u8((out + i), pack(ac));
      |                                    ~~~~^~~~
      |                                        |
      |                                        int8x8_t
In file included from code/declars.h:21,
                 from code/move.h:8,
                 from code/moveListGeneration.h:8:
/usr/lib/gcc/aarch64-linux-gnu/14/include/arm_neon.h:22060:34: note:   initializing argument 2 of ‘void vst1_u8(uint8_t*, uint8x8_t)’
22060 | vst1_u8 (uint8_t *__a, uint8x8_t __b)
      |                        ~~~~~~~~~~^~~
code/nnue.h: In member function ‘int32x4_t NNUEevaluator::dpbusdx2(int32x4_t, uint32_t, int8x16_t, uint32_t, int8x16_t)’:
code/nnue.h:674:66: error: cannot convert ‘uint32x4_t’ to ‘__Int8x16_t’
  674 |         vec32 partial0 = dpbusd(sum, vreinterpretq_u8_s8(set1u_32(packed0)), weights0);
/usr/lib/gcc/aarch64-linux-gnu/14/include/arm_neon.h:33:21: note:   initializing argument 1 of ‘__Uint8x16_t vreinterpretq_u8_s8(__Int8x16_t)’
   33 | #pragma GCC aarch64 "arm_neon.h"
      |                     ^~~~~~~~~~~~
code/nnue.h:675:72: error: cannot convert ‘uint32x4_t’ to ‘__Int8x16_t’
  675 |         vec32 partial1 = dpbusd(setzero32, vreinterpretq_u8_s8(set1u_32(packed1)), weights1);
/usr/lib/gcc/aarch64-linux-gnu/14/include/arm_neon.h:33:21: note:   initializing argument 1 of ‘__Uint8x16_t vreinterpretq_u8_s8(__Int8x16_t)’
   33 | #pragma GCC aarch64 "arm_neon.h"
      |                     ^~~~~~~~~~~~
code/nnue.h: In member function ‘int NNUEevaluator::findNonZeroIndices(const uint32_t*, uint16_t*)’:
code/nnue.h:706:30: error: cannot convert ‘uint32x4_t’ to ‘int32x4_t’ in initialization
  706 |         vec32 vmask = loadu32(kMask);
code/nnue.h:709:30: error: cannot convert ‘uint32x4_t’ to ‘int32x4_t’ in initialization
  709 |             vec32 v = loadu32(packedFt + i);
code/nnue.h:710:59: error: cannot convert ‘int32x4_t’ to ‘uint32x4_t’
  710 |             uint8_t byte = vaddvq_u32(vandq_u32(vtstq_u32(v, v), vmask));
      |                                                           ^
      |                                                           |
      |                                                           int32x4_t
/usr/lib/gcc/aarch64-linux-gnu/14/include/arm_neon.h:24477:23: note:   initializing argument 1 of ‘uint32x4_t vtstq_u32(uint32x4_t, uint32x4_t)’
24477 | vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
      |            ~~~~~~~~~~~^~~
code/nnue.h:711:33: error: cannot convert ‘uint16x8_t’ to ‘int16x8_t’ in initialization
  711 |             vec16 lut  = loadu16(NZ_TABLE[byte].data());
code/nnue.h:713:46: error: cannot convert ‘int16x8_t’ to ‘uint16x8_t’
  713 |             storeu16((indices + count), add16(lut, base));
/usr/lib/gcc/aarch64-linux-gnu/14/include/arm_neon.h:22167:38: note:   initializing argument 2 of ‘void vst1q_u16(uint16_t*, uint16x8_t)’
22167 | vst1q_u16 (uint16_t *__a, uint16x8_t __b)
      |                           ~~~~~~~~~~~^~~
code/nnue.h: In member function ‘int NNUEevaluator::evaluate(int, int)’:
code/nnue.h:930:71: error: cannot convert ‘__Uint8x16_t’ to ‘int8x16_t’
  930 |                 accum[v][0] = dpbusd(accum[v][0], vreinterpretq_u8_u32(set1u_32(ft)), w_v);
      |                                                   ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
      |                                                                       |
      |                                                                       __Uint8x16_t
code/nnue.h:662:43: note:   initializing argument 2 of ‘int32x4_t NNUEevaluator::dpbusd(int32x4_t, int8x16_t, int8x16_t)’
  662 |     inline vec32 dpbusd(vec32 accum, vec8 a, vec8 b) {
In file included from code/evaluation.h:36,
                 from code/searcher.h:22:
code/transpositionTable.h: At global scope:
code/transpositionTable.h:40:10: warning: ignoring packed attribute because of unpacked non-POD field ‘Flag TableEntry::flag’
   40 |     Flag flag;
      |          ^~~~
make: *** [Makefile:30: all] Error 1