summaryrefslogtreecommitdiff
path: root/inference-engine/src/inference_engine/precision_utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'inference-engine/src/inference_engine/precision_utils.cpp')
-rw-r--r--inference-engine/src/inference_engine/precision_utils.cpp40
1 files changed, 0 insertions, 40 deletions
diff --git a/inference-engine/src/inference_engine/precision_utils.cpp b/inference-engine/src/inference_engine/precision_utils.cpp
index f409a8d0a..7dc58bcfe 100644
--- a/inference-engine/src/inference_engine/precision_utils.cpp
+++ b/inference-engine/src/inference_engine/precision_utils.cpp
@@ -7,8 +7,6 @@
#include <stdint.h>
#include <details/ie_exception.hpp>
#include <ie_blob.h>
-#include <emmintrin.h>
-#include <nmmintrin.h>
#include "inference_engine.hpp"
using namespace InferenceEngine;
@@ -145,41 +143,3 @@ ie_fp16 PrecisionUtils::f32tof16(float x) {
return v.u | s;
}
-
-namespace InferenceEngine {
- template<>
- void copyToFloat<uint8_t>(float *dst, const InferenceEngine::Blob *src) {
- if (!dst) {
- return;
- }
- const InferenceEngine::TBlob<uint8_t> *t_blob = dynamic_cast<const InferenceEngine::TBlob<uint8_t> *>(src);
- if (t_blob == nullptr) {
- THROW_IE_EXCEPTION << "input type is " << src->precision() << " but input is not " << typeid(uint8_t).name();
- }
-
- const uint8_t *srcPtr = t_blob->readOnly();
- if (srcPtr == nullptr) {
- THROW_IE_EXCEPTION << "Input data was not allocated.";
- }
- size_t multiple_of = 0;
- #if defined(__SSE4_2__)
- const bool is_aligned = (size_t(dst)&0xf) == 0;
- multiple_of = t_blob->size() - t_blob->size()%4;
- for (size_t i = 0; i < multiple_of; i+=4) {
- // Load four uchar elements to lower part of the __m128i
- const __m128i four_elements_uchar = _mm_castps_si128(_mm_load_ss(reinterpret_cast<const float*>(srcPtr + i)));
- // Convert four uchar elements to int
- const __m128i four_elements_int = _mm_cvtepu8_epi32(four_elements_uchar);
- // Convert int to float and store the result
- const __m128 four_elements_float = _mm_cvtepi32_ps(four_elements_int);
- if (is_aligned)
- _mm_stream_ps(dst+i, four_elements_float);
- else
- _mm_storeu_ps(dst+i, four_elements_float);
- }
- #endif
- for (size_t i = multiple_of; i < t_blob->size(); i++) {
- dst[i] = srcPtr[i];
- }
- }
-} // namespace InferenceEngine \ No newline at end of file