Skip to content

Commit

Permalink
core(SIMD): suppress coverity UNINIT_CTOR on SIMD vectors
Browse files Browse the repository at this point in the history
  • Loading branch information
alalek committed Apr 24, 2020
1 parent dcf7eb9 commit cd7db16
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
11 changes: 11 additions & 0 deletions modules/core/include/opencv2/core/hal/intrin_avx.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ struct v_uint8x32
(char)v22, (char)v23, (char)v24, (char)v25, (char)v26, (char)v27,
(char)v28, (char)v29, (char)v30, (char)v31);
}
/* coverity[uninit_ctor]: suppress warning */
v_uint8x32() {}

uchar get0() const { return (uchar)_v_cvtsi256_si32(val); }
Expand All @@ -184,6 +185,7 @@ struct v_int8x32
v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20,
v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31);
}
/* coverity[uninit_ctor]: suppress warning */
v_int8x32() {}

schar get0() const { return (schar)_v_cvtsi256_si32(val); }
Expand All @@ -205,6 +207,7 @@ struct v_uint16x16
(short)v4, (short)v5, (short)v6, (short)v7, (short)v8, (short)v9,
(short)v10, (short)v11, (short)v12, (short)v13, (short)v14, (short)v15);
}
/* coverity[uninit_ctor]: suppress warning */
v_uint16x16() {}

ushort get0() const { return (ushort)_v_cvtsi256_si32(val); }
Expand All @@ -225,6 +228,7 @@ struct v_int16x16
val = _mm256_setr_epi16(v0, v1, v2, v3, v4, v5, v6, v7,
v8, v9, v10, v11, v12, v13, v14, v15);
}
/* coverity[uninit_ctor]: suppress warning */
v_int16x16() {}

short get0() const { return (short)_v_cvtsi256_si32(val); }
Expand All @@ -243,6 +247,7 @@ struct v_uint32x8
val = _mm256_setr_epi32((unsigned)v0, (unsigned)v1, (unsigned)v2,
(unsigned)v3, (unsigned)v4, (unsigned)v5, (unsigned)v6, (unsigned)v7);
}
/* coverity[uninit_ctor]: suppress warning */
v_uint32x8() {}

unsigned get0() const { return (unsigned)_v_cvtsi256_si32(val); }
Expand All @@ -260,6 +265,7 @@ struct v_int32x8
{
val = _mm256_setr_epi32(v0, v1, v2, v3, v4, v5, v6, v7);
}
/* coverity[uninit_ctor]: suppress warning */
v_int32x8() {}

int get0() const { return _v_cvtsi256_si32(val); }
Expand All @@ -277,6 +283,7 @@ struct v_float32x8
{
val = _mm256_setr_ps(v0, v1, v2, v3, v4, v5, v6, v7);
}
/* coverity[uninit_ctor]: suppress warning */
v_float32x8() {}

float get0() const { return _mm_cvtss_f32(_mm256_castps256_ps128(val)); }
Expand All @@ -291,7 +298,9 @@ struct v_uint64x4
explicit v_uint64x4(__m256i v) : val(v) {}
v_uint64x4(uint64 v0, uint64 v1, uint64 v2, uint64 v3)
{ val = _mm256_setr_epi64x((int64)v0, (int64)v1, (int64)v2, (int64)v3); }
/* coverity[uninit_ctor]: suppress warning */
v_uint64x4() {}

