aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8/gcc/testsuite/gcc.dg/vmx/vsums-be-order.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.dg/vmx/vsums-be-order.c')
-rw-r--r--gcc-4.8/gcc/testsuite/gcc.dg/vmx/vsums-be-order.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.dg/vmx/vsums-be-order.c b/gcc-4.8/gcc/testsuite/gcc.dg/vmx/vsums-be-order.c
new file mode 100644
index 000000000..e4a34e9f9
--- /dev/null
+++ b/gcc-4.8/gcc/testsuite/gcc.dg/vmx/vsums-be-order.c
@@ -0,0 +1,20 @@
+/* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mno-vsx" } */
+
+#include "harness.h"
+
+static void test()
+{
+ vector signed int va = {-7,11,-13,17};
+
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
+ vector signed int vb = {128,0,0,0};
+ vector signed int evd = {136,0,0,0};
+#else
+ vector signed int vb = {0,0,0,128};
+ vector signed int evd = {0,0,0,136};
+#endif
+
+ vector signed int vd = vec_sums (va, vb);
+
+ check (vec_all_eq (vd, evd), "sums");
+}