New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hail fails to compile on linux with GCC 8.1.0 #3955

Closed
chrisvittal opened this Issue Jul 18, 2018 · 1 comment

Comments

Projects
None yet
1 participant
@chrisvittal
Copy link
Collaborator

chrisvittal commented Jul 18, 2018

To report a bug, fill in the information below.
For support and feature requests, please use the discussion forum: http://discuss.hail.is/


Hail version:

19213e5

What you did:

Tried compiling hail with GCC-8.1.0.

What went wrong (all error messages here, including the full java stack trace):

Full output from make invocation:

echo "make debug"
make debug
echo "JAVA_HOME is /usr/lib/jvm/java-8-openjdk-amd64"
JAVA_HOME is /usr/lib/jvm/java-8-openjdk-amd64
echo "CXX is g++"
CXX is g++
g++ --version
g++ (GCC) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

tar -xzf libsimdpp-2.0-rc2.tar.gz
g++ -O3 -march=native -std=c++11 -Ilibsimdpp-2.0-rc2 -Wall -Werror -fPIC -ggdb -fno-strict-aliasing -I../resources/include -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux   -c -o ibs.o ibs.cpp
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::float64<2>; T = simdpp::arch_avx2::float32<4, simdpp::arch_avx2::expr_empty>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::float64<2>; T = simdpp::arch_avx2::float32<4, simdpp::arch_avx2::expr_empty>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::float64<2>; T = simdpp::arch_avx2::float32<4, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:253:45:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::float64<2>’ with ‘private’ member ‘simdpp::arch_avx2::float64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::float32<4, simdpp::arch_avx2::expr_empty>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:32,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/float64x2.h:32:7: note: ‘class simdpp::arch_avx2::float64<2>’ declared here
 class float64<2, void> : public any_float64<2, float64<2,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::float32<4>; T = simdpp::arch_avx2::float64<2, simdpp::arch_avx2::expr_empty>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::float32<4>; T = simdpp::arch_avx2::float64<2, simdpp::arch_avx2::expr_empty>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::float32<4>; T = simdpp::arch_avx2::float64<2, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:255:45:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::float32<4>’ with ‘private’ member ‘simdpp::arch_avx2::float32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::float64<2, simdpp::arch_avx2::expr_empty>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:29,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/float32x4.h:32:7: note: ‘class simdpp::arch_avx2::float32<4>’ declared here
 class float32<4, void> : public any_float32<4, float32<4,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::uint16<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::uint16<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:129:36:   required from ‘simdpp::arch_avx2::uint8<16>::uint8(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/bit_or.h:69:42:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:19,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:104:7: note: ‘class simdpp::arch_avx2::uint8<16>’ declared here
 class uint8<16, void> : public any_int8<16, uint8<16,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::uint8<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::uint8<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:129:36:   required from ‘simdpp::arch_avx2::uint16<8>::uint16(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/bit_or.h:69:58:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint16<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint16<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:21,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:104:7: note: ‘class simdpp::arch_avx2::uint16<8>’ declared here
 class uint16<8, void> : public any_int16<8, uint16<8,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::uint32<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::uint32<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::uint32<4>]’
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:129:36:   required from ‘simdpp::arch_avx2::uint8<16>::uint8(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint32<4>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/bit_or.h:101:42:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint32<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:19,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:104:7: note: ‘class simdpp::arch_avx2::uint8<16>’ declared here
 class uint8<16, void> : public any_int8<16, uint8<16,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::uint8<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::uint8<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:129:36:   required from ‘simdpp::arch_avx2::uint32<4>::uint32(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/bit_or.h:101:58:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:104:7: note: ‘class simdpp::arch_avx2::uint32<4>’ declared here
 class uint32<4, void> : public any_int32<4, uint32<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::uint64<2>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::uint64<2>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::uint64<2>]’
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:129:36:   required from ‘simdpp::arch_avx2::uint8<16>::uint8(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint64<2>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/bit_or.h:150:42:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<2>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:19,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:104:7: note: ‘class simdpp::arch_avx2::uint8<16>’ declared here
 class uint8<16, void> : public any_int8<16, uint8<16,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::uint8<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::uint8<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:125:36:   required from ‘simdpp::arch_avx2::uint64<2>::uint64(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/bit_or.h:150:58:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<2>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:26,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:102:7: note: ‘class simdpp::arch_avx2::uint64<2>’ declared here
 class uint64<2, void> : public any_int64<2, uint64<2,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int16<8>; T = simdpp::arch_avx2::uint8<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int16<8>; T = simdpp::arch_avx2::uint8<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int16<8>; T = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:62:35:   required from ‘simdpp::arch_avx2::int16<8>& simdpp::arch_avx2::int16<8>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/shuffle_bytes16.h:45:11:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int16<8>’ with ‘private’ member ‘simdpp::arch_avx2::int16<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:21,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:33:7: note: ‘class simdpp::arch_avx2::int16<8>’ declared here
 class int16<8, void> : public any_int16<8, int16<8,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::int16<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::int16<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::int16<8>]’
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:129:36:   required from ‘simdpp::arch_avx2::uint8<16>::uint8(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::int16<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/shuffle_bytes16.h:51:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<16>::d_’ from an array of ‘const class simdpp::arch_avx2::int16<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:19,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:104:7: note: ‘class simdpp::arch_avx2::uint8<16>’ declared here
 class uint8<16, void> : public any_int8<16, uint8<16,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int16<16>; T = simdpp::arch_avx2::uint8<32>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int16<16>; T = simdpp::arch_avx2::uint8<32>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int16<16>; T = simdpp::arch_avx2::uint8<32>]’
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:56:36:   required from ‘simdpp::arch_avx2::int16<16>& simdpp::arch_avx2::int16<16>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint8<32>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/shuffle_bytes16.h:85:11:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int16<16>’ with ‘private’ member ‘simdpp::arch_avx2::int16<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<32>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:22,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:33:7: note: ‘class simdpp::arch_avx2::int16<16>’ declared here
 class int16<16, void> : public any_int16<16, int16<16,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int16<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int16<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int16<16>]’
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:110:36:   required from ‘simdpp::arch_avx2::uint8<32>::uint8(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int16<16>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/shuffle_bytes16.h:91:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<32>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<32>::d_’ from an array of ‘const class simdpp::arch_avx2::int16<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:20,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:91:7: note: ‘class simdpp::arch_avx2::uint8<32>’ declared here
 class uint8<32, void> : public any_int8<32, uint8<32,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::uint32<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::uint32<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::uint32<8>]’
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:110:36:   required from ‘simdpp::arch_avx2::uint8<32>::uint8(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint32<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/bit_not.h:64:43:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<32>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<32>::d_’ from an array of ‘const class simdpp::arch_avx2::uint32<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:20,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:91:7: note: ‘class simdpp::arch_avx2::uint8<32>’ declared here
 class uint8<32, void> : public any_int8<32, uint8<32,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::uint8<32>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::uint8<32>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::uint8<32>]’
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:110:36:   required from ‘simdpp::arch_avx2::uint32<8>::uint32(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint8<32>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/bit_not.h:64:45:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<32>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:24,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:91:7: note: ‘class simdpp::arch_avx2::uint32<8>’ declared here
 class uint32<8, void> : public any_int32<8, uint32<8,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::uint64<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::uint64<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::uint64<4>]’
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:110:36:   required from ‘simdpp::arch_avx2::uint8<32>::uint8(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint64<4>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/bit_not.h:94:43:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<32>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<32>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:20,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:91:7: note: ‘class simdpp::arch_avx2::uint8<32>’ declared here
 class uint8<32, void> : public any_int8<32, uint8<32,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::uint8<32>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::uint8<32>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::uint8<32>]’
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:110:36:   required from ‘simdpp::arch_avx2::uint64<4>::uint64(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint8<32>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/bit_not.h:94:45:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<4>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<32>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:27,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:91:7: note: ‘class simdpp::arch_avx2::uint64<4>’ declared here
 class uint64<4, void> : public any_int64<4, uint64<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::uint16<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::uint16<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::uint16<16>]’
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:114:36:   required from ‘simdpp::arch_avx2::uint8<32>& simdpp::arch_avx2::uint8<32>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint16<16, simdpp::arch_avx2::expr_bit_and<simdpp::arch_avx2::uint16<16, simdpp::arch_avx2::uint8<32> >, simdpp::arch_avx2::uint16<16, simdpp::arch_avx2::uint16<16> > > >]’
libsimdpp-2.0-rc2/simdpp/detail/insn/unzip_lo.h:56:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<32>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<32>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:20,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:91:7: note: ‘class simdpp::arch_avx2::uint8<32>’ declared here
 class uint8<32, void> : public any_int8<32, uint8<32,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::uint32<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::uint32<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::uint32<4>]’
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:133:36:   required from ‘simdpp::arch_avx2::uint16<8>& simdpp::arch_avx2::uint16<8>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint32<4, simdpp::arch_avx2::expr_bit_and<simdpp::arch_avx2::uint32<4, simdpp::arch_avx2::uint16<8> >, simdpp::arch_avx2::uint32<4, simdpp::arch_avx2::uint32<4> > > >]’
libsimdpp-2.0-rc2/simdpp/detail/insn/unzip_lo.h:80:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint16<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint16<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint32<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:21,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:104:7: note: ‘class simdpp::arch_avx2::uint16<8>’ declared here
 class uint16<8, void> : public any_int16<8, uint16<8,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::uint32<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::uint32<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::uint32<8>]’
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:115:37:   required from ‘simdpp::arch_avx2::uint16<16>& simdpp::arch_avx2::uint16<16>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint32<8, simdpp::arch_avx2::expr_bit_and<simdpp::arch_avx2::uint32<8, simdpp::arch_avx2::uint16<16> >, simdpp::arch_avx2::uint32<8, simdpp::arch_avx2::uint32<8> > > >]’
libsimdpp-2.0-rc2/simdpp/detail/insn/unzip_lo.h:107:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint16<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint16<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint32<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:22,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:92:7: note: ‘class simdpp::arch_avx2::uint16<16>’ declared here
 class uint16<16, void> : public any_int16<16, uint16<16,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::uint16<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::uint16<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:133:36:   required from ‘simdpp::arch_avx2::uint32<4>& simdpp::arch_avx2::uint32<4>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint16<8, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:114:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:104:7: note: ‘class simdpp::arch_avx2::uint32<4>’ declared here
 class uint32<4, void> : public any_int32<4, uint32<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::uint16<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::uint16<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::uint16<16>]’
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:114:36:   required from ‘simdpp::arch_avx2::uint32<8>& simdpp::arch_avx2::uint32<8>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint16<16, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:136:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:24,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:91:7: note: ‘class simdpp::arch_avx2::uint32<8>’ declared here
 class uint32<8, void> : public any_int32<8, uint32<8,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::uint32<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::uint32<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::uint32<4>]’
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:129:36:   required from ‘simdpp::arch_avx2::uint64<2>& simdpp::arch_avx2::uint64<2>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint32<4, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:157:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<2>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::uint32<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:26,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:102:7: note: ‘class simdpp::arch_avx2::uint64<2>’ declared here
 class uint64<2, void> : public any_int64<2, uint64<2,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::uint64<2>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::uint64<2>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::uint64<2>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:133:36:   required from ‘simdpp::arch_avx2::uint32<4>& simdpp::arch_avx2::uint32<4>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint64<2, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:159:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<2>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:104:7: note: ‘class simdpp::arch_avx2::uint32<4>’ declared here
 class uint32<4, void> : public any_int32<4, uint32<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::uint32<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::uint32<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::uint32<8>]’
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:114:36:   required from ‘simdpp::arch_avx2::uint64<4>& simdpp::arch_avx2::uint64<4>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint32<8, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:179:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<4>::d_’ from an array of ‘const class simdpp::arch_avx2::uint32<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:27,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:91:7: note: ‘class simdpp::arch_avx2::uint64<4>’ declared here
 class uint64<4, void> : public any_int64<4, uint64<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::uint64<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::uint64<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::uint64<4>]’
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:114:36:   required from ‘simdpp::arch_avx2::uint32<8>& simdpp::arch_avx2::uint32<8>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint64<4, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:181:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:24,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:91:7: note: ‘class simdpp::arch_avx2::uint32<8>’ declared here
 class uint32<8, void> : public any_int32<8, uint32<8,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::float64<4>; T = simdpp::arch_avx2::float32<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::float64<4>; T = simdpp::arch_avx2::float32<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::float64<4>; T = simdpp::arch_avx2::float32<8>]’
