summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/vector-shift1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg/vector-shift1.c')
-rw-r--r--gcc/testsuite/gcc.dg/vector-shift1.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/vector-shift1.c b/gcc/testsuite/gcc.dg/vector-shift1.c
new file mode 100644
index 00000000000..51bc0ad3989
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vector-shift1.c
@@ -0,0 +1,18 @@
+/* { dg-do compile } */
+#define vector(elcount, type) \
+__attribute__((vector_size((elcount)*sizeof(type)))) type
+
+int main (int argc, char *argv[]) {
+ vector(4, float) vfloat0 = {1., 2., 3., 4.};
+ vector(4, float) vfloat1 = {1., 2., 3., 4.};
+
+ vector(4, int) vint = {1, 1, 1, 1 };
+
+ vint <<= vfloat0; /* { dg-error "nvalid operands to binary <<" } */
+ vfloat0 >>= vint; /* { dg-error "nvalid operands to binary >>" } */
+
+ vfloat0 <<= vfloat1; /* { dg-error "nvalid operands to binary <<" } */
+
+ return 0;
+}
+