From 089ad47399b946baeb5c6b62a97d6f1e5339e2bf Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Fri, 30 Jan 2015 11:53:53 +0100 Subject: [PATCH] re PR target/15184 (Direct access to byte inside word not working with -march=pentiumpro) PR target/15184 * gcc.target/i386/pr15184-1.c: Compile for ia32 target only. (dg-options): Remove -m32. (dg-final): Scan for "movb %al" only. * gcc.target/i386/pr15184-2.c: Ditto. From-SVN: r220277 --- gcc/testsuite/ChangeLog | 8 ++++++++ gcc/testsuite/gcc.target/i386/pr15184-1.c | 9 ++++----- gcc/testsuite/gcc.target/i386/pr15184-2.c | 11 +++++------ 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5ce99e61dbf..e90c8b0a636 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2015-01-30 Uros Bizjak + + PR target/15184 + * gcc.target/i386/pr15184-1.c: Compile for ia32 target only. + (dg-options): Remove -m32. + (dg-final): Scan for "movb %al" only. + * gcc.target/i386/pr15184-2.c: Ditto. + 2015-01-30 Richard Biener PR tree-optimization/64829 diff --git a/gcc/testsuite/gcc.target/i386/pr15184-1.c b/gcc/testsuite/gcc.target/i386/pr15184-1.c index 9eb544c10ef..8c19e475852 100644 --- a/gcc/testsuite/gcc.target/i386/pr15184-1.c +++ b/gcc/testsuite/gcc.target/i386/pr15184-1.c @@ -1,11 +1,10 @@ /* PR 15184 first two tests, plus two addition ones. */ -/* { dg-do compile } */ -/* { dg-options "-O2 -m32 -march=pentiumpro" } */ +/* { dg-do compile { target ia32 } } */ +/* { dg-options "-O2 -march=pentiumpro" } */ -#define regparm __attribute__((__regparm__(3))) +#define regparm __attribute__((__regparm__(1))) extern unsigned int x; -extern unsigned short y; void regparm f0(unsigned char c) { @@ -29,5 +28,5 @@ void regparm f3(unsigned char c) /* Each function should compile down to a byte move from the input register into x, possibly at an offset within x. */ -/* { dg-final { scan-assembler-times "\tmovb\t%al, x" 4 } } */ +/* { dg-final { scan-assembler-times "movb\[ \\t\]+%al" 4 } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr15184-2.c b/gcc/testsuite/gcc.target/i386/pr15184-2.c index 99fdbc8eed6..a6cb9ebc24e 100644 --- a/gcc/testsuite/gcc.target/i386/pr15184-2.c +++ b/gcc/testsuite/gcc.target/i386/pr15184-2.c @@ -1,10 +1,9 @@ /* PR 15184 second two tests -/* { dg-do compile } */ -/* { dg-options "-O2 -m32 -march=pentiumpro" } */ +/* { dg-do compile { target ia32 } } */ +/* { dg-options "-O2 -march=pentiumpro" } */ -#define regparm __attribute__((__regparm__(3))) +#define regparm __attribute__((__regparm__(1))) -extern unsigned int x; extern unsigned short y; void regparm g0(unsigned char c) @@ -18,6 +17,6 @@ void regparm g1(unsigned char c) } /* Each function should compile down to a byte move from - the input register into x, possibly at an offset within x. */ -/* { dg-final { scan-assembler-times "\tmovb\t%al, y" 2 } } */ + the input register into y, possibly at an offset within y. */ +/* { dg-final { scan-assembler-times "movb\[ \\t\]+%al" 2 } } */ -- 2.30.2