aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-02-08 00:55:24 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2014-02-08 00:55:24 +0100
commit8bb346eb0d3cb88e35e8c2b1404ddac179b8bce4 (patch)
tree0ff5144a934d45089411641c624ccdf301b5ed4b /gcc
parentd31d42c74d6f47d4f2082f7675f292be4af951d4 (diff)
downloadgcc-8bb346eb0d3cb88e35e8c2b1404ddac179b8bce4.zip
gcc-8bb346eb0d3cb88e35e8c2b1404ddac179b8bce4.tar.gz
gcc-8bb346eb0d3cb88e35e8c2b1404ddac179b8bce4.tar.bz2
re PR target/60077 (gcc.target/i386/pr35767-5.c FAILs)
PR target/60077 * gcc.target/i386/pr60077-1.c: New test. * gcc.target/i386/pr60077-2.c: New test. From-SVN: r207622
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.target/i386/pr60077-1.c18
-rw-r--r--gcc/testsuite/gcc.target/i386/pr60077-2.c18
3 files changed, 42 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a50fa4b..feca2e2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2014-02-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/60077
+ * gcc.target/i386/pr60077-1.c: New test.
+ * gcc.target/i386/pr60077-2.c: New test.
+
2014-02-07 Jakub Jelinek <jakub@redhat.com>
PR preprocessor/56824
diff --git a/gcc/testsuite/gcc.target/i386/pr60077-1.c b/gcc/testsuite/gcc.target/i386/pr60077-1.c
new file mode 100644
index 0000000..f20ca0a
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr60077-1.c
@@ -0,0 +1,18 @@
+/* Test that we generate aligned load when memory is aligned. */
+/* { dg-do compile } */
+/* { dg-options "-O -mavx -mtune=generic" } */
+/* { dg-final { scan-assembler-not "movups" } } */
+/* { dg-final { scan-assembler "movaps" } } */
+
+typedef float v8sf __attribute__ ((__vector_size__ (32)));
+
+extern void foo (v8sf, v8sf, v8sf, v8sf, v8sf, v8sf, v8sf, v8sf, v8sf);
+
+int
+test (void)
+{
+ v8sf x = { 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 };
+
+ foo (x, x, x, x, x, x, x, x, x);
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.target/i386/pr60077-2.c b/gcc/testsuite/gcc.target/i386/pr60077-2.c
new file mode 100644
index 0000000..bbf846f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr60077-2.c
@@ -0,0 +1,18 @@
+/* Test that we generate aligned load when memory is aligned. */
+/* { dg-do compile } */
+/* { dg-options "-O -mavx -mtune=generic" } */
+/* { dg-final { scan-assembler-not "movups" } } */
+/* { dg-final { scan-assembler "movaps" } } */
+
+typedef float v8sf __attribute__ ((__vector_size__ (32)));
+
+extern void foo (int, int, int, int, int, int, int, v8sf, v8sf, v8sf, v8sf, v8sf, v8sf, v8sf, v8sf, v8sf);
+
+int
+test (void)
+{
+ v8sf x = { 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0 };
+
+ foo (1, 2, 3, 4, 5, 6, 7, x, x, x, x, x, x, x, x, x);
+ return 0;
+}