85 test_divc(a0, a1); 86 test_divv(a0, a1, (int)VALUE); 87 test_diva(a0, a1, a2); 88 test_mulc_n(a0, a1); 89 test_mulv(a0, a1, (int)-VALUE); 90 test_mula(a0, a1, a3); 91 test_divc_n(a0, a1); 92 test_divv(a0, a1, (int)-VALUE); 93 test_diva(a0, a1, a3); 94 95 test_andc(a0, a1); 96 test_andv(a0, a1, (int)BIT_MASK); 97 test_anda(a0, a1, a4); 98 test_orc(a0, a1); 99 test_orv(a0, a1, (int)BIT_MASK); 100 test_ora(a0, a1, a4); 101 test_xorc(a0, a1); 102 test_xorv(a0, a1, (int)BIT_MASK); 103 test_xora(a0, a1, a4); 104 105 test_sllc(a0, a1); 106 test_sllv(a0, a1, VALUE); 107 test_srlc(a0, a1); 108 test_srlv(a0, a1, VALUE); 109 test_srac(a0, a1); 110 test_srav(a0, a1, VALUE); 111 112 test_sllc_n(a0, a1); 113 test_sllv(a0, a1, -VALUE); 114 test_srlc_n(a0, a1); 115 test_srlv(a0, a1, -VALUE); 116 test_srac_n(a0, a1); 117 test_srav(a0, a1, -VALUE); 118 119 test_sllc_o(a0, a1); 120 test_sllv(a0, a1, SHIFT); 121 test_srlc_o(a0, a1); 122 test_srlv(a0, a1, SHIFT); 123 test_srac_o(a0, a1); 124 test_srav(a0, a1, SHIFT); 259 errn += verify("test_orv: ", i, a0[i], (int)((int)(ADD_INIT+i)|BIT_MASK)); 260 } 261 test_ora(a0, a1, a4); 262 for (int i=0; i<ARRLEN; i++) { 263 errn += verify("test_ora: ", i, a0[i], (int)((int)(ADD_INIT+i)|BIT_MASK)); 264 } 265 266 test_xorc(a0, a1); 267 for (int i=0; i<ARRLEN; i++) { 268 errn += verify("test_xorc: ", i, a0[i], (int)((int)(ADD_INIT+i)^BIT_MASK)); 269 } 270 test_xorv(a0, a1, (int)BIT_MASK); 271 for (int i=0; i<ARRLEN; i++) { 272 errn += verify("test_xorv: ", i, a0[i], (int)((int)(ADD_INIT+i)^BIT_MASK)); 273 } 274 test_xora(a0, a1, a4); 275 for (int i=0; i<ARRLEN; i++) { 276 errn += verify("test_xora: ", i, a0[i], (int)((int)(ADD_INIT+i)^BIT_MASK)); 277 } 278 279 test_sllc(a0, a1); 280 for (int i=0; i<ARRLEN; i++) { 281 errn += verify("test_sllc: ", i, a0[i], (int)((int)(ADD_INIT+i)<<VALUE)); 282 } 283 test_sllv(a0, a1, VALUE); 284 for (int i=0; i<ARRLEN; i++) { 285 errn += verify("test_sllv: ", i, a0[i], (int)((int)(ADD_INIT+i)<<VALUE)); 286 } 287 288 test_srlc(a0, a1); 289 for (int i=0; i<ARRLEN; i++) { 290 errn += verify("test_srlc: ", i, a0[i], (int)((int)(ADD_INIT+i)>>>VALUE)); 291 } 292 test_srlv(a0, a1, VALUE); 293 for (int i=0; i<ARRLEN; i++) { 294 errn += verify("test_srlv: ", i, a0[i], (int)((int)(ADD_INIT+i)>>>VALUE)); 295 } 296 297 test_srac(a0, a1); 298 for (int i=0; i<ARRLEN; i++) { 633 for (int i=0; i<ITERS; i++) { 634 test_xorc(a0, a1); 635 } 636 end = System.currentTimeMillis(); 637 System.out.println("test_xorc: " + (end - start)); 638 start = System.currentTimeMillis(); 639 for (int i=0; i<ITERS; i++) { 640 test_xorv(a0, a1, (int)BIT_MASK); 641 } 642 end = System.currentTimeMillis(); 643 System.out.println("test_xorv: " + (end - start)); 644 start = System.currentTimeMillis(); 645 for (int i=0; i<ITERS; i++) { 646 test_xora(a0, a1, a4); 647 } 648 end = System.currentTimeMillis(); 649 System.out.println("test_xora: " + (end - start)); 650 651 start = System.currentTimeMillis(); 652 for (int i=0; i<ITERS; i++) { 653 test_sllc(a0, a1); 654 } 655 end = System.currentTimeMillis(); 656 System.out.println("test_sllc: " + (end - start)); 657 start = System.currentTimeMillis(); 658 for (int i=0; i<ITERS; i++) { 659 test_sllv(a0, a1, VALUE); 660 } 661 end = System.currentTimeMillis(); 662 System.out.println("test_sllv: " + (end - start)); 663 664 start = System.currentTimeMillis(); 665 for (int i=0; i<ITERS; i++) { 666 test_srlc(a0, a1); 667 } 668 end = System.currentTimeMillis(); 669 System.out.println("test_srlc: " + (end - start)); 670 start = System.currentTimeMillis(); 671 for (int i=0; i<ITERS; i++) { 672 test_srlv(a0, a1, VALUE); 1020 } 1021 static void test_ora(int[] a0, int[] a1, int[] a2) { 1022 for (int i = 0; i < a0.length; i+=1) { 1023 a0[i] = (int)(a1[i]|a2[i]); 1024 } 1025 } 1026 1027 static void test_xorc(int[] a0, int[] a1) { 1028 for (int i = 0; i < a0.length; i+=1) { 1029 a0[i] = (int)(a1[i]^BIT_MASK); 1030 } 1031 } 1032 static void test_xorv(int[] a0, int[] a1, int b) { 1033 for (int i = 0; i < a0.length; i+=1) { 1034 a0[i] = (int)(a1[i]^b); 1035 } 1036 } 1037 static void test_xora(int[] a0, int[] a1, int[] a2) { 1038 for (int i = 0; i < a0.length; i+=1) { 1039 a0[i] = (int)(a1[i]^a2[i]); 1040 } 1041 } 1042 1043 static void test_sllc(int[] a0, int[] a1) { 1044 for (int i = 0; i < a0.length; i+=1) { 1045 a0[i] = (int)(a1[i]<<VALUE); 1046 } 1047 } 1048 static void test_sllc_n(int[] a0, int[] a1) { 1049 for (int i = 0; i < a0.length; i+=1) { 1050 a0[i] = (int)(a1[i]<<(-VALUE)); 1051 } 1052 } 1053 static void test_sllc_o(int[] a0, int[] a1) { 1054 for (int i = 0; i < a0.length; i+=1) { 1055 a0[i] = (int)(a1[i]<<SHIFT); 1056 } 1057 } 1058 static void test_sllc_on(int[] a0, int[] a1) { 1059 for (int i = 0; i < a0.length; i+=1) { | 85 test_divc(a0, a1); 86 test_divv(a0, a1, (int)VALUE); 87 test_diva(a0, a1, a2); 88 test_mulc_n(a0, a1); 89 test_mulv(a0, a1, (int)-VALUE); 90 test_mula(a0, a1, a3); 91 test_divc_n(a0, a1); 92 test_divv(a0, a1, (int)-VALUE); 93 test_diva(a0, a1, a3); 94 95 test_andc(a0, a1); 96 test_andv(a0, a1, (int)BIT_MASK); 97 test_anda(a0, a1, a4); 98 test_orc(a0, a1); 99 test_orv(a0, a1, (int)BIT_MASK); 100 test_ora(a0, a1, a4); 101 test_xorc(a0, a1); 102 test_xorv(a0, a1, (int)BIT_MASK); 103 test_xora(a0, a1, a4); 104 105 test_absc(a0, a1); 106 test_negc(a0, a1); 107 test_notc(a0, a1); 108 109 test_sllc(a0, a1); 110 test_sllv(a0, a1, VALUE); 111 test_srlc(a0, a1); 112 test_srlv(a0, a1, VALUE); 113 test_srac(a0, a1); 114 test_srav(a0, a1, VALUE); 115 116 test_sllc_n(a0, a1); 117 test_sllv(a0, a1, -VALUE); 118 test_srlc_n(a0, a1); 119 test_srlv(a0, a1, -VALUE); 120 test_srac_n(a0, a1); 121 test_srav(a0, a1, -VALUE); 122 123 test_sllc_o(a0, a1); 124 test_sllv(a0, a1, SHIFT); 125 test_srlc_o(a0, a1); 126 test_srlv(a0, a1, SHIFT); 127 test_srac_o(a0, a1); 128 test_srav(a0, a1, SHIFT); 263 errn += verify("test_orv: ", i, a0[i], (int)((int)(ADD_INIT+i)|BIT_MASK)); 264 } 265 test_ora(a0, a1, a4); 266 for (int i=0; i<ARRLEN; i++) { 267 errn += verify("test_ora: ", i, a0[i], (int)((int)(ADD_INIT+i)|BIT_MASK)); 268 } 269 270 test_xorc(a0, a1); 271 for (int i=0; i<ARRLEN; i++) { 272 errn += verify("test_xorc: ", i, a0[i], (int)((int)(ADD_INIT+i)^BIT_MASK)); 273 } 274 test_xorv(a0, a1, (int)BIT_MASK); 275 for (int i=0; i<ARRLEN; i++) { 276 errn += verify("test_xorv: ", i, a0[i], (int)((int)(ADD_INIT+i)^BIT_MASK)); 277 } 278 test_xora(a0, a1, a4); 279 for (int i=0; i<ARRLEN; i++) { 280 errn += verify("test_xora: ", i, a0[i], (int)((int)(ADD_INIT+i)^BIT_MASK)); 281 } 282 283 test_absc(a0, a1); 284 for (int i=0; i<ARRLEN; i++) { 285 errn += verify("test_absc: ", i, a0[i], (int)(Math.abs((int)(ADD_INIT+i)))); 286 } 287 288 test_negc(a0, a1); 289 for (int i=0; i<ARRLEN; i++) { 290 errn += verify("test_negc: ", i, a0[i], (int)(-(int)(ADD_INIT+i))); 291 } 292 293 test_notc(a0, a1); 294 for (int i=0; i<ARRLEN; i++) { 295 errn += verify("test_notc: ", i, a0[i], (int)(~(int)(ADD_INIT+i))); 296 } 297 298 test_sllc(a0, a1); 299 for (int i=0; i<ARRLEN; i++) { 300 errn += verify("test_sllc: ", i, a0[i], (int)((int)(ADD_INIT+i)<<VALUE)); 301 } 302 test_sllv(a0, a1, VALUE); 303 for (int i=0; i<ARRLEN; i++) { 304 errn += verify("test_sllv: ", i, a0[i], (int)((int)(ADD_INIT+i)<<VALUE)); 305 } 306 307 test_srlc(a0, a1); 308 for (int i=0; i<ARRLEN; i++) { 309 errn += verify("test_srlc: ", i, a0[i], (int)((int)(ADD_INIT+i)>>>VALUE)); 310 } 311 test_srlv(a0, a1, VALUE); 312 for (int i=0; i<ARRLEN; i++) { 313 errn += verify("test_srlv: ", i, a0[i], (int)((int)(ADD_INIT+i)>>>VALUE)); 314 } 315 316 test_srac(a0, a1); 317 for (int i=0; i<ARRLEN; i++) { 652 for (int i=0; i<ITERS; i++) { 653 test_xorc(a0, a1); 654 } 655 end = System.currentTimeMillis(); 656 System.out.println("test_xorc: " + (end - start)); 657 start = System.currentTimeMillis(); 658 for (int i=0; i<ITERS; i++) { 659 test_xorv(a0, a1, (int)BIT_MASK); 660 } 661 end = System.currentTimeMillis(); 662 System.out.println("test_xorv: " + (end - start)); 663 start = System.currentTimeMillis(); 664 for (int i=0; i<ITERS; i++) { 665 test_xora(a0, a1, a4); 666 } 667 end = System.currentTimeMillis(); 668 System.out.println("test_xora: " + (end - start)); 669 670 start = System.currentTimeMillis(); 671 for (int i=0; i<ITERS; i++) { 672 test_absc(a0, a1); 673 } 674 end = System.currentTimeMillis(); 675 System.out.println("test_absc: " + (end - start)); 676 677 start = System.currentTimeMillis(); 678 for (int i=0; i<ITERS; i++) { 679 test_negc(a0, a1); 680 } 681 end = System.currentTimeMillis(); 682 System.out.println("test_negc: " + (end - start)); 683 684 start = System.currentTimeMillis(); 685 for (int i=0; i<ITERS; i++) { 686 test_notc(a0, a1); 687 } 688 end = System.currentTimeMillis(); 689 System.out.println("test_notc: " + (end - start)); 690 691 start = System.currentTimeMillis(); 692 for (int i=0; i<ITERS; i++) { 693 test_sllc(a0, a1); 694 } 695 end = System.currentTimeMillis(); 696 System.out.println("test_sllc: " + (end - start)); 697 start = System.currentTimeMillis(); 698 for (int i=0; i<ITERS; i++) { 699 test_sllv(a0, a1, VALUE); 700 } 701 end = System.currentTimeMillis(); 702 System.out.println("test_sllv: " + (end - start)); 703 704 start = System.currentTimeMillis(); 705 for (int i=0; i<ITERS; i++) { 706 test_srlc(a0, a1); 707 } 708 end = System.currentTimeMillis(); 709 System.out.println("test_srlc: " + (end - start)); 710 start = System.currentTimeMillis(); 711 for (int i=0; i<ITERS; i++) { 712 test_srlv(a0, a1, VALUE); 1060 } 1061 static void test_ora(int[] a0, int[] a1, int[] a2) { 1062 for (int i = 0; i < a0.length; i+=1) { 1063 a0[i] = (int)(a1[i]|a2[i]); 1064 } 1065 } 1066 1067 static void test_xorc(int[] a0, int[] a1) { 1068 for (int i = 0; i < a0.length; i+=1) { 1069 a0[i] = (int)(a1[i]^BIT_MASK); 1070 } 1071 } 1072 static void test_xorv(int[] a0, int[] a1, int b) { 1073 for (int i = 0; i < a0.length; i+=1) { 1074 a0[i] = (int)(a1[i]^b); 1075 } 1076 } 1077 static void test_xora(int[] a0, int[] a1, int[] a2) { 1078 for (int i = 0; i < a0.length; i+=1) { 1079 a0[i] = (int)(a1[i]^a2[i]); 1080 } 1081 } 1082 1083 static void test_absc(int[] a0, int[] a1) { 1084 for (int i = 0; i < a0.length; i+=1) { 1085 a0[i] = (int)(Math.abs(a1[i])); 1086 } 1087 } 1088 1089 static void test_negc(int[] a0, int[] a1) { 1090 for (int i = 0; i < a0.length; i+=1) { 1091 a0[i] = (int)(-a1[i]); 1092 } 1093 } 1094 1095 static void test_notc(int[] a0, int[] a1) { 1096 for (int i = 0; i < a0.length; i+=1) { 1097 a0[i] = (int)(~a1[i]); 1098 } 1099 } 1100 1101 static void test_sllc(int[] a0, int[] a1) { 1102 for (int i = 0; i < a0.length; i+=1) { 1103 a0[i] = (int)(a1[i]<<VALUE); 1104 } 1105 } 1106 static void test_sllc_n(int[] a0, int[] a1) { 1107 for (int i = 0; i < a0.length; i+=1) { 1108 a0[i] = (int)(a1[i]<<(-VALUE)); 1109 } 1110 } 1111 static void test_sllc_o(int[] a0, int[] a1) { 1112 for (int i = 0; i < a0.length; i+=1) { 1113 a0[i] = (int)(a1[i]<<SHIFT); 1114 } 1115 } 1116 static void test_sllc_on(int[] a0, int[] a1) { 1117 for (int i = 0; i < a0.length; i+=1) { |