[testsuite, i386] Guard against incomplete AVX512F support in Solaris as

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Fri Jan 12 13:15:00 GMT 2018


Recent versions of the Solaris/x86 assembler do support AVX512F, but
there are a couple of bugs: it chokes on

        vaddsd  {rn-sae}, %xmm2, %xmm0, %xmm0
        vaddsd  {rn-sae}, %xmm0, %xmm1, %xmm5{%k1}
        vaddsd  {rn-sae}, %xmm2, %xmm0, %xmm0{%k1}{z}

and similar for vaddss, vdivs[ds], vmuls[ds], vsubs[ds]; also on

        vgetmantsd      $2, {sae}, %xmm1, %xmm0, %xmm3
        vgetmantss      $2, {sae}, %xmm1, %xmm0, %xmm3

Since this creates quite a bit of testsuite noise, I extended the
avx512f effective-target check to also test for those.  Doing so, I
noticed that the check_effective_target_avx512f proc is duplicated in
gcc.target/i386/i386.exp.  For the moment I changed both, but they
should be consolidated in one place to avoid confusion.

Bootstrapped without regressions on i386-pc-solaris2.11 and
x86_64-pc-linux-gnu.  Ok for mainline and the gcc-6 and gcc-7 branches
after a soak time?

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


2017-09-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* lib/target-supports.exp (check_effective_target_avx512f): Also
	check for __builtin_ia32_addsd_round,
	__builtin_ia32_getmantsd_round.
	* gcc.target/i386/i386.exp (check_effective_target_avx512f):
	Likewise.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: testsuite-i386-avx512f-sol86-as.patch
Type: text/x-patch
Size: 1526 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20180112/a7eb2bb4/attachment.bin>


More information about the Gcc-patches mailing list