aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMartin Sebor <msebor@redhat.com>2018-12-04 20:10:47 +0000
committerMartin Sebor <msebor@gcc.gnu.org>2018-12-04 13:10:47 -0700
commit565ec4de671afff1f5226d30ef8999f9e875faf5 (patch)
treefcf64f2b8e758eece60d73dbb244d7ca8d18fe7f /gcc
parentf698917d45cc12703603b85fb9bb3ea378984269 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/attr-aligned-2.c26
-rw-r--r--gcc/testsuite/gcc.target/i386/falign-functions-3.c23
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" } } */