+2010-11-09 Richard Guenther <rguenther@suse.de>
+
+ PR testsuite/46312
+ * gcc.dg/vec-scal-opt.c: Move ...
+ * gcc.dg/vect/vect-scal-opt.c: ... here.
+ * gcc.dg/vec-scal-opt1.c: Move ...
+ * gcc.dg/vect/vect-scal-opt1.c: ... here.
+ * gcc.dg/vec-scal-opt2.c: Move ...
+ * gcc.dg/vect/vect-scal-opt2.c: ... here.
+
2010-11-09 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/static_initializer5.ads: New test.
+++ /dev/null
-/* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-veclower" } */
-
-#define vidx(type, vec, idx) (*((type *) &(vec) + idx))
-#define vector(elcount, type) \
-__attribute__((vector_size((elcount)*sizeof(type)))) type
-
-short k;
-
-int main (int argc, char *argv[]) {
- k = argc;
- vector(8, short) v0 = {argc,1,2,3,4,5,6,7};
- vector(8, short) v2 = {k, k,k,k,k,k,k,k};
- vector(8, short) r1;
-
- r1 = v0 >> v2;
-
- return vidx(short, r1, 0);
-}
-
-/* { dg-final { scan-tree-dump-times ">> k.\[0-9_\]*" 1 "veclower" } } */
-/* { dg-final { cleanup-tree-dump "veclower" } } */
+++ /dev/null
-/* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-veclower" } */
-
-#define vidx(type, vec, idx) (*((type *) &(vec) + idx))
-#define vector(elcount, type) \
-__attribute__((vector_size((elcount)*sizeof(type)))) type
-
-short k;
-
-int main (int argc, char *argv[]) {
- vector(8, short) v0 = {argc,1,2,3,4,5,6,7};
- vector(8, short) r1;
-
- r1 = v0 >> (vector(8, short)){2,2,2,2,2,2,2,2};
-
- return vidx(short, r1, 0);
-}
-
-/* { dg-final { scan-tree-dump-times ">> 2" 1 "veclower" } } */
-/* { dg-final { cleanup-tree-dump "veclower" } } */
+++ /dev/null
-/* { dg-do compile } */
-/* { dg-options "-O -fdump-tree-veclower" } */
-
-#define vidx(type, vec, idx) (*((type *) &(vec) + idx))
-#define vector(elcount, type) \
-__attribute__((vector_size((elcount)*sizeof(type)))) type
-
-int main (int argc, char *argv[]) {
- vector(8, short) v0 = {argc,1,2,3,4,5,6,7};
- vector(8, short) v1 = {2,2,2,2,2,2,2,2};
- vector(8, short) r1;
-
- r1 = v0 >> v1;
-
- return vidx(short, r1, 0);
-}
-
-/* { dg-final { scan-tree-dump-times ">> 2" 1 "veclower" } } */
-/* { dg-final { cleanup-tree-dump "veclower" } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_shift } */
+/* { dg-require-effective-target vect_int } */
+/* { dg-options "-O -fdump-tree-veclower" } */
+
+#define vidx(type, vec, idx) (*((type *) &(vec) + idx))
+#define vector(elcount, type) \
+__attribute__((vector_size((elcount)*sizeof(type)))) type
+
+short k;
+
+int main (int argc, char *argv[]) {
+ k = argc;
+ vector(8, short) v0 = {argc,1,2,3,4,5,6,7};
+ vector(8, short) v2 = {k, k,k,k,k,k,k,k};
+ vector(8, short) r1;
+
+ r1 = v0 >> v2;
+
+ return vidx(short, r1, 0);
+}
+
+/* { dg-final { scan-tree-dump-times ">> k.\[0-9_\]*" 1 "veclower" } } */
+/* { dg-final { cleanup-tree-dump "veclower" } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_shift } */
+/* { dg-require-effective-target vect_int } */
+/* { dg-options "-O -fdump-tree-veclower" } */
+
+#define vidx(type, vec, idx) (*((type *) &(vec) + idx))
+#define vector(elcount, type) \
+__attribute__((vector_size((elcount)*sizeof(type)))) type
+
+short k;
+
+int main (int argc, char *argv[]) {
+ vector(8, short) v0 = {argc,1,2,3,4,5,6,7};
+ vector(8, short) r1;
+
+ r1 = v0 >> (vector(8, short)){2,2,2,2,2,2,2,2};
+
+ return vidx(short, r1, 0);
+}
+
+/* { dg-final { scan-tree-dump-times ">> 2" 1 "veclower" } } */
+/* { dg-final { cleanup-tree-dump "veclower" } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-require-effective-target vect_shift } */
+/* { dg-require-effective-target vect_int } */
+/* { dg-options "-O -fdump-tree-veclower" } */
+
+#define vidx(type, vec, idx) (*((type *) &(vec) + idx))
+#define vector(elcount, type) \
+__attribute__((vector_size((elcount)*sizeof(type)))) type
+
+int main (int argc, char *argv[]) {
+ vector(8, short) v0 = {argc,1,2,3,4,5,6,7};
+ vector(8, short) v1 = {2,2,2,2,2,2,2,2};
+ vector(8, short) r1;
+
+ r1 = v0 >> v1;
+
+ return vidx(short, r1, 0);
+}
+
+/* { dg-final { scan-tree-dump-times ">> 2" 1 "veclower" } } */
+/* { dg-final { cleanup-tree-dump "veclower" } } */