This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/64806] New: [5 Regression] FAIL: FAIL: g++.dg/ext/mv1.C


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64806

            Bug ID: 64806
           Summary: [5 Regression] FAIL: FAIL: g++.dg/ext/mv1.C
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com

r220095 caused:

FAIL: g++.dg/ext/mv1.C  -std=gnu++98 execution test
FAIL: g++.dg/ext/mv1.C  -std=gnu++11 execution test
FAIL: g++.dg/ext/mv1.C  -std=gnu++14 execution test

on Nehalem and Westmere machines.  g++.dg/ext/mv1.C has

int __attribute__ ((target("arch=corei7,popcnt")))
foo ()
{
  return 5;
}

and

int __attribute__ ((target("arch=corei7")))
foo ()
{
  return 6;
}

r220095 changed the priority of P_POPCNT:

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 9ec40cb..441911d 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -34289,15 +34289,18 @@ get_builtin_code_for_version (tree decl, tree
*predica
te_list)
     P_PROC_SSE4_A,
     P_SSE4_1,
     P_SSE4_2,
-    P_PROC_SSE4_2,
     P_POPCNT,
+    P_PROC_SSE4_2,

On Nehalem and Westmere machines, it selected foo for corei7 instead
of corei7,popcnt since P_PROC_SSE4_2 has the higher priority than
P_POPCNT.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]