microsoft / microsoft/onnxruntime

[Build] Unable to compile on Fedora 37 with gcc 12

Open
#14,923 7 comments 0 reactions 1 assignee Claimed by @yufenglee View on GitHub
quantization
Dominant language
C++
Stars
21.9k
Forks
4.2k
Avg merge
4d 11h
Merged PRs (30d)
184

Description

### Describe the issue

Unable to build on Fedora 37 with gcc version 12 :

```
[ 35%] Building CXX object _deps/onnx-build/CMakeFiles/onnx_proto.dir/onnx/onnx-data.pb.cc.o
In file included from /usr/lib/gcc/x86_64-redhat-linux/12/include/immintrin.h:49,
from /home/src/onnxruntime/onnxruntime/core/mlas/lib/mlasi.h:44,
from /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:21:
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:86:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:87:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:88:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:89:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:91:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:92:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:93:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:94:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:96:49:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:97:49:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:98:49:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:99:49:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:119:36:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:120:36:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:122:48:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:136:36:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:137:36:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:139:48:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = unsigned char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:86:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:87:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:88:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:89:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:91:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:92:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:93:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:94:37:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:96:49:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:97:49:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:98:49:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:99:49:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:119:36:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:120:36:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:122:48:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
In function ‘__m512 _mm512_max_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:136:36:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13033:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13033 | return (__m512) __builtin_ia32_maxps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13034 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13035 | (__v16sf)
| ~~~~~~~~~
13036 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13037 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13038 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512 _mm512_min_ps(__m512, __m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:137:36:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:13149:10: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
13149 | return (__m512) __builtin_ia32_minps512_mask ((__v16sf) __A,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13150 | (__v16sf) __B,
| ~~~~~~~~~~~~~~
13151 | (__v16sf)
| ~~~~~~~~~
13152 | _mm512_undefined_ps (),
| ~~~~~~~~~~~~~~~~~~~~~~~
13153 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
13154 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:188:10: note: ‘__Y’ was declared here
188 | __m512 __Y = __Y;
| ^~~
In function ‘__m512i _mm512_cvtps_epi32(__m512)’,
inlined from ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’ at /home/src/onnxruntime/onnxruntime/core/mlas/lib/intrinsics/avx512/quantize_avx512f.cpp:139:48:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:14044:52: error: ‘__Y’ may be used uninitialized [-Werror=maybe-uninitialized]
14044 | return (__m512i) __builtin_ia32_cvtps2dq512_mask ((__v16sf) __A,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
14045 | (__v16si)
| ~~~~~~~~~
14046 | _mm512_undefined_epi32 (),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
14047 | (__mmask16) -1,
| ~~~~~~~~~~~~~~~
14048 | _MM_FROUND_CUR_DIRECTION);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h: In function ‘void MlasQuantizeLinearAvx512F(const float*, OutputType*, size_t, float, OutputType) [with OutputType = signed char]’:
/usr/lib/gcc/x86_64-redhat-linux/12/include/avx512fintrin.h:206:11: note: ‘__Y’ was declared here
206 | __m512i __Y = __Y;
| ^~~
cc1plus: all warnings being treated as errors
```

### Urgency

_No response_

### Target platform

Fedora 37

### Build script

`cmake -Donnxruntime_BUILD_SHARED_LIB=ON -DBUILD_TESTING=OFF /home/src/onnxruntime/cmake && make -j12 && make install`

### Error / output

see above

### Visual Studio Version

_No response_

### GCC / Compiler Version

12

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.