aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-01-05 22:18:15 -0800
committerRichard Henderson <rth@gcc.gnu.org>2005-01-05 22:18:15 -0800
commit051d8245886f5f133fad42d38b9d4ce12afd1394 (patch)
tree8d103dbf6344ce53612014171f97098266de9edd /gcc/testsuite
parent8f98556f0151b9a45553a49d876b55f76017d0d9 (diff)
downloadgcc-051d8245886f5f133fad42d38b9d4ce12afd1394.zip
gcc-051d8245886f5f133fad42d38b9d4ce12afd1394.tar.gz
gcc-051d8245886f5f133fad42d38b9d4ce12afd1394.tar.bz2
ia64.c (rtx_needs_barrier): Handle CONST_VECTOR and VEC_SELECT.
* config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR and VEC_SELECT. * config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl]. (mulv4hi3): Set itanium_class mmmul. (fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove. From-SVN: r92987
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/simd-6.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/simd-6.c b/gcc/testsuite/gcc.c-torture/execute/simd-6.c
new file mode 100644
index 0000000..ca4aabc
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/simd-6.c
@@ -0,0 +1,22 @@
+extern void abort (void);
+extern int memcmp (const void *, const void *, __SIZE_TYPE__);
+
+typedef unsigned char v8qi __attribute__((vector_size(8)));
+
+v8qi foo(v8qi x, v8qi y)
+{
+ return x * y;
+}
+
+int main()
+{
+ v8qi a = { 1, 2, 3, 4, 5, 6, 7, 8 };
+ v8qi b = { 3, 3, 3, 3, 3, 3, 3, 3 };
+ v8qi c = { 3, 6, 9, 12, 15, 18, 21, 24 };
+ v8qi r;
+
+ r = foo (a, b);
+ if (memcmp (&r, &c, 8) != 0)
+ abort ();
+ return 0;
+}