We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
In MIPP\tests\src\bitwise_operations\xorb.cpp, I was trying to test this function,
template <typename T> void test_msk_xorb() { constexpr int N = mipp::N<T>(); bool inputs1[N], inputs2[N]; std::mt19937 g; std::uniform_int_distribution<uint16_t> dis(0, 1); for (auto t = 0; t < 100; t++) { for (auto i = 0; i < N; i++) { inputs1[i] = dis(g) ? true : false; inputs2[i] = dis(g) ? true : false; } std::shuffle(inputs1, inputs1 + mipp::N<T>(), g); std::shuffle(inputs2, inputs2 + mipp::N<T>(), g); mipp::msk m1 = mipp::set<N>(inputs1); mipp::msk m2 = mipp::set<N>(inputs2); mipp::msk m3 = mipp::xorb<N>(m1, m2); mipp::reg r = mipp::toreg<N>(m3); for (auto i = 0; i < N; i++) { bool res = inputs1[i] ^ inputs2[i]; if (res) REQUIRE(mipp::get<T>(r, i) != (T)0); else REQUIRE(mipp::get<T>(r, i) == (T)res); } } }
So I add a few lines into the test line,
TEST_CASE("Binary xor - mipp::Msk", "[mipp::xorb]") { #if defined(MIPP_64BIT) SECTION("datatype = int64_t") { test_Msk_xorb<int64_t>(); } #endif SECTION("datatype = int32_t") { test_Msk_xorb<int32_t>(); } #if defined(MIPP_BW) SECTION("datatype = int16_t") { test_Msk_xorb<int16_t>(); } SECTION("datatype = int8_t") { test_Msk_xorb<int8_t>(); } #endif #if defined(MIPP_64BIT) SECTION("datatype = int64_t") { test_msk_xorb<int64_t>(); } #endif SECTION("datatype = int32_t") { test_msk_xorb<int32_t>(); } #if defined(MIPP_BW) SECTION("datatype = int16_t") { test_msk_xorb<int16_t>(); } SECTION("datatype = int8_t") { test_msk_xorb<int8_t>(); } #endif }
However I got the following error info at runtime,
MIPP tests ---------- Instr. type: NO Instr. full type: NO_INTRINSICS Instr. version: 1 Instr. size: 0 bits Instr. lanes: 1 64-bit support: yes Byte/word support: yes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ run_tests.exe is a Catch v2.2.2 host application. Run with -? for options ------------------------------------------------------------------------------- Binary xor - mipp::Msk datatype = int64_t ------------------------------------------------------------------------------- E:\vLIBS\MIPP\tests\src\bitwise_operations\xorb.cpp(174) ............................................................................... E:\vLIBS\MIPP\tests\src\bitwise_operations\xorb.cpp(174): FAILED: due to unexpected exception with message: mipp::set<1> (NO_INTRINSICS) is undefined!, try to add -mfpu=neon-vfpv4, - msse4.2, -mavx, -march=native... at the compile time. ------------------------------------------------------------------------------- Binary xor - mipp::Msk datatype = int32_t ------------------------------------------------------------------------------- E:\vLIBS\MIPP\tests\src\bitwise_operations\xorb.cpp(176) ............................................................................... E:\vLIBS\MIPP\tests\src\bitwise_operations\xorb.cpp(176): FAILED: due to unexpected exception with message: mipp::set<1> (NO_INTRINSICS) is undefined!, try to add -mfpu=neon-vfpv4, - msse4.2, -mavx, -march=native... at the compile time. ------------------------------------------------------------------------------- Binary xor - mipp::Msk datatype = int16_t ------------------------------------------------------------------------------- E:\vLIBS\MIPP\tests\src\bitwise_operations\xorb.cpp(178) ............................................................................... E:\vLIBS\MIPP\tests\src\bitwise_operations\xorb.cpp(178): FAILED: due to unexpected exception with message: mipp::set<1> (NO_INTRINSICS) is undefined!, try to add -mfpu=neon-vfpv4, - msse4.2, -mavx, -march=native... at the compile time. ------------------------------------------------------------------------------- Binary xor - mipp::Msk datatype = int8_t ------------------------------------------------------------------------------- E:\vLIBS\MIPP\tests\src\bitwise_operations\xorb.cpp(179) ............................................................................... E:\vLIBS\MIPP\tests\src\bitwise_operations\xorb.cpp(179): FAILED: due to unexpected exception with message: mipp::set<1> (NO_INTRINSICS) is undefined!, try to add -mfpu=neon-vfpv4, - msse4.2, -mavx, -march=native... at the compile time. =============================================================================== test cases: 123 | 122 passed | 1 failed assertions: 10353 | 10349 passed | 4 failed
It seems mipp::set<1> is not defined, but in mipp.h I can clearly see that the set function is defined as,
template <typename T> inline reg set (const T[nElReg<T>()]) { errorMessage<T>("set"); exit(-1); } #ifdef _MSC_VER template <int N> inline msk set (const bool[]) { errorMessage<N>("set"); exit(-1); } #else template <int N> inline msk set (const bool[N]) { errorMessage<N>("set"); exit(-1); } #endif
I add the command "-mfpu=neon-vfpv4" to msvc2019 compiler, it seems doesn't help at all. Could anybody give some explanation about this?
The text was updated successfully, but these errors were encountered:
No branches or pull requests
In MIPP\tests\src\bitwise_operations\xorb.cpp, I was trying to test this function,
So I add a few lines into the test line,
However I got the following error info at runtime,
It seems mipp::set<1> is not defined, but in mipp.h I can clearly see that the set function is defined as,
I add the command "-mfpu=neon-vfpv4" to msvc2019 compiler, it seems doesn't help at all.
Could anybody give some explanation about this?
The text was updated successfully, but these errors were encountered: