diff options
Diffstat (limited to 'testsuite/test-schro.c')
-rw-r--r-- | testsuite/test-schro.c | 378 |
1 files changed, 189 insertions, 189 deletions
diff --git a/testsuite/test-schro.c b/testsuite/test-schro.c index 148b53d..2409631 100644 --- a/testsuite/test-schro.c +++ b/testsuite/test-schro.c @@ -19,188 +19,188 @@ get_program (int type) OrcProgram *p; switch (type) { - case 0: - p = orc_program_new (); - orc_program_add_destination (p, 2, "d1"); - orc_program_add_source (p, 2, "s1"); - orc_program_add_source (p, 2, "s2"); - orc_program_add_constant (p, 2, 2, "c1"); - orc_program_add_constant (p, 2, 2, "c2"); - orc_program_add_temporary (p, 2, "t1"); - - orc_program_append_str (p, "addw", "t1", "s1", "s2"); - orc_program_append_str (p, "addw", "t1", "t1", "c1"); - orc_program_append_str (p, "shrsw", "t1", "t1", "c2"); - orc_program_append_str (p, "addw", "d1", "d1", "t1"); - break; - case 1: - p = orc_program_new (); - orc_program_add_destination (p, 2, "d1"); - orc_program_add_source (p, 2, "s1"); - orc_program_add_source (p, 2, "s2"); - orc_program_add_constant (p, 2, 2, "c1"); - orc_program_add_constant (p, 2, 2, "c2"); - orc_program_add_temporary (p, 2, "t1"); - - orc_program_append_str (p, "addw", "t1", "s1", "s2"); - orc_program_append_str (p, "addw", "t1", "t1", "c1"); - orc_program_append_str (p, "shrsw", "t1", "t1", "c2"); - orc_program_append_str (p, "subw", "d1", "d1", "t1"); - break; - case 2: - p = orc_program_new (); - orc_program_add_destination (p, 2, "d1"); - orc_program_add_source (p, 2, "s1"); - orc_program_add_source (p, 2, "s2"); - orc_program_add_constant (p, 2, 1, "c1"); - orc_program_add_constant (p, 2, 1, "c2"); - orc_program_add_temporary (p, 2, "t1"); - - orc_program_append_str (p, "addw", "t1", "s1", "s2"); - orc_program_append_str (p, "addw", "t1", "t1", "c1"); - orc_program_append_str (p, "shrsw", "t1", "t1", "c2"); - orc_program_append_str (p, "addw", "d1", "d1", "t1"); - break; - case 3: - p = orc_program_new (); - orc_program_add_destination (p, 2, "d1"); - orc_program_add_source (p, 2, "s1"); - orc_program_add_source (p, 2, "s2"); - orc_program_add_constant (p, 2, 1, "c1"); - orc_program_add_constant (p, 2, 1, "c2"); - orc_program_add_temporary (p, 2, "t1"); - - orc_program_append_str (p, "addw", "t1", "s1", "s2"); - orc_program_append_str (p, "addw", "t1", "t1", "c1"); - orc_program_append_str (p, "shrsw", "t1", "t1", "c2"); - orc_program_append_str (p, "subw", "d1", "d1", "t1"); - break; - case 4: - p = orc_program_new_dss (2,2,2); - orc_program_add_constant (p, 2, 1, "c1"); - orc_program_add_temporary (p, 2, "t1"); - - orc_program_append_str (p, "addw", "t1", "s1", "c1"); - orc_program_append_str (p, "shrsw", "d1", "t1", "c1"); - break; - case 5: - p = orc_program_new_dss (2,2,2); - - orc_program_append_str (p, "addw", "d1", "s1", "s2"); - break; - case 6: - p = orc_program_new_ds (2,2); - orc_program_add_constant (p, 2, 1, "c1"); - - orc_program_append_str (p, "shlw", "d1", "s1", "c1"); - break; - case 7: - p = orc_program_new_ds (2,2); - orc_program_add_constant (p, 2, 2, "c1"); - - orc_program_append_str (p, "shlw", "d1", "s1", "c1"); - break; - case 8: - p = orc_program_new_dss (2,2,2); - orc_program_add_temporary (p, 2, "t1"); - orc_program_add_temporary (p, 4, "t2"); - orc_program_add_parameter (p, 2, "p1"); - orc_program_add_parameter (p, 4, "p2"); - orc_program_add_parameter (p, 4, "p3"); - - orc_program_append_str (p, "addw", "t1", "s1", "s2"); - orc_program_append_str (p, "mulswl", "t2", "t1", "p1"); - orc_program_append_str (p, "addl", "t2", "t2", "p2"); - orc_program_append_str (p, "shll", "t2", "t2", "p3"); - orc_program_append_ds_str (p, "convlw", "t1", "t2"); - orc_program_append_str (p, "addw", "d1", "d1", "t1"); - break; - case 9: - p = orc_program_new (); - orc_program_add_destination (p, 2, "d1"); - orc_program_add_source (p, 2, "s20"); - orc_program_add_source (p, 2, "s21"); - orc_program_add_source (p, 2, "s22"); - orc_program_add_source (p, 2, "s23"); - orc_program_add_constant (p, 2, 9, "c1"); - orc_program_add_parameter (p, 2, "p1"); - orc_program_add_parameter (p, 2, "p2"); - orc_program_add_temporary (p, 2, "t1"); - orc_program_add_temporary (p, 2, "t2"); - - orc_program_append_str (p, "addw", "t1", "s21", "s22"); - orc_program_append_str (p, "mullw", "t1", "t1", "c1"); - orc_program_append_str (p, "addw", "t2", "s20", "s23"); - orc_program_append_str (p, "subw", "t1", "t1", "t2"); - orc_program_append_str (p, "addw", "t1", "t1", "p1"); - orc_program_append_str (p, "shrsw", "t1", "t1", "p2"); - orc_program_append_str (p, "addw", "d1", "d1", "t1"); - break; - case 10: - p = orc_program_new (); - orc_program_add_destination (p, 2, "d1"); - orc_program_add_source (p, 2, "s20"); - orc_program_add_source (p, 2, "s21"); - orc_program_add_source (p, 2, "s22"); - orc_program_add_source (p, 2, "s23"); - orc_program_add_constant (p, 2, 9, "c1"); - orc_program_add_parameter (p, 2, "p1"); - orc_program_add_parameter (p, 2, "p2"); - orc_program_add_temporary (p, 2, "t1"); - orc_program_add_temporary (p, 2, "t2"); - - orc_program_append_str (p, "addw", "t1", "s21", "s22"); - orc_program_append_str (p, "mullw", "t1", "t1", "c1"); - orc_program_append_str (p, "addw", "t2", "s20", "s23"); - orc_program_append_str (p, "subw", "t1", "t1", "t2"); - orc_program_append_str (p, "addw", "t1", "t1", "p1"); - orc_program_append_str (p, "shrsw", "t1", "t1", "p2"); - orc_program_append_str (p, "subw", "d1", "d1", "t1"); - break; - case 11: - p = orc_program_new_dss (2,2,2); - - orc_program_append_str (p, "subw", "d1", "s1", "s2"); - break; - case 12: - p = orc_program_new_ds (1,1); - orc_program_append_ds_str (p, "copyb", "d1", "s1"); - break; - case 13: - p = orc_program_new_dss (2,2,1); - orc_program_add_temporary (p, 2, "t1"); - - orc_program_append_ds_str (p, "convubw", "t1", "s2"); - orc_program_append_str (p, "addw", "d1", "t1", "s1"); - break; - case 14: - p = orc_program_new_ds (2,1); - - orc_program_append_ds_str (p, "convubw", "d1", "s1"); - break; - case 15: - p = orc_program_new_ds (1,2); - - orc_program_append_ds_str (p, "convsuswb", "d1", "s1"); - break; - case 16: - p = orc_program_new_dss (2,2,1); - orc_program_add_temporary (p, 2, "t1"); - - orc_program_append_ds_str (p, "convubw", "t1", "s2"); - orc_program_append_str (p, "subw", "d1", "s1", "t1"); - break; - case 17: - p = orc_program_new_dss (2,2,2); - orc_program_add_source (p, 1, "s3"); - orc_program_add_temporary (p, 2, "t1"); - - orc_program_append_ds_str (p, "convubw", "t1", "s3"); - orc_program_append_str (p, "mullw", "t1", "t1", "s2"); - orc_program_append_str (p, "addw", "d1", "s1", "t1"); - break; - default: - return NULL; + case 0: + p = orc_program_new (); + orc_program_add_destination (p, 2, "d1"); + orc_program_add_source (p, 2, "s1"); + orc_program_add_source (p, 2, "s2"); + orc_program_add_constant (p, 2, 2, "c1"); + orc_program_add_constant (p, 2, 2, "c2"); + orc_program_add_temporary (p, 2, "t1"); + + orc_program_append_str (p, "addw", "t1", "s1", "s2"); + orc_program_append_str (p, "addw", "t1", "t1", "c1"); + orc_program_append_str (p, "shrsw", "t1", "t1", "c2"); + orc_program_append_str (p, "addw", "d1", "d1", "t1"); + break; + case 1: + p = orc_program_new (); + orc_program_add_destination (p, 2, "d1"); + orc_program_add_source (p, 2, "s1"); + orc_program_add_source (p, 2, "s2"); + orc_program_add_constant (p, 2, 2, "c1"); + orc_program_add_constant (p, 2, 2, "c2"); + orc_program_add_temporary (p, 2, "t1"); + + orc_program_append_str (p, "addw", "t1", "s1", "s2"); + orc_program_append_str (p, "addw", "t1", "t1", "c1"); + orc_program_append_str (p, "shrsw", "t1", "t1", "c2"); + orc_program_append_str (p, "subw", "d1", "d1", "t1"); + break; + case 2: + p = orc_program_new (); + orc_program_add_destination (p, 2, "d1"); + orc_program_add_source (p, 2, "s1"); + orc_program_add_source (p, 2, "s2"); + orc_program_add_constant (p, 2, 1, "c1"); + orc_program_add_constant (p, 2, 1, "c2"); + orc_program_add_temporary (p, 2, "t1"); + + orc_program_append_str (p, "addw", "t1", "s1", "s2"); + orc_program_append_str (p, "addw", "t1", "t1", "c1"); + orc_program_append_str (p, "shrsw", "t1", "t1", "c2"); + orc_program_append_str (p, "addw", "d1", "d1", "t1"); + break; + case 3: + p = orc_program_new (); + orc_program_add_destination (p, 2, "d1"); + orc_program_add_source (p, 2, "s1"); + orc_program_add_source (p, 2, "s2"); + orc_program_add_constant (p, 2, 1, "c1"); + orc_program_add_constant (p, 2, 1, "c2"); + orc_program_add_temporary (p, 2, "t1"); + + orc_program_append_str (p, "addw", "t1", "s1", "s2"); + orc_program_append_str (p, "addw", "t1", "t1", "c1"); + orc_program_append_str (p, "shrsw", "t1", "t1", "c2"); + orc_program_append_str (p, "subw", "d1", "d1", "t1"); + break; + case 4: + p = orc_program_new_dss (2, 2, 2); + orc_program_add_constant (p, 2, 1, "c1"); + orc_program_add_temporary (p, 2, "t1"); + + orc_program_append_str (p, "addw", "t1", "s1", "c1"); + orc_program_append_str (p, "shrsw", "d1", "t1", "c1"); + break; + case 5: + p = orc_program_new_dss (2, 2, 2); + + orc_program_append_str (p, "addw", "d1", "s1", "s2"); + break; + case 6: + p = orc_program_new_ds (2, 2); + orc_program_add_constant (p, 2, 1, "c1"); + + orc_program_append_str (p, "shlw", "d1", "s1", "c1"); + break; + case 7: + p = orc_program_new_ds (2, 2); + orc_program_add_constant (p, 2, 2, "c1"); + + orc_program_append_str (p, "shlw", "d1", "s1", "c1"); + break; + case 8: + p = orc_program_new_dss (2, 2, 2); + orc_program_add_temporary (p, 2, "t1"); + orc_program_add_temporary (p, 4, "t2"); + orc_program_add_parameter (p, 2, "p1"); + orc_program_add_parameter (p, 4, "p2"); + orc_program_add_parameter (p, 4, "p3"); + + orc_program_append_str (p, "addw", "t1", "s1", "s2"); + orc_program_append_str (p, "mulswl", "t2", "t1", "p1"); + orc_program_append_str (p, "addl", "t2", "t2", "p2"); + orc_program_append_str (p, "shll", "t2", "t2", "p3"); + orc_program_append_ds_str (p, "convlw", "t1", "t2"); + orc_program_append_str (p, "addw", "d1", "d1", "t1"); + break; + case 9: + p = orc_program_new (); + orc_program_add_destination (p, 2, "d1"); + orc_program_add_source (p, 2, "s20"); + orc_program_add_source (p, 2, "s21"); + orc_program_add_source (p, 2, "s22"); + orc_program_add_source (p, 2, "s23"); + orc_program_add_constant (p, 2, 9, "c1"); + orc_program_add_parameter (p, 2, "p1"); + orc_program_add_parameter (p, 2, "p2"); + orc_program_add_temporary (p, 2, "t1"); + orc_program_add_temporary (p, 2, "t2"); + + orc_program_append_str (p, "addw", "t1", "s21", "s22"); + orc_program_append_str (p, "mullw", "t1", "t1", "c1"); + orc_program_append_str (p, "addw", "t2", "s20", "s23"); + orc_program_append_str (p, "subw", "t1", "t1", "t2"); + orc_program_append_str (p, "addw", "t1", "t1", "p1"); + orc_program_append_str (p, "shrsw", "t1", "t1", "p2"); + orc_program_append_str (p, "addw", "d1", "d1", "t1"); + break; + case 10: + p = orc_program_new (); + orc_program_add_destination (p, 2, "d1"); + orc_program_add_source (p, 2, "s20"); + orc_program_add_source (p, 2, "s21"); + orc_program_add_source (p, 2, "s22"); + orc_program_add_source (p, 2, "s23"); + orc_program_add_constant (p, 2, 9, "c1"); + orc_program_add_parameter (p, 2, "p1"); + orc_program_add_parameter (p, 2, "p2"); + orc_program_add_temporary (p, 2, "t1"); + orc_program_add_temporary (p, 2, "t2"); + + orc_program_append_str (p, "addw", "t1", "s21", "s22"); + orc_program_append_str (p, "mullw", "t1", "t1", "c1"); + orc_program_append_str (p, "addw", "t2", "s20", "s23"); + orc_program_append_str (p, "subw", "t1", "t1", "t2"); + orc_program_append_str (p, "addw", "t1", "t1", "p1"); + orc_program_append_str (p, "shrsw", "t1", "t1", "p2"); + orc_program_append_str (p, "subw", "d1", "d1", "t1"); + break; + case 11: + p = orc_program_new_dss (2, 2, 2); + + orc_program_append_str (p, "subw", "d1", "s1", "s2"); + break; + case 12: + p = orc_program_new_ds (1, 1); + orc_program_append_ds_str (p, "copyb", "d1", "s1"); + break; + case 13: + p = orc_program_new_dss (2, 2, 1); + orc_program_add_temporary (p, 2, "t1"); + + orc_program_append_ds_str (p, "convubw", "t1", "s2"); + orc_program_append_str (p, "addw", "d1", "t1", "s1"); + break; + case 14: + p = orc_program_new_ds (2, 1); + + orc_program_append_ds_str (p, "convubw", "d1", "s1"); + break; + case 15: + p = orc_program_new_ds (1, 2); + + orc_program_append_ds_str (p, "convsuswb", "d1", "s1"); + break; + case 16: + p = orc_program_new_dss (2, 2, 1); + orc_program_add_temporary (p, 2, "t1"); + + orc_program_append_ds_str (p, "convubw", "t1", "s2"); + orc_program_append_str (p, "subw", "d1", "s1", "t1"); + break; + case 17: + p = orc_program_new_dss (2, 2, 2); + orc_program_add_source (p, 1, "s3"); + orc_program_add_temporary (p, 2, "t1"); + + orc_program_append_ds_str (p, "convubw", "t1", "s3"); + orc_program_append_str (p, "mullw", "t1", "t1", "s2"); + orc_program_append_str (p, "addw", "d1", "s1", "t1"); + break; + default: + return NULL; } return p; @@ -215,9 +215,9 @@ test_program (int type) char s[40]; OrcTestResult ret; - p = get_program(type); + p = get_program (type); - sprintf(s, "test_schro_%d", type); + sprintf (s, "test_schro_%d", type); orc_program_set_name (p, s); ret = orc_test_compare_output (p); @@ -232,15 +232,15 @@ main (int argc, char *argv[]) { int i; - orc_init(); - orc_test_init(); + orc_init (); + orc_test_init (); - for(i=0;i<18;i++){ + for (i = 0; i < 18; i++) { //printf("/* %d */\n", i); test_program (i); } - if (error) return 1; + if (error) + return 1; return 0; } - |