From 85b703981dec651c9ae0e6aa494fcfa2fb8ba34b Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Thu, 11 Sep 2014 15:45:28 +0400 Subject: [PATCH] added several helper functions --- examples/intrinsics/knc.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/examples/intrinsics/knc.h b/examples/intrinsics/knc.h index eeb9947e..adf5fad3 100644 --- a/examples/intrinsics/knc.h +++ b/examples/intrinsics/knc.h @@ -257,6 +257,28 @@ inline std::ostream &operator<<(std::ostream &out, const __m512 &v) return out; } +inline std::ostream &operator<<(std::ostream &out, const __vec16_i8 &v) +{ + out << "["; + for (int i=0;i<16;i++) + out << (i?",":"") << std::dec << std::setw(8) << (int)((unsigned char*)&v)[i] << std::dec; + // out << (i?",":"") << std::hex << std::setw(8) << ((int*)&v)[i] << std::dec; + + out << "]" << std::flush; + return out; +} + +inline std::ostream &operator<<(std::ostream &out, const __vec16_i64 &v) +{ + out << "["; + uint32_t *ptr = (uint32_t*)&v; + for (int i=0;i<16;i++) { +uint64_t val = (uint64_t(ptr[i])<<32)+ptr[i+16]; + out << (i?",":"") << ((int*)val); +} + out << "]" << std::flush; + return out; +} /////////////////////////////////////////////////////////////////////////// // macros...