aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRenlin Li <renlin.li@arm.com>2015-09-03 17:16:33 +0000
committerRenlin Li <renlin@gcc.gnu.org>2015-09-03 17:16:33 +0000
commit3743a2ccd82fd8fbcd3a727faba92470ec35e031 (patch)
treef8d22c7738378c620aff80b39191f8884003ee09 /gcc
parent1807ffc1a51df83a3ad26ad1b56ef0bbe8a7e494 (diff)
downloadgcc-3743a2ccd82fd8fbcd3a727faba92470ec35e031.zip
gcc-3743a2ccd82fd8fbcd3a727faba92470ec35e031.tar.gz
gcc-3743a2ccd82fd8fbcd3a727faba92470ec35e031.tar.bz2
[PATCH][AARCH64]Make arm_align_max_stack_pwr.c and arm_align_max_pwr.c compile
testcase, instead of execution. gcc/testsuite/ 2015-09-03 Renlin Li <renlin.li@arm.com> * gcc.target/aarch64/arm_align_max_pwr.c: Make it a compile test case, check the assembly. * gcc.target/aarch64/arm_align_max_stack_pwr.c: Likewise. From-SVN: r227459
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.target/aarch64/arm_align_max_pwr.c22
-rw-r--r--gcc/testsuite/gcc.target/aarch64/arm_align_max_stack_pwr.c19
3 files changed, 33 insertions, 14 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 22a0bc5..b1deae4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2015-09-03 Renlin Li <renlin.li@arm.com>
+
+ * gcc.target/aarch64/arm_align_max_pwr.c: Make it a compile test case,
+ check the assembly.
+ * gcc.target/aarch64/arm_align_max_stack_pwr.c: Likewise.
+
2015-09-03 Martin Sebor <msebor@redhat.com>
PR c/66516
diff --git a/gcc/testsuite/gcc.target/aarch64/arm_align_max_pwr.c b/gcc/testsuite/gcc.target/aarch64/arm_align_max_pwr.c
index bbb4c6f..ffa4d22 100644
--- a/gcc/testsuite/gcc.target/aarch64/arm_align_max_pwr.c
+++ b/gcc/testsuite/gcc.target/aarch64/arm_align_max_pwr.c
@@ -1,15 +1,23 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-#include <assert.h>
+/* { dg-do compile } */
+/* { dg-options "-O1" } */
#define align (1ul << __ARM_ALIGN_MAX_PWR)
static int x __attribute__ ((aligned (align)));
+static int y __attribute__ ((aligned (align)));
+
+extern void foo (int *x, int *y);
+extern int bar (int x, int y);
int
-main ()
+dummy ()
{
- assert ((((unsigned long)&x) & (align - 1)) == 0);
+ int result;
- return 0;
+ foo (&x, &y);
+ result = bar (x, y);
+
+ return result;
}
+
+/* { dg-final { scan-assembler-times "zero\t4" 2 } } */
+/* { dg-final { scan-assembler "zero\t268435452" } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/arm_align_max_stack_pwr.c b/gcc/testsuite/gcc.target/aarch64/arm_align_max_stack_pwr.c
index 7a6355b..7f356fe 100644
--- a/gcc/testsuite/gcc.target/aarch64/arm_align_max_stack_pwr.c
+++ b/gcc/testsuite/gcc.target/aarch64/arm_align_max_stack_pwr.c
@@ -1,15 +1,20 @@
-/* { dg-do run } */
-
-#include <stdio.h>
-#include <assert.h>
+/* { dg-do compile } */
+/* { dg-options "-O1" } */
#define align (1ul << __ARM_ALIGN_MAX_STACK_PWR)
+extern void foo (int *x);
+extern int bar (int x);
int
-main ()
+dummy ()
{
int x __attribute__ ((aligned (align)));
+ int result;
+
+ foo (&x);
+ result = bar (x);
- assert ((((unsigned long)&x) & (align - 1)) == 0);
- return 0;
+ return result;
}
+
+/* { dg-final { scan-assembler "and\tx\[0-9\]+, x\[0-9\]+, -65536" } } */