libsimdpp-2.0-rc2/simdpp/types/float64x4.h:55:37:   required from ‘simdpp::arch_avx2::float64<4>& simdpp::arch_avx2::float64<4>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::float32<8, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:275:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::float64<4>’ with ‘private’ member ‘simdpp::arch_avx2::float64<4>::d_’ from an array of ‘const class simdpp::arch_avx2::float32<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:33,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/float64x4.h:33:7: note: ‘class simdpp::arch_avx2::float64<4>’ declared here
 class float64<4, void> : public any_float64<4, float64<4,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::float32<8>; T = simdpp::arch_avx2::float64<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::float32<8>; T = simdpp::arch_avx2::float64<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::float32<8>; T = simdpp::arch_avx2::float64<4>]’
libsimdpp-2.0-rc2/simdpp/types/float32x8.h:53:37:   required from ‘simdpp::arch_avx2::float32<8>& simdpp::arch_avx2::float32<8>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::float64<4, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:277:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::float32<8>’ with ‘private’ member ‘simdpp::arch_avx2::float32<8>::d_’ from an array of ‘const class simdpp::arch_avx2::float64<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:30,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/float32x8.h:32:7: note: ‘class simdpp::arch_avx2::float32<8>’ declared here
 class float32<8, void> : public any_float32<8, float32<8,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::uint8<32>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::uint8<32>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::uint8<32>]’
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:115:37:   required from ‘simdpp::arch_avx2::uint16<16>& simdpp::arch_avx2::uint16<16>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint8<32, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:404:25:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint16<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint16<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<32>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:22,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:92:7: note: ‘class simdpp::arch_avx2::uint16<16>’ declared here
 class uint16<16, void> : public any_int16<16, uint16<16,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::uint64<2>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::uint64<2>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::uint64<2>]’
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:133:36:   required from ‘simdpp::arch_avx2::uint16<8>& simdpp::arch_avx2::uint16<8>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint64<2, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:453:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint16<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint16<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<2>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:21,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:104:7: note: ‘class simdpp::arch_avx2::uint16<8>’ declared here
 class uint16<8, void> : public any_int16<8, uint16<8,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::uint64<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::uint64<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::uint64<4>]’
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:115:37:   required from ‘simdpp::arch_avx2::uint16<16>& simdpp::arch_avx2::uint16<16>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint64<4, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:488:24:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint16<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint16<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:22,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:92:7: note: ‘class simdpp::arch_avx2::uint16<16>’ declared here
 class uint16<16, void> : public any_int16<16, uint16<16,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::int8<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::int8<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::int8<16>]’
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:133:36:   required from ‘simdpp::arch_avx2::uint16<8>& simdpp::arch_avx2::uint16<8>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::int8<16>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:39:15:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint16<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint16<8>::d_’ from an array of ‘const class simdpp::arch_avx2::int8<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:21,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:104:7: note: ‘class simdpp::arch_avx2::uint16<8>’ declared here
 class uint16<8, void> : public any_int16<8, uint16<8,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::int16<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::int16<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint16<8>; T = simdpp::arch_avx2::int16<8>]’
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:133:36:   required from ‘simdpp::arch_avx2::uint16<8>& simdpp::arch_avx2::uint16<8>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::int16<8, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:42:36:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint16<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint16<8>::d_’ from an array of ‘const class simdpp::arch_avx2::int16<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:21,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:104:7: note: ‘class simdpp::arch_avx2::uint16<8>’ declared here
 class uint16<8, void> : public any_int16<8, uint16<8,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int8<16>; T = simdpp::arch_avx2::uint16<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int8<16>; T = simdpp::arch_avx2::uint16<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int8<16>; T = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:58:35:   required from ‘simdpp::arch_avx2::int8<16>::int8(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint16<8, simdpp::arch_avx2::expr_bit_or<simdpp::arch_avx2::uint16<8, simdpp::arch_avx2::uint16<8> >, simdpp::arch_avx2::uint16<8, simdpp::arch_avx2::uint16<8> > > >]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:47:36:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int8<16>’ with ‘private’ member ‘simdpp::arch_avx2::int8<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:19,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:33:7: note: ‘class simdpp::arch_avx2::int8<16>’ declared here
 class int8<16, void> : public any_int8<16, int8<16,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::int8<32>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::int8<32>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::int8<32>]’
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:115:37:   required from ‘simdpp::arch_avx2::uint16<16>& simdpp::arch_avx2::uint16<16>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int8<32>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:61:15:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint16<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint16<16>::d_’ from an array of ‘const class simdpp::arch_avx2::int8<32>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:22,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:92:7: note: ‘class simdpp::arch_avx2::uint16<16>’ declared here
 class uint16<16, void> : public any_int16<16, uint16<16,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::int16<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::int16<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint16<16>; T = simdpp::arch_avx2::int16<16>]’
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:115:37:   required from ‘simdpp::arch_avx2::uint16<16>& simdpp::arch_avx2::uint16<16>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int16<16, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:64:37:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint16<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint16<16>::d_’ from an array of ‘const class simdpp::arch_avx2::int16<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:22,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:92:7: note: ‘class simdpp::arch_avx2::uint16<16>’ declared here
 class uint16<16, void> : public any_int16<16, uint16<16,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int8<32>; T = simdpp::arch_avx2::uint16<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int8<32>; T = simdpp::arch_avx2::uint16<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int8<32>; T = simdpp::arch_avx2::uint16<16>]’
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:51:35:   required from ‘simdpp::arch_avx2::int8<32>::int8(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint16<16, simdpp::arch_avx2::expr_bit_or<simdpp::arch_avx2::uint16<16, simdpp::arch_avx2::uint16<16> >, simdpp::arch_avx2::uint16<16, simdpp::arch_avx2::uint16<16> > > >]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:69:36:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int8<32>’ with ‘private’ member ‘simdpp::arch_avx2::int8<32>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:20,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:32:7: note: ‘class simdpp::arch_avx2::int8<32>’ declared here
 class int8<32, void> : public any_int8<32, int8<32,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::int64<2>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::int64<2>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::int64<2>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:62:35:   required from ‘simdpp::arch_avx2::int32<4>& simdpp::arch_avx2::int32<4>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::int64<2>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:260:13:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int32<4>’ with ‘private’ member ‘simdpp::arch_avx2::int32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::int64<2>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:33:7: note: ‘class simdpp::arch_avx2::int32<4>’ declared here
 class int32<4, void> : public any_int32<4, int32<4,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int64<2>; T = simdpp::arch_avx2::int32<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int64<2>; T = simdpp::arch_avx2::int32<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int64<2>; T = simdpp::arch_avx2::int32<4>]’
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:56:35:   required from ‘simdpp::arch_avx2::int64<2>::int64(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::int32<4>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:265:25:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int64<2>’ with ‘private’ member ‘simdpp::arch_avx2::int64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::int32<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:26,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:33:7: note: ‘class simdpp::arch_avx2::int64<2>’ declared here
 class int64<2, void> : public any_int64<2, int64<2,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::int64<2>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::int64<2>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::int64<2>]’
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:129:36:   required from ‘simdpp::arch_avx2::uint64<2>& simdpp::arch_avx2::uint64<2>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::int64<2>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:270:19:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<2>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::int64<2>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:26,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:102:7: note: ‘class simdpp::arch_avx2::uint64<2>’ declared here
 class uint64<2, void> : public any_int64<2, uint64<2,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::uint64<2>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::uint64<2>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::uint64<2>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:58:35:   required from ‘simdpp::arch_avx2::int32<4>::int32(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint64<2>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:272:34:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int32<4>’ with ‘private’ member ‘simdpp::arch_avx2::int32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<2>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:33:7: note: ‘class simdpp::arch_avx2::int32<4>’ declared here
 class int32<4, void> : public any_int32<4, int32<4,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::int32<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::int32<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::int32<4>]’
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:129:36:   required from ‘simdpp::arch_avx2::uint64<2>& simdpp::arch_avx2::uint64<2>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::int32<4, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:272:42:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<2>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::int32<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:26,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:102:7: note: ‘class simdpp::arch_avx2::uint64<2>’ declared here
 class uint64<2, void> : public any_int64<2, uint64<2,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int32<8>; T = simdpp::arch_avx2::int64<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int32<8>; T = simdpp::arch_avx2::int64<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int32<8>; T = simdpp::arch_avx2::int64<4>]’
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:55:35:   required from ‘simdpp::arch_avx2::int32<8>& simdpp::arch_avx2::int32<8>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int64<4>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:291:13:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int32<8>’ with ‘private’ member ‘simdpp::arch_avx2::int32<8>::d_’ from an array of ‘const class simdpp::arch_avx2::int64<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:24,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:32:7: note: ‘class simdpp::arch_avx2::int32<8>’ declared here
 class int32<8, void> : public any_int32<8, int32<8,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int64<4>; T = simdpp::arch_avx2::int32<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int64<4>; T = simdpp::arch_avx2::int32<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int64<4>; T = simdpp::arch_avx2::int32<8>]’
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:51:35:   required from ‘simdpp::arch_avx2::int64<4>::int64(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int32<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:296:25:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int64<4>’ with ‘private’ member ‘simdpp::arch_avx2::int64<4>::d_’ from an array of ‘const class simdpp::arch_avx2::int32<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:27,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:32:7: note: ‘class simdpp::arch_avx2::int64<4>’ declared here
 class int64<4, void> : public any_int64<4, int64<4,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::int32<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::int32<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::int32<8>]’
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:114:36:   required from ‘simdpp::arch_avx2::uint64<4>& simdpp::arch_avx2::uint64<4>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int32<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:300:19:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<4>::d_’ from an array of ‘const class simdpp::arch_avx2::int32<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:27,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:91:7: note: ‘class simdpp::arch_avx2::uint64<4>’ declared here
 class uint64<4, void> : public any_int64<4, uint64<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int32<8>; T = simdpp::arch_avx2::uint64<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int32<8>; T = simdpp::arch_avx2::uint64<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int32<8>; T = simdpp::arch_avx2::uint64<4>]’
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:55:35:   required from ‘simdpp::arch_avx2::int32<8>& simdpp::arch_avx2::int32<8>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint64<4, simdpp::arch_avx2::expr_bit_and<simdpp::arch_avx2::uint64<4, simdpp::arch_avx2::int32<8> >, simdpp::arch_avx2::uint64<4, simdpp::arch_avx2::uint64<4> > > >]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:305:32:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int32<8>’ with ‘private’ member ‘simdpp::arch_avx2::int32<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:24,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:32:7: note: ‘class simdpp::arch_avx2::int32<8>’ declared here
 class int32<8, void> : public any_int32<8, int32<8,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::int8<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::int8<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<16>; T = simdpp::arch_avx2::int8<16>]’
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:133:36:   required from ‘simdpp::arch_avx2::uint8<16>& simdpp::arch_avx2::uint8<16>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::int8<16, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_avg_trunc.h:64:25:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<16>::d_’ from an array of ‘const class simdpp::arch_avx2::int8<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:19,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:104:7: note: ‘class simdpp::arch_avx2::uint8<16>’ declared here
 class uint8<16, void> : public any_int8<16, uint8<16,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::int16<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::int16<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::int16<8>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:129:36:   required from ‘simdpp::arch_avx2::uint32<4>::uint32(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::int16<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_reduce_mul.h:154:30:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::int16<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:104:7: note: ‘class simdpp::arch_avx2::uint32<4>’ declared here
 class uint32<4, void> : public any_int32<4, uint32<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::int16<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::int16<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::int16<16>]’
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:110:36:   required from ‘simdpp::arch_avx2::uint32<8>::uint32(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int16<16>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_reduce_mul.h:181:30:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<8>::d_’ from an array of ‘const class simdpp::arch_avx2::int16<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:24,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:91:7: note: ‘class simdpp::arch_avx2::uint32<8>’ declared here
 class uint32<8, void> : public any_int32<8, uint32<8,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int8<16>; T = simdpp::arch_avx2::uint8<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int8<16>; T = simdpp::arch_avx2::uint8<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int8<16>; T = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:62:35:   required from ‘simdpp::arch_avx2::int8<16>& simdpp::arch_avx2::int8<16>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/shuffle_zbytes16.h:48:11:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int8<16>’ with ‘private’ member ‘simdpp::arch_avx2::int8<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:19,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x16.h:33:7: note: ‘class simdpp::arch_avx2::int8<16>’ declared here
 class int8<16, void> : public any_int8<16, int8<16,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int8<32>; T = simdpp::arch_avx2::uint8<32>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int8<32>; T = simdpp::arch_avx2::uint8<32>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int8<32>; T = simdpp::arch_avx2::uint8<32>]’
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:55:35:   required from ‘simdpp::arch_avx2::int8<32>& simdpp::arch_avx2::int8<32>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint8<32>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/shuffle_zbytes16.h:87:11:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int8<32>’ with ‘private’ member ‘simdpp::arch_avx2::int8<32>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<32>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:20,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:32:7: note: ‘class simdpp::arch_avx2::int8<32>’ declared here
 class int8<32, void> : public any_int8<32, int8<32,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::float32<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::float32<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::float32<4>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:129:36:   required from ‘simdpp::arch_avx2::uint32<4>::uint32(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::float32<4>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/test_bits.h:64:39:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::float32<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:104:7: note: ‘class simdpp::arch_avx2::uint32<4>’ declared here
 class uint32<4, void> : public any_int32<4, uint32<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::float64<2>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::float64<2>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::float64<2>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:129:36:   required from ‘simdpp::arch_avx2::uint32<4>::uint32(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::float64<2>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/test_bits.h:73:39:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::float64<2>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:104:7: note: ‘class simdpp::arch_avx2::uint32<4>’ declared here
 class uint32<4, void> : public any_int32<4, uint32<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<8>; T = simdpp::arch_avx2::uint32<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<8>; T = simdpp::arch_avx2::uint32<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<8>; T = simdpp::arch_avx2::uint32<16>]’
libsimdpp-2.0-rc2/simdpp/types/int64.h:106:36:   required from ‘simdpp::arch_avx2::uint64<N>& simdpp::arch_avx2::uint64<N>::operator=(const simdpp::arch_avx2::any_vec<(N * 8), V>&) [with V = simdpp::arch_avx2::uint32<16, simdpp::arch_avx2::expr_empty>; unsigned int N = 8]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:590:8:   required from ‘void simdpp::arch_avx2::detail::insn::v_sse_transpose32x4(V&, V&, V&, V&) [with V = simdpp::arch_avx2::uint32<16>; D = simdpp::arch_avx2::uint64<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:533:62:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint32<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:38,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64.h:87:7: note: ‘class simdpp::arch_avx2::uint64<8>’ declared here
 class uint64<N, void> : public any_int64<N, uint64<N,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<16>; T = simdpp::arch_avx2::uint64<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<16>; T = simdpp::arch_avx2::uint64<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<16>; T = simdpp::arch_avx2::uint64<8>]’
libsimdpp-2.0-rc2/simdpp/types/int32.h:105:36:   required from ‘simdpp::arch_avx2::uint32<N>& simdpp::arch_avx2::uint32<N>::operator=(const simdpp::arch_avx2::any_vec<(N * 4), V>&) [with V = simdpp::arch_avx2::uint64<8, simdpp::arch_avx2::expr_empty>; unsigned int N = 16]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:598:8:   required from ‘void simdpp::arch_avx2::detail::insn::v_sse_transpose32x4(V&, V&, V&, V&) [with V = simdpp::arch_avx2::uint32<16>; D = simdpp::arch_avx2::uint64<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:533:62:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<16>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:37,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32.h:86:7: note: ‘class simdpp::arch_avx2::uint32<16>’ declared here
 class uint32<N, void> : public any_int32<N, uint32<N,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::float64<2>; T = simdpp::arch_avx2::float32<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::float64<2>; T = simdpp::arch_avx2::float32<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::float64<2>; T = simdpp::arch_avx2::float32<4>]’
libsimdpp-2.0-rc2/simdpp/types/float64x2.h:58:37:   required from ‘simdpp::arch_avx2::float64<2>& simdpp::arch_avx2::float64<2>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::float32<4, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:590:8:   required from ‘void simdpp::arch_avx2::detail::insn::v_sse_transpose32x4(V&, V&, V&, V&) [with V = simdpp::arch_avx2::float32<4>; D = simdpp::arch_avx2::float64<2>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:549:63:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::float64<2>’ with ‘private’ member ‘simdpp::arch_avx2::float64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::float32<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:32,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/float64x2.h:32:7: note: ‘class simdpp::arch_avx2::float64<2>’ declared here
 class float64<2, void> : public any_float64<2, float64<2,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::float32<4>; T = simdpp::arch_avx2::float64<2>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::float32<4>; T = simdpp::arch_avx2::float64<2>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::float32<4>; T = simdpp::arch_avx2::float64<2>]’
libsimdpp-2.0-rc2/simdpp/types/float32x4.h:59:37:   required from ‘simdpp::arch_avx2::float32<4>& simdpp::arch_avx2::float32<4>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::float64<2, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:598:8:   required from ‘void simdpp::arch_avx2::detail::insn::v_sse_transpose32x4(V&, V&, V&, V&) [with V = simdpp::arch_avx2::float32<4>; D = simdpp::arch_avx2::float64<2>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/transpose.h:549:63:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::float32<4>’ with ‘private’ member ‘simdpp::arch_avx2::float32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::float64<2>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:29,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/float32x4.h:32:7: note: ‘class simdpp::arch_avx2::float32<4>’ declared here
 class float32<4, void> : public any_float32<4, float32<4,void>> {
       ^~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int16<8>; T = simdpp::arch_avx2::uint16<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int16<8>; T = simdpp::arch_avx2::uint16<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int16<8>; T = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:62:35:   required from ‘simdpp::arch_avx2::int16<8>& simdpp::arch_avx2::int16<8>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:55:73:   required from ‘simdpp::arch_avx2::int16<8>::int16(const simdpp::arch_avx2::uint16<8, E>&) [with E = void]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:42:28:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int16<8>’ with ‘private’ member ‘simdpp::arch_avx2::int16<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:21,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x8.h:33:7: note: ‘class simdpp::arch_avx2::int16<8>’ declared here
 class int16<8, void> : public any_int16<8, int16<8,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int16<16>; T = simdpp::arch_avx2::uint16<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int16<16>; T = simdpp::arch_avx2::uint16<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int16<16>; T = simdpp::arch_avx2::uint16<16>]’
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:56:36:   required from ‘simdpp::arch_avx2::int16<16>& simdpp::arch_avx2::int16<16>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint16<16>]’
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:49:75:   required from ‘simdpp::arch_avx2::int16<16>::int16(const simdpp::arch_avx2::uint16<16, E>&) [with E = void]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:64:29:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int16<16>’ with ‘private’ member ‘simdpp::arch_avx2::int16<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:22,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16x16.h:33:7: note: ‘class simdpp::arch_avx2::int16<16>’ declared here
 class int16<16, void> : public any_int16<16, int16<16,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int64<2>; T = simdpp::arch_avx2::uint64<2>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int64<2>; T = simdpp::arch_avx2::uint64<2>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int64<2>; T = simdpp::arch_avx2::uint64<2>]’
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:60:35:   required from ‘simdpp::arch_avx2::int64<2>& simdpp::arch_avx2::int64<2>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint64<2>]’
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:53:73:   required from ‘simdpp::arch_avx2::int64<2>::int64(const simdpp::arch_avx2::uint64<2, E>&) [with E = void]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:277:25:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int64<2>’ with ‘private’ member ‘simdpp::arch_avx2::int64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<2>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:26,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:33:7: note: ‘class simdpp::arch_avx2::int64<2>’ declared here
 class int64<2, void> : public any_int64<2, int64<2,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int64<4>; T = simdpp::arch_avx2::uint64<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int64<4>; T = simdpp::arch_avx2::uint64<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int64<4>; T = simdpp::arch_avx2::uint64<4>]’
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:55:35:   required from ‘simdpp::arch_avx2::int64<4>& simdpp::arch_avx2::int64<4>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint64<4>]’
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:48:73:   required from ‘simdpp::arch_avx2::int64<4>::int64(const simdpp::arch_avx2::uint64<4, E>&) [with E = void]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_shift_r.h:307:25:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int64<4>’ with ‘private’ member ‘simdpp::arch_avx2::int64<4>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:27,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:32:7: note: ‘class simdpp::arch_avx2::int64<4>’ declared here
 class int64<4, void> : public any_int64<4, int64<4,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int8<32>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int8<32>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int8<32>]’
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:114:36:   required from ‘simdpp::arch_avx2::uint8<32>& simdpp::arch_avx2::uint8<32>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int8<32>]’
libsimdpp-2.0-rc2/simdpp/core/bit_xor.h:38:8:   required from ‘typename simdpp::arch_avx2::detail::get_expr2<V1, V2>::empty simdpp::arch_avx2::bit_xor(const simdpp::arch_avx2::any_vec<N, V>&, const simdpp::arch_avx2::any_vec<N, V2>&) [with unsigned int N = 32; V1 = simdpp::arch_avx2::int8<32>; V2 = simdpp::arch_avx2::uint8<32>; typename simdpp::arch_avx2::detail::get_expr2<V1, V2>::empty = simdpp::arch_avx2::uint8<32, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_avg.h:85:25:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<32>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<32>::d_’ from an array of ‘const class simdpp::arch_avx2::int8<32>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:20,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:91:7: note: ‘class simdpp::arch_avx2::uint8<32>’ declared here
 class uint8<32, void> : public any_int8<32, uint8<32,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::int32<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::int32<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<4>; T = simdpp::arch_avx2::int32<4>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:133:36:   required from ‘simdpp::arch_avx2::uint32<4>& simdpp::arch_avx2::uint32<4>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::int32<4, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_avg.h:250:8:   required from ‘V simdpp::arch_avx2::detail::insn::v_emul_avg_i32(const V&, const V&) [with V = simdpp::arch_avx2::int32<4>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_avg.h:199:31:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::int32<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:104:7: note: ‘class simdpp::arch_avx2::uint32<4>’ declared here
 class uint32<4, void> : public any_int32<4, uint32<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::int32<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::int32<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint32<8>; T = simdpp::arch_avx2::int32<8>]’
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:114:36:   required from ‘simdpp::arch_avx2::uint32<8>& simdpp::arch_avx2::uint32<8>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int32<8, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_avg.h:250:8:   required from ‘V simdpp::arch_avx2::detail::insn::v_emul_avg_i32(const V&, const V&) [with V = simdpp::arch_avx2::int32<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_avg.h:211:31:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint32<8>’ with ‘private’ member ‘simdpp::arch_avx2::uint32<8>::d_’ from an array of ‘const class simdpp::arch_avx2::int32<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:24,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:91:7: note: ‘class simdpp::arch_avx2::uint32<8>’ declared here
 class uint32<8, void> : public any_int32<8, uint32<8,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::uint32<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::uint32<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::uint32<4>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:62:35:   required from ‘simdpp::arch_avx2::int32<4>& simdpp::arch_avx2::int32<4>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint32<4>]’
libsimdpp-2.0-rc2/simdpp/core/split.h:96:8:   required from ‘void simdpp::arch_avx2::split(const simdpp::arch_avx2::int32<N>&, simdpp::arch_avx2::int32<(N / 2)>&, simdpp::arch_avx2::int32<(N / 2)>&) [with unsigned int N = 8]’
libsimdpp-2.0-rc2/simdpp/detail/insn/to_int64.h:67:20:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int32<4>’ with ‘private’ member ‘simdpp::arch_avx2::int32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::uint32<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:33:7: note: ‘class simdpp::arch_avx2::int32<4>’ declared here
 class int32<4, void> : public any_int32<4, int32<4,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int32<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int32<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int32<8>]’
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:110:36:   required from ‘simdpp::arch_avx2::uint8<32>::uint8(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int32<8>]’
libsimdpp-2.0-rc2/simdpp/detail/extract128.h:40:82:   required from ‘simdpp::arch_avx2::int32x4 simdpp::arch_avx2::detail::extract128(const int32x8&) [with unsigned int s = 0; simdpp::arch_avx2::int32x4 = simdpp::arch_avx2::int32<4>; simdpp::arch_avx2::int32x8 = simdpp::arch_avx2::int32<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_reduce_add.h:356:49:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<32>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<32>::d_’ from an array of ‘const class simdpp::arch_avx2::int32<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:20,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:91:7: note: ‘class simdpp::arch_avx2::uint8<32>’ declared here
 class uint8<32, void> : public any_int8<32, uint8<32,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::uint8<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::uint8<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int32<4>; T = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:58:35:   required from ‘simdpp::arch_avx2::int32<4>::int32(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/detail/extract128.h:40:58:   required from ‘simdpp::arch_avx2::int32x4 simdpp::arch_avx2::detail::extract128(const int32x8&) [with unsigned int s = 0; simdpp::arch_avx2::int32x4 = simdpp::arch_avx2::int32<4>; simdpp::arch_avx2::int32x8 = simdpp::arch_avx2::int32<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_reduce_add.h:356:49:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int32<4>’ with ‘private’ member ‘simdpp::arch_avx2::int32<4>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:23,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x4.h:33:7: note: ‘class simdpp::arch_avx2::int32<4>’ declared here
 class int32<4, void> : public any_int32<4, int32<4,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int64<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int64<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint8<32>; T = simdpp::arch_avx2::int64<4>]’
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:110:36:   required from ‘simdpp::arch_avx2::uint8<32>::uint8(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int64<4>]’
libsimdpp-2.0-rc2/simdpp/detail/extract128.h:42:82:   required from ‘simdpp::arch_avx2::int64x2 simdpp::arch_avx2::detail::extract128(const int64x4&) [with unsigned int s = 0; simdpp::arch_avx2::int64x2 = simdpp::arch_avx2::int64<2>; simdpp::arch_avx2::int64x4 = simdpp::arch_avx2::int64<4>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_reduce_max.h:478:40:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint8<32>’ with ‘private’ member ‘simdpp::arch_avx2::uint8<32>::d_’ from an array of ‘const class simdpp::arch_avx2::int64<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:20,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int8x32.h:91:7: note: ‘class simdpp::arch_avx2::uint8<32>’ declared here
 class uint8<32, void> : public any_int8<32, uint8<32,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int64<2>; T = simdpp::arch_avx2::uint8<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int64<2>; T = simdpp::arch_avx2::uint8<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int64<2>; T = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:56:35:   required from ‘simdpp::arch_avx2::int64<2>::int64(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint8<16>]’
libsimdpp-2.0-rc2/simdpp/detail/extract128.h:42:58:   required from ‘simdpp::arch_avx2::int64x2 simdpp::arch_avx2::detail::extract128(const int64x4&) [with unsigned int s = 0; simdpp::arch_avx2::int64x2 = simdpp::arch_avx2::int64<2>; simdpp::arch_avx2::int64x4 = simdpp::arch_avx2::int64<4>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/i_reduce_max.h:478:40:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int64<2>’ with ‘private’ member ‘simdpp::arch_avx2::int64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::uint8<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:26,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:33:7: note: ‘class simdpp::arch_avx2::int64<2>’ declared here
 class int64<2, void> : public any_int64<2, int64<2,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int32<16>; T = simdpp::arch_avx2::uint32<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int32<16>; T = simdpp::arch_avx2::uint32<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int32<16>; T = simdpp::arch_avx2::uint32<16>]’
libsimdpp-2.0-rc2/simdpp/types/int32.h:50:35:   required from ‘simdpp::arch_avx2::int32<N>& simdpp::arch_avx2::int32<N>::operator=(const simdpp::arch_avx2::any_vec<(N * 4), V>&) [with V = simdpp::arch_avx2::uint32<16>; unsigned int N = 16]’
libsimdpp-2.0-rc2/simdpp/types/int32.h:43:73:   required from ‘simdpp::arch_avx2::int32<N>::int32(const simdpp::arch_avx2::uint32<N, E>&) [with E = void; unsigned int N = 16]’
libsimdpp-2.0-rc2/simdpp/core/combine.h:73:69:   required from ‘simdpp::arch_avx2::int32<(N * 2)> simdpp::arch_avx2::combine(const simdpp::arch_avx2::int32<N, E>&, const simdpp::arch_avx2::int32<N, E2>&) [with unsigned int N = 8; E1 = void; E2 = void]’
libsimdpp-2.0-rc2/simdpp/detail/insn/to_int32.h:74:26:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int32<16>’ with ‘private’ member ‘simdpp::arch_avx2::int32<16>::d_’ from an array of ‘const class simdpp::arch_avx2::uint32<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:37,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32.h:31:7: note: ‘class simdpp::arch_avx2::int32<16>’ declared here
 class int32<N, void> : public any_int32<N, int32<N,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int32<8>; T = simdpp::arch_avx2::uint32<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int32<8>; T = simdpp::arch_avx2::uint32<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int32<8>; T = simdpp::arch_avx2::uint32<8>]’
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:55:35:   required from ‘simdpp::arch_avx2::int32<8>& simdpp::arch_avx2::int32<8>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint32<8>]’
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:48:73:   required from ‘simdpp::arch_avx2::int32<8>::int32(const simdpp::arch_avx2::uint32<8, E>&) [with E = void]’
libsimdpp-2.0-rc2/simdpp/core/combine.h:73:69:   required from ‘simdpp::arch_avx2::int32<(N * 2)> simdpp::arch_avx2::combine(const simdpp::arch_avx2::int32<N, E>&, const simdpp::arch_avx2::int32<N, E2>&) [with unsigned int N = 4; E1 = void; E2 = void]’
libsimdpp-2.0-rc2/simdpp/detail/insn/to_int32.h:188:26:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int32<8>’ with ‘private’ member ‘simdpp::arch_avx2::int32<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint32<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:24,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int32x8.h:32:7: note: ‘class simdpp::arch_avx2::int32<8>’ declared here
 class int32<8, void> : public any_int32<8, int32<8,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::int64<4>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::int64<4>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::int64<4>]’
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:114:36:   required from ‘simdpp::arch_avx2::uint64<4>& simdpp::arch_avx2::uint64<4>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::int64<4>]’
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:107:73:   required from ‘simdpp::arch_avx2::uint64<4>::uint64(const simdpp::arch_avx2::int64<4, E>&) [with E = void]’
libsimdpp-2.0-rc2/simdpp/core/combine.h:79:49:   required from ‘simdpp::arch_avx2::int64<(N * 2)> simdpp::arch_avx2::combine(const simdpp::arch_avx2::int64<N, E>&, const simdpp::arch_avx2::int64<N, E2>&) [with unsigned int N = 4; E1 = void; E2 = void]’
libsimdpp-2.0-rc2/simdpp/detail/insn/to_int64.h:70:26:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<4>::d_’ from an array of ‘const class simdpp::arch_avx2::int64<4>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:27,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:91:7: note: ‘class simdpp::arch_avx2::uint64<4>’ declared here
 class uint64<4, void> : public any_int64<4, uint64<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int64<8>; T = simdpp::arch_avx2::uint64<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int64<8>; T = simdpp::arch_avx2::uint64<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int64<8>; T = simdpp::arch_avx2::uint64<8>]’
