This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix various x86 tests for --with-arch=bdver3
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Uros Bizjak <ubizjak at gmail dot com>, Richard Henderson <rth at redhat dot com>, Jan Hubicka <hubicka at ucw dot cz>, Rainer Orth <ro at cebitec dot uni-bielefeld dot de>, Mike Stump <mikestump at comcast dot net>, Janis Johnson <janisjo at codesourcery dot com>
- Date: Fri, 28 Mar 2014 15:11:55 -0700
- Subject: Re: Fix various x86 tests for --with-arch=bdver3
- Authentication-results: sourceware.org; auth=none
- References: <Pine dot LNX dot 4 dot 64 dot 1403282143360 dot 750 at digraph dot polyomino dot org dot uk>
On Fri, Mar 28, 2014 at 2:46 PM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> If you build an x86_64 toolchain with --with-arch enabling various
> instruction set extensions by default, this causes some tests to fail
> that aren't expecting those extensions to be enabled. This patch
> fixes various tests failing like that for an x86_64-linux-gnu
> toolchain configured --with-arch=bdver3, generally by using
> appropriate -mno-* options in the tests, or in the case of
> gcc.dg/pr45416.c by adjusting the scan-assembler to allow the
> alternative instruction that gets used in this case. It's quite
> likely other such failures appear for other --with-arch choices.
>
> Tested x86_64-linux-gnu. OK to commit?
>
> In addition to the failures fixed by this patch, there are many
> gcc.dg/vect tests where having additional vector extensions enabled
> breaks their expectations; I'm not sure of the best way to handle
> those. And you get
>
> FAIL: gcc.target/i386/avx512f-vfmaddXXXpd-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfmaddXXXps-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfmaddsubXXXpd-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfmaddsubXXXps-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfmsubXXXpd-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfmsubXXXps-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfmsubaddXXXpd-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfmsubaddXXXps-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfnmaddXXXpd-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfnmaddXXXps-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfnmsubXXXpd-2.c (test for excess errors)
> FAIL: gcc.target/i386/avx512f-vfnmsubXXXps-2.c (test for excess errors)
>
> which are assembler errors such as "operand type mismatch for
> `vfmaddpd'" - it looks like the compiler isn't really prepared for the
> -mavx512f -mfma4 combination, but I'm not sure what the best way to
> handle it is (producing invalid output doesn't seem right, however).
>
> If you test with -march=bdver3 in the multilib options (runtest
> --target_board=unix/-march=bdver3) rather than as the configured
> default, you get extra failures for the usual reason of multilibhttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=59971
This is
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59971
> options going after the options from dg-options (which I propose to
> address in the usual way using dg-skip-if for -march= options
> different from the one present in dg-options).
Here is a patch:
http://gcc.gnu.org/ml/gcc-patches/2014-01/msg01891.html
--
H.J.