Skip to content

Compile error with fat runtime on gcc 13.2 #214

@todd-richmond

Description

@todd-richmond

Just enabled fat runtime and now seeing a compile error that didn't occur when just AVX cmake options were enabled. We have custom compile flags, but these ones were ok with stock Hyperscan and it's default fat build

[ 74%] Building CXX object CMakeFiles/hs_exec_shared_avx512.dir/src/hwlm/noodle_engine.cpp.o
/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/cmake/build_wrapper.sh avx512 /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/cmake/keep.syms.in /tools/arch/Linux_3.10.0-x86_64/gcc-13.2.0-pps-8.21.0/bin/g++ -DNDEBUG -I/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/obj.Linux_3.10.0-x86_64 -I/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11 -I/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src -isystem /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/include -isystem /tools/arch/Linux_3.10.0-x86_64/gcc-13.2.0-pps-8.21.0/boost-1_82_0/include -fPIC -O3 -pipe -ffunction-sections -fdata-sections -march=nehalem -mtune=broadwell -DNDEBUG -fvisibility-inlines-hidden -Wno-shadow -Wno-unused-local-typedefs  -I/tools/arch/Linux_3.10.0-x86_64/gcc-13.2.0-pps-8.21.0/include -msse4.2 -O3 -std=c++17 -Wall -Wextra -Wshadow -Wswitch -Wreturn-type -Wcast-qual -Wno-deprecated -Wnon-virtual-dtor -fno-strict-aliasing -fno-new-ttp-matching -DNDEBUG -Wno-maybe-uninitialized -Wno-abi -fno-omit-frame-pointer -fvisibility=hidden -Wno-unused-const-variable -Wno-unused-but-set-variable -Wno-ignored-attributes -Wno-redundant-move -Wmissing-declarations -Wno-stringop-overflow  -DNDEBUG -fPIC -fvisibility-inlines-hidden -march=skylake-avx512 -MD -MT CMakeFiles/hs_exec_shared_avx512.dir/src/hwlm/noodle_engine.cpp.o -MF CMakeFiles/hs_exec_shared_avx512.dir/src/hwlm/noodle_engine.cpp.o.d -o CMakeFiles/hs_exec_shared_avx512.dir/src/hwlm/noodle_engine.cpp.o -c /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/hwlm/noodle_engine.cpp
[ 74%] Building CXX object CMakeFiles/hs_exec_shared_avx512.dir/src/hwlm/noodle_engine.cpp.o
In file included from /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/util/supervector/supervector.hpp:386,
                 from /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/hwlm/noodle_engine_simd.hpp:32,
                 from /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/hwlm/noodle_engine.cpp:102:
/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/util/supervector/arch/x86/impl.cpp: In constructor ‘SuperVector<SIZE>::SuperVector(T) [with T = m256; short unsigned int SIZE = 64]’:
/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/util/supervector/arch/x86/impl.cpp:1232:40: error: cannot convert ‘const m256’ to ‘__m256i’
 1232 |     u.v512[0] = _mm512_broadcast_i64x4(v);
      |                                        ^
      |                                        |
      |                                        const m256
In file included from /tools/arch/Linux_3.10.0-x86_64/gcc-13.2.0-pps-8.21.0/gcc-13.2.0/lib64/gcc/x86_64-pc-linux-gnu/13.2.0/include/immintrin.h:53,
                 from /tools/arch/Linux_3.10.0-x86_64/gcc-13.2.0-pps-8.21.0/gcc-13.2.0/lib64/gcc/x86_64-pc-linux-gnu/13.2.0/include/x86intrin.h:32,
                 from /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/util/intrinsics.h:67,
                 from /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/util/simd_types.h:34,
                 from /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/ue2common.h:68,
                 from /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/hwlm/hwlm.h:36,
                 from /var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/hwlm/noodle_engine.cpp:34:
/tools/arch/Linux_3.10.0-x86_64/gcc-13.2.0-pps-8.21.0/gcc-13.2.0/lib64/gcc/x86_64-pc-linux-gnu/13.2.0/include/avx512fintrin.h:4346:33: note:   initializing argument 1 of ‘__m512i _mm512_broadcast_i64x4(__m256i)’
 4346 | _mm512_broadcast_i64x4 (__m256i __A)
      |                         ~~~~~~~~^~~
/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/util/supervector/arch/x86/impl.cpp: At global scope:
/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/util/supervector/arch/x86/impl.cpp:1477:63: error: no member function ‘vshl_256_imm’ declared in ‘SuperVector<64>’
 1477 | really_inline SuperVector<64> SuperVector<64>::vshl_256_imm() const
      |                                                               ^~~~~
/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/util/supervector/arch/x86/impl.cpp:1533:63: error: no member function ‘vshr_256_imm’ declared in ‘SuperVector<64>’
 1533 | really_inline SuperVector<64> SuperVector<64>::vshr_256_imm() const
      |                                                               ^~~~~
/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/util/supervector/arch/x86/impl.cpp:1612:74: error: no member function ‘vshl_256’ declared in ‘SuperVector<64>’
 1612 | nline SuperVector<64> SuperVector<64>::vshl_256(uint8_t const N) const
      |                                                                  ^~~~~

/var/tmp/gcc-13.2.0-pps-8.21.0/vectorscan-5.4.11/src/util/supervector/arch/x86/impl.cpp:1679:74: error: no member function ‘vshr_256’ declared in ‘SuperVector<64>’
 1679 | nline SuperVector<64> SuperVector<64>::vshr_256(uint8_t const N) const
      |                                                                  ^~~~~

make[2]: *** [CMakeFiles/hs_exec_shared_avx512.dir/build.make:160: CMakeFiles/h

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions