[PATCH][AARCH64]Make arm_align_max_stack_pwr.c and arm_align_max_pwr.c compile
authorRenlin Li <renlin.li@arm.com>
Thu, 3 Sep 2015 17:16:33 +0000 (17:16 +0000)
committerRenlin Li <renlin@gcc.gnu.org>
Thu, 3 Sep 2015 17:16:33 +0000 (17:16 +0000)
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

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/arm_align_max_pwr.c
gcc/testsuite/gcc.target/aarch64/arm_align_max_stack_pwr.c

index 22a0bc56e8986a83269fe673b071ff1640a882d5..b1deae4270d0ce341fdace16221b87557dda9cfa 100644 (file)
@@ -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
index bbb4c6f9d04672936cdbb905eacf3b9e43f39e93..ffa4d229922afea17ac83a627d9af1ffa48d7d3c 100644 (file)
@@ -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" } } */
index 7a6355b054e4b1903068498f4aff2fd6208eeb2e..7f356fe300a08b229f708dabece364a4fd353f75 100644 (file)
@@ -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" } } */