diff options
| author | David Schleef <ds@schleef.org> | 2009-09-19 20:29:04 -0700 |
|---|---|---|
| committer | David Schleef <ds@schleef.org> | 2009-09-19 20:29:04 -0700 |
| commit | fdfa8d2255ae0d4b249c20cb71218a83eaab513e (patch) | |
| tree | 851e72203bbe9e7db943424b791c74d8d2bdf0ca /testsuite | |
| parent | 1c3939dc77f2cf41876e323233279b841d31eda8 (diff) | |
| parent | 4921211dbe91ba28a2a540c960a71bf2d135d14a (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.am | 2 | ||||
| -rw-r--r-- | testsuite/exec_opcodes_sys.c | 37 | ||||
| -rw-r--r-- | testsuite/orcc/Makefile.am | 4 |
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 |
