diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/pr24178.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr24178.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr24178.c b/gcc/testsuite/gcc.target/i386/pr24178.c new file mode 100644 index 000000000..b1a920813 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr24178.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-options "-O -fdump-rtl-expand" } */ + +struct S { + int l; + unsigned char c; +}; +unsigned long f(unsigned char *p10) { + struct S *p = (struct S *) (p10 + 10); + return p->c; +} + +/* The p->c memory access should have alignment of 4 bytes. */ + +/* { dg-final { scan-rtl-dump "MEM\[^\\n\]*A32" "expand" } } */ +/* { dg-final { cleanup-rtl-dump "expand" } } */ |