diff options
author | Martin Sebor <msebor@redhat.com> | 2018-12-04 20:10:47 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2018-12-04 13:10:47 -0700 |
commit | 565ec4de671afff1f5226d30ef8999f9e875faf5 (patch) | |
tree | fcf64f2b8e758eece60d73dbb244d7ca8d18fe7f /gcc | |
parent | f698917d45cc12703603b85fb9bb3ea378984269 (diff) | |
download | gcc-565ec4de671afff1f5226d30ef8999f9e875faf5.zip gcc-565ec4de671afff1f5226d30ef8999f9e875faf5.tar.gz gcc-565ec4de671afff1f5226d30ef8999f9e875faf5.tar.bz2 |
attr-aligned-2.c: New test.
gcc/testsuite/ChangeLog:
* gcc.target/i386/attr-aligned-2.c: New test.
* gcc.target/i386/falign-functions-3.c: New test.
From-SVN: r266795
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/attr-aligned-2.c | 26 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/falign-functions-3.c | 23 |
3 files changed, 54 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6daa60c..18ef9ed 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-12-04 Martin Sebor <msebor@redhat.com> + + * gcc.target/i386/attr-aligned-2.c: New test. + * gcc.target/i386/falign-functions-3.c: New test. + 2018-12-04 Jakub Jelinek <jakub@redhat.com> PR target/88188 diff --git a/gcc/testsuite/gcc.target/i386/attr-aligned-2.c b/gcc/testsuite/gcc.target/i386/attr-aligned-2.c new file mode 100644 index 0000000..b99a28a --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/attr-aligned-2.c @@ -0,0 +1,26 @@ +/* Verify that valid alignment on either a function declaration + or a definition has the expected effect and overrides -Os. + { dg-do compile } + { dg-options "-Os" } */ + +#define ALIGN(n) __attribute__ ((aligned (n))) + +/* No alignment specified (to cause the subsequent instruction + to be at an odd boundary due to -Os). */ +void f (void) { } + +void f4 (void); + +ALIGN (4) +void f4 (void) { } + +/* { dg-final { scan-assembler ".align 4\n\t.globl\tf4" } } */ + + +void g (void) { } + + +ALIGN (4) +void g4 (void); + +void g4 (void) { } diff --git a/gcc/testsuite/gcc.target/i386/falign-functions-3.c b/gcc/testsuite/gcc.target/i386/falign-functions-3.c new file mode 100644 index 0000000..f4a6ace --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/falign-functions-3.c @@ -0,0 +1,23 @@ +/* Verify that attribute aligned overrides the effect of -falign-functions. + (But see PR 88345 showing that -Os overrides -falign-functions.) + The test may need to be adjusted if/when GCC implements PR 88231. + { dg-do compile } + { dg-options "-O2 -falign-functions=32" } */ + +#define ALIGN(n) __attribute__ ((aligned (n))) + +ALIGN (4) +void f4 (void) { } + +/* { dg-final { scan-assembler ".align 4\n\t.globl\tf4" } } */ + + +void f32 (void) { } + +/* { dg-final { scan-assembler ".p2align 5\n\t.globl\tf32" } } */ + + +ALIGN (64) +void f64 (void) { } + +/* { dg-final { scan-assembler ".align 64\n\t.globl\tf64" } } */ |