Package: llvm-toolchain-3.6 Version: 1:3.6-2 Severity: serious clang 3.6 in debian miscompiles _mm256_permutevar8x32_epi32 it swaps the two first arguments:
$ apt-cache policy clang-3.6 clang-3.6: Installed: 1:3.6-2 Candidate: 1:3.6-2 Version table: *** 1:3.6-2 0 500 http://ftp.de.debian.org/debian/ unstable/main amd64 $ cat test.c #include <immintrin.h> __m256i fun (__m256i a, __m256i o) { return _mm256_permutevar8x32_epi32(a, o); } $ clang-3.6 test.c -mavx2 -c -O2 $ objdump -d test.o test.o: file format elf64-x86-64 Disassembly of section .text: 0000000000000000 <fun>: 0: c4 e2 7d 36 c1 vpermd %ymm1,%ymm0,%ymm0 5: c3 retq the correct result is: vpermd %ymm0,%ymm1,%ymm0 clang 3.5 seems to produce the right result so this is a 3.6 regression -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org