Skip to content

compile without popcount seems impossible #11

Description

@BrennusJ

Hello,

My 64 bit processor don't carry pocount or sse4 instruction
i edit make file (for linux) to remove specific value for g++ but i met error during compile that let me think that there is an error in popcount function replacement

i get specific screenshot for result if needed

jm@jm-Latitude-D630:~/Documents/Gull-master/src$ make -f Makefile.linux build ARCH=x86-64 COMP=g++
unzip -o -j Fathom-master.zip "Fathom-master/src/tbprobe.h" -d "./"
Archive: Fathom-master.zip
1720b7f8dd894f7c6468c3917500c97989f45600
inflating: ./tbprobe.h
unzip -o -j Fathom-master.zip "Fathom-master/src/tbprobe.c" -d "./"
Archive: Fathom-master.zip
1720b7f8dd894f7c6468c3917500c97989f45600
inflating: ./tbprobe.c
unzip -o -j Fathom-master.zip "Fathom-master/src/tbcore.h" -d "./"
Archive: Fathom-master.zip
1720b7f8dd894f7c6468c3917500c97989f45600
inflating: ./tbcore.h
unzip -o -j Fathom-master.zip "Fathom-master/src/tbcore.c" -d "./"
Archive: Fathom-master.zip
1720b7f8dd894f7c6468c3917500c97989f45600
inflating: ./tbcore.c
g++ -fno-exceptions -fno-rtti -fno-stack-protector -Wno-parentheses -pthread -D GULL_MAGIC_BITBOARDS -DVERSION=170402-Linux-x86_64 -O3 -D LINUX Gull.cpp tbprobe.c -lrt -Wl,--defsym=INFO=0x300000 -Wl,--defsym=SETTINGS=0x301000 -Wl,--defsym=SHARED=0x302000 -Wl,--defsym=DATA=0x74000000 -Wl,--defsym=PAWNHASH=0x78000000 -Wl,--defsym=PVHASH=0x7B000000 -Wl,--defsym=HASH=0x7F000000 -o LazyGull
In file included from Gull.cpp:957:0:
Linux.cpp:46:0: warning: "UINT64_MAX" redefined
#define UINT64_MAX 0xFFFFFFFFFFFFFFFFull // XXX
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:9:0,
from data.h:4,
from Gull.cpp:37:
/usr/include/stdint.h:169:0: note: this is the location of the previous definition

define UINT64_MAX (__UINT64_C(18446744073709551615))

^
In file included from Gull.cpp:957:0:
Linux.cpp:47:0: warning: "UINT32_MAX" redefined
#define UINT32_MAX 0xFFFFFFFF
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:9:0,
from data.h:4,
from Gull.cpp:37:
/usr/include/stdint.h:168:0: note: this is the location of the previous definition

define UINT32_MAX (4294967295U)

^
In file included from Gull.cpp:957:0:
Linux.cpp:48:0: warning: "UINT8_MAX" redefined
#define UINT8_MAX 0xFF
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h:9:0,
from data.h:4,
from Gull.cpp:37:
/usr/include/stdint.h:166:0: note: this is the location of the previous definition

define UINT8_MAX (255)

^
In file included from Gull.cpp:578:0:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h: In function ‘int popcount(uint64_t)’:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
Gull.cpp:581:26: error: called from here
return _mm_popcnt_u64(x);
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:811:0,
from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:41,
from tbprobe.c:33:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h: In function ‘void prt_str(const pos*, char*, bool)’:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
tbprobe.c:76:47: error: called from here
#define popcount(x) _mm_popcnt_u64((x))
^
tbprobe.c:555:14: note: in expansion of macro ‘popcount’
for (i = popcount(white & pos->queens); i > 0; i--)
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:811:0,
from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:41,
from tbprobe.c:33:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
tbprobe.c:76:47: error: called from here
#define popcount(x) _mm_popcnt_u64((x))
^
tbprobe.c:557:14: note: in expansion of macro ‘popcount’
for (i = popcount(white & pos->rooks); i > 0; i--)
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:811:0,
from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:41,
from tbprobe.c:33:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
tbprobe.c:76:47: error: called from here
#define popcount(x) _mm_popcnt_u64((x))
^
tbprobe.c:559:14: note: in expansion of macro ‘popcount’
for (i = popcount(white & pos->bishops); i > 0; i--)
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:811:0,
from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:41,
from tbprobe.c:33:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
tbprobe.c:76:47: error: called from here
#define popcount(x) _mm_popcnt_u64((x))
^
tbprobe.c:561:14: note: in expansion of macro ‘popcount’
for (i = popcount(white & pos->knights); i > 0; i--)
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:811:0,
from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:41,
from tbprobe.c:33:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
tbprobe.c:76:47: error: called from here
#define popcount(x) _mm_popcnt_u64((x))
^
tbprobe.c:563:14: note: in expansion of macro ‘popcount’
for (i = popcount(white & pos->pawns); i > 0; i--)
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:811:0,
from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:41,
from tbprobe.c:33:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
tbprobe.c:76:47: error: called from here
#define popcount(x) _mm_popcnt_u64((x))
^
tbprobe.c:567:14: note: in expansion of macro ‘popcount’
for (i = popcount(black & pos->queens); i > 0; i--)
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:811:0,
from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:41,
from tbprobe.c:33:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
tbprobe.c:76:47: error: called from here
#define popcount(x) _mm_popcnt_u64((x))
^
tbprobe.c:569:14: note: in expansion of macro ‘popcount’
for (i = popcount(black & pos->rooks); i > 0; i--)
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:811:0,
from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:41,
from tbprobe.c:33:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
tbprobe.c:76:47: error: called from here
#define popcount(x) _mm_popcnt_u64((x))
^
tbprobe.c:571:14: note: in expansion of macro ‘popcount’
for (i = popcount(black & pos->bishops); i > 0; i--)
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:811:0,
from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:41,
from tbprobe.c:33:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
tbprobe.c:76:47: error: called from here
#define popcount(x) _mm_popcnt_u64((x))
^
tbprobe.c:573:14: note: in expansion of macro ‘popcount’
for (i = popcount(black & pos->knights); i > 0; i--)
^
In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:811:0,
from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:41,
from tbprobe.c:33:
/usr/lib/gcc/x86_64-linux-gnu/5/include/popcntintrin.h:42:1: error: inlining failed in call to always_inline ‘long long int _mm_popcnt_u64(long long unsigned int)’: target specific option mismatch
_mm_popcnt_u64 (unsigned long long __X)
^
tbprobe.c:76:47: error: called from here
#define popcount(x) _mm_popcnt_u64((x))
^
tbprobe.c:575:14: note: in expansion of macro ‘popcount’
for (i = popcount(black & pos->pawns); i > 0; i--)
^
Makefile.linux:65 : la recette pour la cible « build » a échouée
make: *** [build] Erreur 1
jm@jm-Latitude-D630:~/Documents/Gull-master/src$

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions