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
+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
-/* { 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" } } */
-/* { 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" } } */