+2019-08-04 Iain Sandoe <iain@sandoe.co.uk>
+
+ Backport from mainline.
+ 2019-05-24 Iain Sandoe <iain@sandoe.co.uk>
+
+ * 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 <iain@sandoe.co.uk>
Backport from mainline.
Darwin.
* gcc.target/i386/pr77881.c: Likewise.
-2019-05-29 Iain Sandoe <iain@sandoe.co.uk>
+2019-08-04 Iain Sandoe <iain@sandoe.co.uk>
Backport from mainline.
2019-05-24 Iain Sandoe <iain@sandoe.co.uk>
/* { dg-do compile } */
/* { dg-options "-O2 -mpconfig" } */
-/* { dg-final { scan-assembler-times "pconfig" 5 } } */
+/* { dg-final { scan-assembler-times {\tpconfig} 2 } } */
#include <x86intrin.h>
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 } } */
}
/* 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 } } } } */
/* { 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);
/* { 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 <stdarg.h>
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 } } */
/* { 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 <x86intrin.h>
/* { dg-do compile } */
/* { dg-options "-O2" } */
-/* { dg-final { scan-assembler-times "wbinvd" 2 } } */
+/* { dg-final { scan-assembler-times {\twbinvd} 1 } } */
#include "immintrin.h"
/* { dg-do compile } */
/* { dg-options "-O2 -mwbnoinvd" } */
-/* { dg-final { scan-assembler-times "wbnoinvd" 2 } } */
+/* { dg-final { scan-assembler-times {\twbnoinvd} 1 } } */
#include "x86intrin.h"