libsimdpp-2.0-rc2/simdpp/types/int64.h:49:35:   required from ‘simdpp::arch_avx2::int64<N>& simdpp::arch_avx2::int64<N>::operator=(const simdpp::arch_avx2::any_vec<(N * 8), V>&) [with V = simdpp::arch_avx2::uint64<8>; unsigned int N = 8]’
libsimdpp-2.0-rc2/simdpp/types/int64.h:42:73:   required from ‘simdpp::arch_avx2::int64<N>::int64(const simdpp::arch_avx2::uint64<N, E>&) [with E = void; unsigned int N = 8]’
libsimdpp-2.0-rc2/simdpp/core/combine.h:80:69:   required from ‘simdpp::arch_avx2::int64<(N * 2)> simdpp::arch_avx2::combine(const simdpp::arch_avx2::int64<N, E>&, const simdpp::arch_avx2::int64<N, E2>&) [with unsigned int N = 4; E1 = void; E2 = void]’
libsimdpp-2.0-rc2/simdpp/detail/insn/to_int64.h:70:26:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int64<8>’ with ‘private’ member ‘simdpp::arch_avx2::int64<8>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:38,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64.h:30:7: note: ‘class simdpp::arch_avx2::int64<8>’ declared here
 class int64<N, void> : public any_int64<N, int64<N,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::int16<32>; T = simdpp::arch_avx2::uint16<32>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::int16<32>; T = simdpp::arch_avx2::uint16<32>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::int16<32>; T = simdpp::arch_avx2::uint16<32>]’
