- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Issue Description: There is a bug in Intel Software Development Emulator (SDE) 9.27 and later where the AVX512BW VPMADDWD zmm, zmm, zmm instruction is incorrectly emulated for the case where (-32768 * -32768 + -32768 * -32768).
System Information:
- Operating System: Ubuntu 24.04
- Intel SDE Version: 9.53
Steps Taken:
- Compiled the avx512_vpmaddwd_tester_060325_gcc12_avx3.cpp C++ test program (which can be downloaded from https://gist.github.com/johnplatts/7e1ecde538d754fcbe63501a506e6b42) using GCC or Clang (with the -march=skylake-avx512 option).
- Executed the below test program on both machines with Intel CPU's supporting AVX512BW, and with different versions of Intel Software Development Emulator on a Linux system supporting AVX2 but not AVX512BW.
- Discovered mismatch between the results of the emulated AVX512BW VPMADDWD zmm, zmm, zmm instruction and the AVX2 VPMADDWD ymm, ymm, ymm instructions and AVX VPMADDWD xmm, xmm, xmm instructions for the (-32768 * -32768 + -32768 * -32768) case (where the emulated AVX512BW VPMADDWD instruction incorrectly saturates the result to 2147483647 whereas the AVX2 VPMADDWD and AVX VPMADDWD instructions return the expected -2147483648 result for this case) when running the test program with Intel SDE 9.27 or later on a Linux system supporting AVX2 but not AVX512BW.
The bug that occurs with emulating the AVX512BW VPMADDWD zmm, zmm, zmm instruction with Intel SDE 9.27 or later does not happen with Intel SDE 9.24 (even when running on a system with an Intel CPU that does not support AVX512) or on actual Intel CPU's supporting AVX512BW.
Link Copied
0 Replies

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page