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
This commit is contained in:
Uros Bizjak 2015-01-30 11:53:53 +01:00 committed by Uros Bizjak
parent b6dd03dd9c
commit 089ad47399
3 changed files with 17 additions and 11 deletions

View File

@ -1,3 +1,11 @@
2015-01-30 Uros Bizjak <ubizjak@gmail.com>
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 <rguenther@suse.de>
PR tree-optimization/64829

View File

@ -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 } } */

View File

@ -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 } } */