g++ code/main.cpp -o Simpler-98B681A1 -O3 -std=c++2a -mcpu=native -pthread -flto -fno-exceptions -fno-rtti -DNDEBUG -ffast-math -funroll-loops
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:584:39: note: use ‘-flax-vector-conversions’ to permit conversions between vectors with differing element types or numbers of subparts
584 | return vqmovun_s16(activations);
| ^
code/nnue.h:584:27: error: cannot convert ‘uint8x8_t’ to ‘int8x8_t’ in return
584 | return vqmovun_s16(activations);
| ~~~~~~~~~~~^~~~~~~~~~~~~
| |
| uint8x8_t
code/nnue.h: In member function ‘void NNUEevaluator::activateAcc(const __int16_t*, uint8_t*)’:
code/nnue.h:622:40: error: cannot convert ‘int8x8_t’ to ‘uint8x8_t’
622 | 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/12/include/arm_neon.h:24669:34: note: initializing argument 2 of ‘void vst1_u8(uint8_t*, uint8x8_t)’
24669 | 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:659:66: error: cannot convert ‘uint32x4_t’ to ‘int8x16_t’
659 | vec32 partial0 = dpbusd(sum, vreinterpretq_u8_s8(set1u_32(packed0)), weights0);
/usr/lib/gcc/aarch64-linux-gnu/12/include/arm_neon.h:5096:32: note: initializing argument 1 of ‘uint8x16_t vreinterpretq_u8_s8(int8x16_t)’
5096 | vreinterpretq_u8_s8 (int8x16_t __a)
| ~~~~~~~~~~^~~
code/nnue.h:660:72: error: cannot convert ‘uint32x4_t’ to ‘int8x16_t’
660 | vec32 partial1 = dpbusd(setzero32, vreinterpretq_u8_s8(set1u_32(packed1)), weights1);
/usr/lib/gcc/aarch64-linux-gnu/12/include/arm_neon.h:5096:32: note: initializing argument 1 of ‘uint8x16_t vreinterpretq_u8_s8(int8x16_t)’
5096 | vreinterpretq_u8_s8 (int8x16_t __a)
| ~~~~~~~~~~^~~
code/nnue.h: In member function ‘int NNUEevaluator::findNonZeroIndices(const uint32_t*, uint16_t*)’:
code/nnue.h:691:30: error: cannot convert ‘uint32x4_t’ to ‘int32x4_t’ in initialization
691 | vec32 vmask = loadu32(kMask);
code/nnue.h:694:30: error: cannot convert ‘uint32x4_t’ to ‘int32x4_t’ in initialization
694 | vec32 v = loadu32(packedFt + i);
code/nnue.h:695:59: error: cannot convert ‘int32x4_t’ to ‘uint32x4_t’
695 | uint8_t byte = vaddvq_u32(vandq_u32(vtstq_u32(v, v), vmask));
| ^
| |
| int32x4_t
/usr/lib/gcc/aarch64-linux-gnu/12/include/arm_neon.h:27086:23: note: initializing argument 1 of ‘uint32x4_t vtstq_u32(uint32x4_t, uint32x4_t)’
27086 | vtstq_u32 (uint32x4_t __a, uint32x4_t __b)
| ~~~~~~~~~~~^~~
code/nnue.h:696:33: error: cannot convert ‘uint16x8_t’ to ‘int16x8_t’ in initialization
696 | vec16 lut = loadu16(NZ_TABLE[byte].data());
code/nnue.h:698:46: error: cannot convert ‘int16x8_t’ to ‘uint16x8_t’
698 | storeu16((indices + count), add16(lut, base));
/usr/lib/gcc/aarch64-linux-gnu/12/include/arm_neon.h:24776:38: note: initializing argument 2 of ‘void vst1q_u16(uint16_t*, uint16x8_t)’
24776 | vst1q_u16 (uint16_t *__a, uint16x8_t __b)
| ~~~~~~~~~~~^~~
code/nnue.h: In member function ‘int NNUEevaluator::evaluate(int, int)’:
code/nnue.h:914:71: error: cannot convert ‘uint8x16_t’ to ‘int8x16_t’
914 | accum[v][0] = dpbusd(accum[v][0], vreinterpretq_u8_u32(set1u_32(ft)), w_v);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
| |
| uint8x16_t
code/nnue.h:647:43: note: initializing argument 2 of ‘int32x4_t NNUEevaluator::dpbusd(int32x4_t, int8x16_t, int8x16_t)’
647 | 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:35:10: warning: ignoring packed attribute because of unpacked non-POD field ‘Flag TableEntry::flag’
35 | Flag flag;
| ^~~~
make: *** [Makefile:19: all] Error 1