libsimdpp-2.0-rc2/simdpp/types/int16.h:50:35:   required from ‘simdpp::arch_avx2::int16<N>& simdpp::arch_avx2::int16<N>::operator=(const simdpp::arch_avx2::any_vec<(N * 2), V>&) [with V = simdpp::arch_avx2::uint16<32>; unsigned int N = 32]’
libsimdpp-2.0-rc2/simdpp/types/int16.h:43:73:   required from ‘simdpp::arch_avx2::int16<N>::int16(const simdpp::arch_avx2::uint16<N, E>&) [with E = void; unsigned int N = 32]’
libsimdpp-2.0-rc2/simdpp/core/combine.h:66:69:   required from ‘simdpp::arch_avx2::int16<(N * 2)> simdpp::arch_avx2::combine(const simdpp::arch_avx2::int16<N, E>&, const simdpp::arch_avx2::int16<N, E2>&) [with unsigned int N = 16; E1 = void; E2 = void]’
libsimdpp-2.0-rc2/simdpp/detail/insn/to_int16.h:125:26:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::int16<32>’ with ‘private’ member ‘simdpp::arch_avx2::int16<32>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<32>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:36,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int16.h:31:7: note: ‘class simdpp::arch_avx2::int16<32>’ declared here
 class int16<N, void> : public any_int16<N, int16<N,void>> {
       ^~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::uint16<8>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::uint16<8>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<2>; T = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:129:36:   required from ‘simdpp::arch_avx2::uint64<2>& simdpp::arch_avx2::uint64<2>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint16<8, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/mem_unpack.h:471:8:   required from ‘void simdpp::arch_avx2::detail::insn::v_mem_unpack4_impl16_128(T&, T&, T&, T&) [with T = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/mem_unpack.h:585:29:   required from ‘void simdpp::arch_avx2::detail::insn::mem_unpack4(simdpp::arch_avx2::uint16<N>&, simdpp::arch_avx2::uint16<N>&, simdpp::arch_avx2::uint16<N>&, simdpp::arch_avx2::uint16<N>&) [with unsigned int N = 8]’
libsimdpp-2.0-rc2/simdpp/detail/insn/load_packed4.h:238:16:   required from ‘void simdpp::arch_avx2::detail::insn::v128_load_packed4(V&, V&, V&, V&, const char*) [with V = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/load_packed4.h:71:36:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<2>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<8>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:26,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x2.h:102:7: note: ‘class simdpp::arch_avx2::uint64<2>’ declared here
 class uint64<2, void> : public any_int64<2, uint64<2,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::uint16<16>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::uint16<16>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::uint64<4>; T = simdpp::arch_avx2::uint16<16>]’
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:114:36:   required from ‘simdpp::arch_avx2::uint64<4>& simdpp::arch_avx2::uint64<4>::operator=(const simdpp::arch_avx2::any_vec<32, V>&) [with V = simdpp::arch_avx2::uint16<16, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/mem_unpack.h:471:8:   required from ‘void simdpp::arch_avx2::detail::insn::v_mem_unpack4_impl16_128(T&, T&, T&, T&) [with T = simdpp::arch_avx2::uint16<16>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/mem_unpack.h:585:29:   required from ‘void simdpp::arch_avx2::detail::insn::mem_unpack4(simdpp::arch_avx2::uint16<N>&, simdpp::arch_avx2::uint16<N>&, simdpp::arch_avx2::uint16<N>&, simdpp::arch_avx2::uint16<N>&) [with unsigned int N = 16]’
libsimdpp-2.0-rc2/simdpp/detail/insn/load_packed4.h:249:16:   required from ‘void simdpp::arch_avx2::detail::insn::v256_load_packed4(V&, V&, V&, V&, const char*) [with V = simdpp::arch_avx2::uint16<16>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/load_packed4.h:85:36:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::uint64<4>’ with ‘private’ member ‘simdpp::arch_avx2::uint64<4>::d_’ from an array of ‘const class simdpp::arch_avx2::uint16<16>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:27,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/int64x4.h:91:7: note: ‘class simdpp::arch_avx2::uint64<4>’ declared here
 class uint64<4, void> : public any_int64<4, uint64<4,void>> {
       ^~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/simd.h:132,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl: In instantiation of ‘R simdpp::arch_avx2::detail::cast_memcpy(const T&) [with R = simdpp::arch_avx2::float64<2>; T = simdpp::arch_avx2::uint64<2>]’:
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:120:30:   required from ‘static R simdpp::arch_avx2::detail::cast_wrapper<false, false, MaskCastOverride>::run(const T&) [with R = simdpp::arch_avx2::float64<2>; T = simdpp::arch_avx2::uint64<2>; unsigned int MaskCastOverride = 0]’
libsimdpp-2.0-rc2/simdpp/core/cast.h:63:89:   required from ‘R simdpp::arch_avx2::bit_cast(const T&) [with R = simdpp::arch_avx2::float64<2>; T = simdpp::arch_avx2::uint64<2>]’
libsimdpp-2.0-rc2/simdpp/types/float64x2.h:58:37:   required from ‘simdpp::arch_avx2::float64<2>& simdpp::arch_avx2::float64<2>::operator=(const simdpp::arch_avx2::any_vec<16, V>&) [with V = simdpp::arch_avx2::uint64<2>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/shuffle2x2.h:342:31:   required from ‘simdpp::arch_avx2::uint64<2> simdpp::arch_avx2::detail::insn::i_shuffle2x2(const simdpp::arch_avx2::uint64<2>&, const simdpp::arch_avx2::uint64<2>&) [with unsigned int s0 = 1; unsigned int s1 = 2]’
libsimdpp-2.0-rc2/simdpp/core/shuffle1.h:58:47:   required from ‘typename simdpp::arch_avx2::detail::get_expr2_nomask<V1, V2>::empty simdpp::arch_avx2::shuffle1(const simdpp::arch_avx2::any_vec64<N, V1>&, const simdpp::arch_avx2::any_vec64<N, V2>&) [with unsigned int s0 = 1; unsigned int s1 = 0; unsigned int N = 2; V1 = simdpp::arch_avx2::uint64<2>; V2 = simdpp::arch_avx2::uint64<2>; typename simdpp::arch_avx2::detail::get_expr2_nomask<V1, V2>::empty = simdpp::arch_avx2::uint64<2, simdpp::arch_avx2::expr_empty>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/mem_unpack.h:216:23:   required from ‘void simdpp::arch_avx2::detail::insn::v_mem_unpack3_impl16_128(T&, T&, T&) [with T = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/mem_unpack.h:367:29:   required from ‘void simdpp::arch_avx2::detail::insn::mem_unpack3(simdpp::arch_avx2::uint16<N>&, simdpp::arch_avx2::uint16<N>&, simdpp::arch_avx2::uint16<N>&) [with unsigned int N = 8]’
libsimdpp-2.0-rc2/simdpp/detail/insn/load_packed3.h:239:16:   required from ‘void simdpp::arch_avx2::detail::insn::v128_load_packed3(V&, V&, V&, const char*) [with V = simdpp::arch_avx2::uint16<8>]’
libsimdpp-2.0-rc2/simdpp/detail/insn/load_packed3.h:69:33:   required from here
libsimdpp-2.0-rc2/simdpp/detail/cast.inl:40:13: error: ‘void* memcpy(void*, const void*, size_t)’ copying an object of type ‘class simdpp::arch_avx2::float64<2>’ with ‘private’ member ‘simdpp::arch_avx2::float64<2>::d_’ from an array of ‘const class simdpp::arch_avx2::uint64<2>’; use assignment or copy-initialization instead [-Werror=class-memaccess]
     ::memcpy(&r, &t, sizeof(R));
     ~~~~~~~~^~~~~~~~~~~~~~~~~~~
In file included from libsimdpp-2.0-rc2/simdpp/types.h:32,
                 from libsimdpp-2.0-rc2/simdpp/core/align.h:15,
                 from libsimdpp-2.0-rc2/simdpp/simd.h:22,
                 from ibs.h:17,
                 from ibs.cpp:5:
libsimdpp-2.0-rc2/simdpp/types/float64x2.h:32:7: note: ‘class simdpp::arch_avx2::float64<2>’ declared here
 class float64<2, void> : public any_float64<2, float64<2,void>> {
       ^~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
<builtin>: recipe for target 'ibs.o' failed
make: *** [ibs.o] Error 1
@chrisvittal

This comment has been minimized.

Copy link
Collaborator

chrisvittal commented Jul 19, 2018

I have a branch where I've upgraded the dependency to libsimdpp-2.1 and resolved issues around depreciation warnings, this does solve the issue. We would need to discuss if we want to upgrade the dependency, and benchmark against the new version to see if it causes any performance regression.

Branch is here

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