cc -O2 -pipe -march=native -fstack-protector -fno-strict-aliasing -m64 -DNDEBUG -O3 -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wfloat-conversion -Wparentheses-equality -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused -Wextra -Wundef -Wshorten-64-to-32 -I. -I"/usr/local/ports/multimedia/libvpx/work/libvpx-1.7.0" -msse2 -c -o vpx_dsp/x86/variance_sse2.c.o vpx_dsp/x86/variance_sse2.c
SplitVectorResult #0: t25: v8i64 = llvm.x86.avx512.psad.bw.512 TargetConstant:i64<5820>, t11, t5
fatal error: error in backend: Do not know how to split the result of this operator!
cc: error: clang frontend command failed with exit code 70 (use -v to see invocation)
FreeBSD clang version 6.0.0 (branches/release_60 323338) (based on LLVM 6.0.0)
Thread model: posix
cc: note: diagnostic msg: PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script.
cc: note: diagnostic msg:
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
cc: note: diagnostic msg: /tmp/sad4d_avx512-2e4c36.c
cc: note: diagnostic msg: /tmp/sad4d_avx512-2e4c36.sh
cc: note: diagnostic msg:
gmake: *** [Makefile:157: vpx_dsp/x86/sad4d_avx512.c.o] Error 70
gmake: *** Waiting for unfinished jobs....
gmake: *** [Makefile:17: .DEFAULT] Error 2
gmake: Leaving directory '/usr/local/ports/multimedia/libvpx/work/libvpx-1.7.0'
===> Compilation failed unexpectedly.
FreeBSD blaviken.kreta.org 12.0-CURRENT FreeBSD 12.0-CURRENT #13 r328465: Sat Jan 27 12:47:49 CET 2018 email@example.com:/usr/obj/hdd/src/amd64.amd64/sys/GENERIC amd64
Created attachment 190105 [details]
sad4d_avx512-2e4c36.c is 2.4MB and cannot be attached. I can send it privately if someone is interested in this bug.
(In reply to Pawel Pekala from comment #0)
A few lines below it says vpx_dsp/x86/sad4d_avx512.c. After playing a bit with attachment 190105 [details] the issue seems to be -march=native injecting -mno-sse4.1 which isn't reverted by -mavx* e.g.,
$ cd /usr/ports/multimedia/libvpx
$ make clean configure
$ cd `make -V WRKSRC`
$ gmake vpx_dsp_rtcd.h
$ cc -mno-sse4.1 -mavx512bw -I. -c -o vpx_dsp/x86/sad4d_avx512.c.o vpx_dsp/x86/sad4d_avx512.c
(In reply to Pawel Pekala from comment #1)
> sad4d_avx512-2e4c36.c is 2.4MB and cannot be attached.
Compressing with xz(1) should've worked as well e.g., bug 225086 has one 8.5MB large if uncompressed.
Created attachment 190111 [details]
Removing -march=native from CFLAGS leads to correct build.
A commit references this bug:
Date: Sun Jan 28 16:10:41 UTC 2018
New revision: 328513
Pull in r322245 from upstream clang trunk (by Craig Topper):
[X86] Make -mavx512f imply -mfma and -mf16c in the frontend like it
does in the backend.
Similarly, make -mno-fma and -mno-f16c imply -mno-avx512f.
Withou this "-mno-sse -mavx512f" ends up with avx512f being enabled
in the frontend but disabled in the backend.
Reported by: pawel
Fixed in r328513. I have also submitted a request upstream to merge it into the clang 6.0 branch.