summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2009-09-19 20:29:04 -0700
committerDavid Schleef <ds@schleef.org>2009-09-19 20:29:04 -0700
commitfdfa8d2255ae0d4b249c20cb71218a83eaab513e (patch)
tree851e72203bbe9e7db943424b791c74d8d2bdf0ca /testsuite
parent1c3939dc77f2cf41876e323233279b841d31eda8 (diff)
parent4921211dbe91ba28a2a540c960a71bf2d135d14a (diff)
Merge commit 'origin/master' into neon
Conflicts: orc-test/orctest.c testsuite/orcc/Makefile.am tools/orcc.c
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/Makefile.am2
-rw-r--r--testsuite/exec_opcodes_sys.c37
-rw-r--r--testsuite/orcc/Makefile.am4
3 files changed, 40 insertions, 3 deletions
diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
index c01e7f8..38a1047 100644
--- a/testsuite/Makefile.am
+++ b/testsuite/Makefile.am
@@ -1,5 +1,5 @@
-SUBDIRS = orcc
+DIST_SUBDIRS = orcc
TESTS = \
compile_opcodes_sys_c \
diff --git a/testsuite/exec_opcodes_sys.c b/testsuite/exec_opcodes_sys.c
index fc62a49..84b880c 100644
--- a/testsuite/exec_opcodes_sys.c
+++ b/testsuite/exec_opcodes_sys.c
@@ -13,6 +13,7 @@ void test_opcode_src (OrcStaticOpcode *opcode);
void test_opcode_const (OrcStaticOpcode *opcode);
void test_opcode_param (OrcStaticOpcode *opcode);
void test_opcode_inplace (OrcStaticOpcode *opcode);
+void test_opcode_src_2d (OrcStaticOpcode *opcode);
int
main (int argc, char *argv[])
@@ -57,6 +58,14 @@ main (int argc, char *argv[])
opcode_set->opcodes[i].src_size[1]);
test_opcode_inplace (opcode_set->opcodes + i);
}
+ for(i=0;i<opcode_set->n_opcodes;i++){
+ printf("/* %s src 2d %d,%d,%d */\n",
+ opcode_set->opcodes[i].name,
+ opcode_set->opcodes[i].dest_size[0],
+ opcode_set->opcodes[i].src_size[0],
+ opcode_set->opcodes[i].src_size[1]);
+ test_opcode_src_2d (opcode_set->opcodes + i);
+ }
if (error) return 1;
return 0;
@@ -170,3 +179,31 @@ test_opcode_inplace (OrcStaticOpcode *opcode)
orc_program_free (p);
}
+void
+test_opcode_src_2d (OrcStaticOpcode *opcode)
+{
+ OrcProgram *p;
+ char s[40];
+ int ret;
+
+ if (opcode->src_size[1] == 0) {
+ p = orc_program_new_ds (opcode->dest_size[0], opcode->src_size[0]);
+ } else {
+ p = orc_program_new_dss (opcode->dest_size[0], opcode->src_size[0],
+ opcode->src_size[1]);
+ }
+
+ sprintf(s, "test_s_%s", opcode->name);
+ orc_program_set_name (p, s);
+ orc_program_set_2d (p);
+
+ orc_program_append_str (p, opcode->name, "d1", "s1", "s2");
+
+ ret = orc_test_compare_output (p);
+ if (!ret) {
+ error = TRUE;
+ }
+
+ orc_program_free (p);
+}
+
diff --git a/testsuite/orcc/Makefile.am b/testsuite/orcc/Makefile.am
index 995f1a3..1007f39 100644
--- a/testsuite/orcc/Makefile.am
+++ b/testsuite/orcc/Makefile.am
@@ -11,8 +11,8 @@ LIBS = $(ORC_LIBS) $(top_builddir)/orc-test/liborc-test-@ORC_MAJORMINOR@.la
CLEANFILES = testorc.c testorc.h orc_test.c
-orc:
- $(top_builddir)/tools/orcc test.orc
+orc_test.c:
+ $(top_builddir)/tools/orcc$(EXEEXT) test.orc
cp out.c testorc.c
cp out.h testorc.h
cp test_out.c orc_test.c