clang broken on current?

Steve Kargl sgk at troutmask.apl.washington.edu
Sun Feb 10 16:06:07 UTC 2019


On Sun, Feb 10, 2019 at 12:03:55PM +0100, Dimitry Andric wrote:
> On 10 Feb 2019, at 06:00, Steve Kargl <sgk at troutmask.apl.washington.edu> wrote:
> > 
> > If I add 'CFLAGS+=-march=native -mtune=native', I can build
> > world and kernel without a problem.  If I try to build
> > x11-toolkits/qt5-gui the build dies with
> > 
> 
> How did you arrive at the conclusion that this has anything to do with
> the specific compiler?  From these errors, I think it is more likely
> something in Qt5 that is erroneously convinced that those qt_memfillXY
> functions exist.  Or they get referenced, but not compiled at all, for
> some reason.
> 

Of course, with llvm/clang/clang++, there appears to be *no
documentation* on the set of valid inputs for -march.

If I do 'cc -c --verbose a.c' on my FreeBSD laptop, I see

-target-cpu i486

among the cc1 options.  This is a rather pessimistic choice for
a Core2 Duo cpu.  If I do 'cc -c --verbose -march=native.c', I see

 -target-cpu core2 -target-feature +sse2 -target-feature +cx16
 -target-feature +sahf -target-feature -tbm -target-feature -avx512ifma
 -target-feature -sha -target-feature -gfni -target-feature -fma4
 -target-feature -vpclmulqdq -target-feature -prfchw -target-feature -bmi2
 -target-feature -cldemote -target-feature -fsgsbase -target-feature -ptwrite
 -target-feature -xsavec -target-feature -popcnt -target-feature -aes
 -target-feature -avx512bitalg -target-feature -movdiri
 -target-feature -xsaves -target-feature -avx512er
 -target-feature -avx512vnni -target-feature -avx512vpopcntdq
 -target-feature -pconfig -target-feature -clwb -target-feature -avx512f
 -target-feature -clzero -target-feature -pku -target-feature +mmx
 -target-feature -lwp -target-feature -rdpid -target-feature -xop
 -target-feature -rdseed -target-feature -waitpkg -target-feature -movdir64b
 -target-feature -sse4a -target-feature -avx512bw -target-feature -clflushopt
 -target-feature -xsave -target-feature -avx512vbmi2
 -target-feature -avx512vl -target-feature -invpcid -target-feature -avx512cd
 -target-feature -avx -target-feature -vaes -target-feature -rtm
 -target-feature -fma -target-feature -bmi -target-feature -rdrnd
 -target-feature -mwaitx -target-feature -sse4.1 -target-feature -sse4.2
 -target-feature -avx2 -target-feature -wbnoinvd -target-feature +sse
 -target-feature -lzcnt -target-feature -pclmul -target-feature -prefetchwt1
 -target-feature -f16c -target-feature +ssse3 -target-feature -sgx
 -target-feature -shstk -target-feature +cmov -target-feature -avx512vbmi
 -target-feature -movbe -target-feature -xsaveopt -target-feature -avx512dq
 -target-feature -adx -target-feature -avx512pf -target-feature +sse3

My conclusion "Wrong code bug in llvm/clang".

--  
Steve


More information about the freebsd-toolchain mailing list