aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/powerpc')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-1.c12
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-2.c11
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-3.c9
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr60102.c11
4 files changed, 43 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-1.c b/gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-1.c
new file mode 100644
index 000000000..6e0d54883
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-1.c
@@ -0,0 +1,12 @@
+/* { dg-do compile { target { powerpc*-*-linux* && lp64 } } } */
+/* { dg-options "-mabi=elfv2" } */
+
+struct f8
+ {
+ float x[8];
+ };
+
+void test (struct f8 a, struct f8 b) /* { dg-message "note: the ABI of passing homogeneous float aggregates will change" } */
+{
+}
+
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-2.c b/gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-2.c
new file mode 100644
index 000000000..c4820e925
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-2.c
@@ -0,0 +1,11 @@
+/* { dg-do compile { target { powerpc*-*-linux* && lp64 } } } */
+
+struct test
+ {
+ long a __attribute__((aligned (16)));
+ };
+
+void test (struct test a) /* { dg-message "note: the ABI of passing aggregates with 16-byte alignment will change" } */
+{
+}
+
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-3.c b/gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-3.c
new file mode 100644
index 000000000..830de6bcc
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/powerpc/ppc64-abi-warn-3.c
@@ -0,0 +1,9 @@
+/* { dg-do compile { target { powerpc*-*-linux* && lp64 } } } */
+/* { dg-require-effective-target powerpc_altivec_ok } */
+/* { dg-options "-maltivec" } */
+
+struct test
+ {
+ int a __attribute__((vector_size (8)));
+ }; /* { dg-message "note: the layout of aggregates containing vectors with 8-byte alignment will change" } */
+
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr60102.c b/gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr60102.c
new file mode 100644
index 000000000..d32e41d68
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.target/powerpc/pr60102.c
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+/* { dg-skip-if "not an SPE target" { ! powerpc_spe_nocache } { "*" } { "" } } */
+/* { dg-options "-mcpu=8548 -mspe -mabi=spe -g -mfloat-gprs=double" } */
+
+double
+pr60102 (double x, int m)
+{
+ double y;
+ y = m % 2 ? x : 1;
+ return y;
+}