From: Iain Sandoe Date: Sun, 4 Aug 2019 10:40:16 +0000 (+0000) Subject: Darwin, X86, testsuite, backport matching fixes. X-Git-Tag: releases/gcc-9.2.0~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26913944c837688fd98b1a00631f15dde516fe76;p=thirdparty%2Fgcc.git Darwin, X86, testsuite, backport matching fixes. Some of the i386.exp tests fail on Darwin (and at least one passes incorrectly on Linux) because their scan-asm match strings are too general. In some cases the strings also match instances in the .file and size directives or in comment output. This patch makes the match strings more specific. 2019-08-04 Iain Sandoe Backport from mainline. 2019-05-24 Iain Sandoe * gcc.target/i386/pconfig-1.c: Scan for the string in the generated code, not in comments or miscellaneous directives. * gcc.target/i386/pr18041-1.c: Likewise. * gcc.target/i386/pr18041-2.c: Likewise. * gcc.target/i386/wbinvd-1.c: Likewise. * gcc.target/i386/wbnoinvd-1.c: Likewise. * gcc.target/i386/pr66819-3.c: Specifically, check that there is no call to "bar". * gcc.target/i386/pr66819-4.c: Likewise. * gcc.target/i386/pr82662.c * gcc.target/i386/ptwrite2.c: Make the checks look for the specific destination register, don't try the m32 test on m64 targets. From-SVN: r274065 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5788c18a6ca4..fe85f30cc6bf 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,21 @@ +2019-08-04 Iain Sandoe + + Backport from mainline. + 2019-05-24 Iain Sandoe + + * gcc.target/i386/pconfig-1.c: Scan for the string in the generated + code, not in comments or miscellaneous directives. + * gcc.target/i386/pr18041-1.c: Likewise. + * gcc.target/i386/pr18041-2.c: Likewise. + * gcc.target/i386/wbinvd-1.c: Likewise. + * gcc.target/i386/wbnoinvd-1.c: Likewise. + * gcc.target/i386/pr66819-3.c: Specifically, check that there is no + call to "bar". + * gcc.target/i386/pr66819-4.c: Likewise. + * gcc.target/i386/pr82662.c + * gcc.target/i386/ptwrite2.c: Make the checks look for the specific + destination register, don't try the m32 test on m64 targets. + 2019-08-04 Iain Sandoe Backport from mainline. @@ -7,7 +25,7 @@ Darwin. * gcc.target/i386/pr77881.c: Likewise. -2019-05-29 Iain Sandoe +2019-08-04 Iain Sandoe Backport from mainline. 2019-05-24 Iain Sandoe diff --git a/gcc/testsuite/gcc.target/i386/pconfig-1.c b/gcc/testsuite/gcc.target/i386/pconfig-1.c index a3fc4f411fee..40b4c0c12720 100644 --- a/gcc/testsuite/gcc.target/i386/pconfig-1.c +++ b/gcc/testsuite/gcc.target/i386/pconfig-1.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -mpconfig" } */ -/* { dg-final { scan-assembler-times "pconfig" 5 } } */ +/* { dg-final { scan-assembler-times {\tpconfig} 2 } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr18041-1.c b/gcc/testsuite/gcc.target/i386/pr18041-1.c index 24da41a02ec9..dafe5a82d333 100644 --- a/gcc/testsuite/gcc.target/i386/pr18041-1.c +++ b/gcc/testsuite/gcc.target/i386/pr18041-1.c @@ -9,5 +9,5 @@ foo (struct B *b) b->bit0 = b->bit0 | b->bit1; } -/* { dg-final { scan-assembler-times "and" 1 } } */ -/* { dg-final { scan-assembler-times "or" 1 } } */ +/* { dg-final { scan-assembler-times {\tand[l|q]} 1 } } */ +/* { dg-final { scan-assembler-times {\tor[l|q]} 1 } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr18041-2.c b/gcc/testsuite/gcc.target/i386/pr18041-2.c index 00ebd2ae36d5..1d7748bccc4e 100644 --- a/gcc/testsuite/gcc.target/i386/pr18041-2.c +++ b/gcc/testsuite/gcc.target/i386/pr18041-2.c @@ -10,5 +10,5 @@ bar (struct B *b, int x) } /* This fails to combine in 32bit mode but not for x32. */ -/* { dg-final { scan-assembler-times "and" 1 { xfail { { ! x32 } && ilp32 } } } } */ -/* { dg-final { scan-assembler-times "or" 1 { xfail { { ! x32 } && ilp32 } } } } */ +/* { dg-final { scan-assembler-times {\tand[lq]} 1 { xfail { { ! x32 } && ilp32 } } } } */ +/* { dg-final { scan-assembler-times {\tor} 1 { xfail { { ! x32 } && ilp32 } } } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr66819-3.c b/gcc/testsuite/gcc.target/i386/pr66819-3.c index 3bc5a3471e61..76e3726b38ae 100644 --- a/gcc/testsuite/gcc.target/i386/pr66819-3.c +++ b/gcc/testsuite/gcc.target/i386/pr66819-3.c @@ -1,6 +1,6 @@ /* { dg-do compile { target ia32 } } */ /* { dg-options "-O2 -mregparm=3" } */ -/* { dg-final { scan-assembler-not "call" } } */ +/* { dg-final { scan-assembler-not {call[ \t]+_?bar} } } */ void (*bar)(int, int); diff --git a/gcc/testsuite/gcc.target/i386/pr66819-4.c b/gcc/testsuite/gcc.target/i386/pr66819-4.c index 18b2ccf8120e..143360d0de38 100644 --- a/gcc/testsuite/gcc.target/i386/pr66819-4.c +++ b/gcc/testsuite/gcc.target/i386/pr66819-4.c @@ -1,6 +1,6 @@ /* { dg-do compile { target ia32 } } */ /* { dg-options "-O2 -mregparm=3" } */ -/* { dg-final { scan-assembler-not "call" } } */ +/* { dg-final { scan-assembler-not {call[ \t]+_?bar} } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr82662.c b/gcc/testsuite/gcc.target/i386/pr82662.c index 8a9332b5c5bf..ec08edc9824e 100644 --- a/gcc/testsuite/gcc.target/i386/pr82662.c +++ b/gcc/testsuite/gcc.target/i386/pr82662.c @@ -23,4 +23,4 @@ int f9 (S x, S y) { return x >= y; } int f10 (S x, S y) { return x < y; } int f11 (S x, S y) { return x <= y; } -/* { dg-final { scan-assembler-times {\mset} 12 } } */ +/* { dg-final { scan-assembler-times {\tset} 12 } } */ diff --git a/gcc/testsuite/gcc.target/i386/ptwrite2.c b/gcc/testsuite/gcc.target/i386/ptwrite2.c index bd144fc07793..be6b23eb838e 100644 --- a/gcc/testsuite/gcc.target/i386/ptwrite2.c +++ b/gcc/testsuite/gcc.target/i386/ptwrite2.c @@ -1,7 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O2 -mptwrite " } */ -/* { dg-final { scan-assembler "ptwrite\[^\n\r\]+r" } } */ -/* { dg-final { scan-assembler "ptwrite\[^\n\r\]+e" } } */ +/* { dg-final { scan-assembler {ptwrite[^\n\r]+%eax} } } */ +/* { dg-final { scan-assembler {ptwrite[^\n\r]+%rax} { target lp64 } } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/wbinvd-1.c b/gcc/testsuite/gcc.target/i386/wbinvd-1.c index 7854cc226796..9290d9b1945c 100644 --- a/gcc/testsuite/gcc.target/i386/wbinvd-1.c +++ b/gcc/testsuite/gcc.target/i386/wbinvd-1.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2" } */ -/* { dg-final { scan-assembler-times "wbinvd" 2 } } */ +/* { dg-final { scan-assembler-times {\twbinvd} 1 } } */ #include "immintrin.h" diff --git a/gcc/testsuite/gcc.target/i386/wbnoinvd-1.c b/gcc/testsuite/gcc.target/i386/wbnoinvd-1.c index bda84cd4c943..697f148b26ce 100644 --- a/gcc/testsuite/gcc.target/i386/wbnoinvd-1.c +++ b/gcc/testsuite/gcc.target/i386/wbnoinvd-1.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -mwbnoinvd" } */ -/* { dg-final { scan-assembler-times "wbnoinvd" 2 } } */ +/* { dg-final { scan-assembler-times {\twbnoinvd} 1 } } */ #include "x86intrin.h"