uint64 get0() const
{
#if defined __x86_64__ || defined _M_X64
Expand All @@ -313,6 +322,7 @@ struct v_int64x4
explicit v_int64x4(__m256i v) : val(v) {}
v_int64x4(int64 v0, int64 v1, int64 v2, int64 v3)
{ val = _mm256_setr_epi64x(v0, v1, v2, v3); }
/* coverity[uninit_ctor]: suppress warning */
v_int64x4() {}

int64 get0() const
Expand All @@ -336,6 +346,7 @@ struct v_float64x4
explicit v_float64x4(__m256d v) : val(v) {}
v_float64x4(double v0, double v1, double v2, double v3)
{ val = _mm256_setr_pd(v0, v1, v2, v3); }
/* coverity[uninit_ctor]: suppress warning */
v_float64x4() {}

double get0() const { return _mm_cvtsd_f64(_mm256_castpd256_pd128(val)); }
Expand Down
10 changes: 10 additions & 0 deletions modules/core/include/opencv2/core/hal/intrin_sse.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ struct v_uint8x16
typedef __m128i vector_type;
enum { nlanes = 16 };

/* coverity[uninit_ctor]: suppress warning */
v_uint8x16() {}
explicit v_uint8x16(__m128i v) : val(v) {}
v_uint8x16(uchar v0, uchar v1, uchar v2, uchar v3, uchar v4, uchar v5, uchar v6, uchar v7,
Expand All @@ -100,6 +101,7 @@ struct v_int8x16
typedef __m128i vector_type;
enum { nlanes = 16 };

/* coverity[uninit_ctor]: suppress warning */
v_int8x16() {}
explicit v_int8x16(__m128i v) : val(v) {}
v_int8x16(schar v0, schar v1, schar v2, schar v3, schar v4, schar v5, schar v6, schar v7,
Expand All @@ -125,6 +127,7 @@ struct v_uint16x8
typedef __m128i vector_type;
enum { nlanes = 8 };

/* coverity[uninit_ctor]: suppress warning */
v_uint16x8() {}
explicit v_uint16x8(__m128i v) : val(v) {}
v_uint16x8(ushort v0, ushort v1, ushort v2, ushort v3, ushort v4, ushort v5, ushort v6, ushort v7)
Expand All @@ -147,6 +150,7 @@ struct v_int16x8
typedef __m128i vector_type;
enum { nlanes = 8 };

/* coverity[uninit_ctor]: suppress warning */
v_int16x8() {}
explicit v_int16x8(__m128i v) : val(v) {}
v_int16x8(short v0, short v1, short v2, short v3, short v4, short v5, short v6, short v7)
Expand All @@ -169,6 +173,7 @@ struct v_uint32x4
typedef __m128i vector_type;
enum { nlanes = 4 };

/* coverity[uninit_ctor]: suppress warning */
v_uint32x4() {}
explicit v_uint32x4(__m128i v) : val(v) {}
v_uint32x4(unsigned v0, unsigned v1, unsigned v2, unsigned v3)
Expand All @@ -190,6 +195,7 @@ struct v_int32x4
typedef __m128i vector_type;
enum { nlanes = 4 };

/* coverity[uninit_ctor]: suppress warning */
v_int32x4() {}
explicit v_int32x4(__m128i v) : val(v) {}
v_int32x4(int v0, int v1, int v2, int v3)
Expand All @@ -211,6 +217,7 @@ struct v_float32x4
typedef __m128 vector_type;
enum { nlanes = 4 };

/* coverity[uninit_ctor]: suppress warning */
v_float32x4() {}
explicit v_float32x4(__m128 v) : val(v) {}
v_float32x4(float v0, float v1, float v2, float v3)
Expand All @@ -232,6 +239,7 @@ struct v_uint64x2
typedef __m128i vector_type;
enum { nlanes = 2 };

/* coverity[uninit_ctor]: suppress warning */
v_uint64x2() {}
explicit v_uint64x2(__m128i v) : val(v) {}
v_uint64x2(uint64 v0, uint64 v1)
Expand Down Expand Up @@ -259,6 +267,7 @@ struct v_int64x2
typedef __m128i vector_type;
enum { nlanes = 2 };

/* coverity[uninit_ctor]: suppress warning */
v_int64x2() {}
explicit v_int64x2(__m128i v) : val(v) {}
v_int64x2(int64 v0, int64 v1)
Expand Down Expand Up @@ -286,6 +295,7 @@ struct v_float64x2
typedef __m128d vector_type;
enum { nlanes = 2 };

/* coverity[uninit_ctor]: suppress warning */
v_float64x2() {}
explicit v_float64x2(__m128d v) : val(v) {}
v_float64x2(double v0, double v1)
Expand Down

0 comments on commit cd7db16

Please sign in to comment.