On Sat, Nov 19, 2016 at 09:05:05AM +0100, Jakub Jelinek wrote:
> On Fri, Nov 18, 2016 at 09:30:06PM +0100, Jakub Jelinek wrote:
> > On Fri, Nov 18, 2016 at 08:41:01PM +0100, Jakub Jelinek wrote:
> > > I'm seeing lots of ICEs with this.
> > 
> > Here is untested fix for that, will bootstrap/regtest it soon (after my
> > current set of bootstraps finishes).
> > 
> > 2016-11-18  Jakub Jelinek  <ja...@redhat.com>
> > 
> >     * config/i386/i386.c (ix86_expand_builtin): Remove msk_mov variable,
> >     don't initialize it, don't use it for the case where it isn't
> >     provable %{z} nor using the same argument, instead move merge
> >     argument into a new pseudo and use that as target.  Formatting fixes.
> 
> Now successfully bootstrapped/regtested on x86_64-linux and i686-linux and
> fixed a couple of FAILs, but not tons of others.
> 
> Here is another patch I'm going to test which fixes many other FAILs, but
> still some are left:
> FAIL: gcc.target/i386/funcspec-3.c (internal compiler error)
> FAIL: gcc.target/i386/funcspec-3.c (test for excess errors)
> FAIL: gcc.target/i386/mvc1.c (internal compiler error)
> FAIL: gcc.target/i386/mvc1.c (test for excess errors)
> FAIL: gcc.target/i386/mvc6.c (internal compiler error)
> FAIL: gcc.target/i386/mvc6.c (test for excess errors)
> FAIL: gcc.target/i386/mvc6.c scan-assembler vpshufb
> FAIL: gcc.target/i386/mvc6.c scan-assembler punpcklbw
> FAIL: gcc.target/i386/mvc8.c (internal compiler error)
> FAIL: gcc.target/i386/mvc8.c (test for excess errors)
> FAIL: gcc.target/i386/pr67995-2.c (internal compiler error)
> FAIL: gcc.target/i386/pr67995-2.c (test for excess errors)
> FAIL: gcc.target/i386/pr71652-3.c (internal compiler error)
> FAIL: gcc.target/i386/pr71652-3.c  (test for errors, line 5)
> FAIL: gcc.target/i386/pr71652-3.c (test for excess errors)
> Will debug even those.

The fix for that (still not bootstrapped/regtested) is below.
Will now bootstrap/regtest all 3 patches and hopefully all the 4fma*
introduced regressions will be gone.

2016-11-19  Jakub Jelinek  <ja...@redhat.com>

        * config/i386/i386.c (ix86_valid_target_attribute_tree): Don't
        clear opts->x_ix86_isa_flags, clear opts->x_ix86_isa_flags2
        instead and using = 0 instead of &= 0.

--- gcc/config/i386/i386.c.jj   2016-11-19 08:54:37.000000000 +0100
+++ gcc/config/i386/i386.c      2016-11-19 09:20:52.314913008 +0100
@@ -6845,7 +6845,7 @@ ix86_valid_target_attribute_tree (tree a
                                     | OPTION_MASK_ABI_64
                                     | OPTION_MASK_ABI_X32
                                     | OPTION_MASK_CODE16);
-         opts->x_ix86_isa_flags &= 0;
+         opts->x_ix86_isa_flags2 = 0;
        }
       else if (!orig_arch_specified)
        opts->x_ix86_arch_string = NULL;


        Jakub

Reply via email to