Hello, It looks like reference value calculations use operands in wrong order. Patch in the bottom makes test pass on SDE.
gcc/testsuite/ * gcc.target/i386/avx512f-klogic-2.c: Fix calculation of reference value. Will check into main trunk tomorrow. -- Thanks, K commit d6fe7376e4ce845b4330b45514fded7b2d890573 Author: Kirill Yukhin <kirill.yuk...@gmail.com> Date: Mon Aug 22 18:34:52 2016 +0300 AVX-512. Fix operands order in kunpack check. diff --git a/gcc/testsuite/gcc.target/i386/avx512f-klogic-2.c b/gcc/testsuite/gcc.target/i386/avx512f-klogic-2.c index feff955..ec09e4c 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-klogic-2.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-klogic-2.c @@ -51,7 +51,7 @@ avx512f_test (void) dst = _mm512_kunpackb (src1, src2); x = _mm512_mask_add_ps (x, dst, x, x); - dst_ref = ((src2 << 8) | src1) & 0xFFFF; + dst_ref = ((src1 << 8) | src2) & 0xFFFF; if (dst != dst_ref) abort ();