Mercurial > hg > truffle
comparison test/compiler/6340864/TestLongVect.java @ 6938:8940ddc1036f
Merge
author | zgu |
---|---|
date | Mon, 05 Nov 2012 13:55:31 -0800 |
parents | b2c669fd8114 |
children |
comparison
equal
deleted
inserted
replaced
6937:69ad7823b1ca | 6938:8940ddc1036f |
---|---|
71 test_addv(a0, a1, (long)VALUE); | 71 test_addv(a0, a1, (long)VALUE); |
72 test_adda(a0, a1, a2); | 72 test_adda(a0, a1, a2); |
73 test_subc(a0, a1); | 73 test_subc(a0, a1); |
74 test_subv(a0, a1, (long)VALUE); | 74 test_subv(a0, a1, (long)VALUE); |
75 test_suba(a0, a1, a2); | 75 test_suba(a0, a1, a2); |
76 | |
76 test_mulc(a0, a1); | 77 test_mulc(a0, a1); |
77 test_mulv(a0, a1, (long)VALUE); | 78 test_mulv(a0, a1, (long)VALUE); |
78 test_mula(a0, a1, a2); | 79 test_mula(a0, a1, a2); |
79 test_divc(a0, a1); | 80 test_divc(a0, a1); |
80 test_divv(a0, a1, (long)VALUE); | 81 test_divv(a0, a1, (long)VALUE); |
83 test_mulv(a0, a1, (long)-VALUE); | 84 test_mulv(a0, a1, (long)-VALUE); |
84 test_mula(a0, a1, a3); | 85 test_mula(a0, a1, a3); |
85 test_divc_n(a0, a1); | 86 test_divc_n(a0, a1); |
86 test_divv(a0, a1, (long)-VALUE); | 87 test_divv(a0, a1, (long)-VALUE); |
87 test_diva(a0, a1, a3); | 88 test_diva(a0, a1, a3); |
89 | |
88 test_andc(a0, a1); | 90 test_andc(a0, a1); |
89 test_andv(a0, a1, (long)BIT_MASK); | 91 test_andv(a0, a1, (long)BIT_MASK); |
90 test_anda(a0, a1, a4); | 92 test_anda(a0, a1, a4); |
91 test_orc(a0, a1); | 93 test_orc(a0, a1); |
92 test_orv(a0, a1, (long)BIT_MASK); | 94 test_orv(a0, a1, (long)BIT_MASK); |
93 test_ora(a0, a1, a4); | 95 test_ora(a0, a1, a4); |
94 test_xorc(a0, a1); | 96 test_xorc(a0, a1); |
95 test_xorv(a0, a1, (long)BIT_MASK); | 97 test_xorv(a0, a1, (long)BIT_MASK); |
96 test_xora(a0, a1, a4); | 98 test_xora(a0, a1, a4); |
99 | |
97 test_sllc(a0, a1); | 100 test_sllc(a0, a1); |
98 test_sllv(a0, a1, VALUE); | 101 test_sllv(a0, a1, VALUE); |
99 test_srlc(a0, a1); | 102 test_srlc(a0, a1); |
100 test_srlv(a0, a1, VALUE); | 103 test_srlv(a0, a1, VALUE); |
101 test_srac(a0, a1); | 104 test_srac(a0, a1); |
102 test_srav(a0, a1, VALUE); | 105 test_srav(a0, a1, VALUE); |
106 | |
103 test_sllc_n(a0, a1); | 107 test_sllc_n(a0, a1); |
104 test_sllv(a0, a1, -VALUE); | 108 test_sllv(a0, a1, -VALUE); |
105 test_srlc_n(a0, a1); | 109 test_srlc_n(a0, a1); |
106 test_srlv(a0, a1, -VALUE); | 110 test_srlv(a0, a1, -VALUE); |
107 test_srac_n(a0, a1); | 111 test_srac_n(a0, a1); |
108 test_srav(a0, a1, -VALUE); | 112 test_srav(a0, a1, -VALUE); |
113 | |
109 test_sllc_o(a0, a1); | 114 test_sllc_o(a0, a1); |
110 test_sllv(a0, a1, SHIFT); | 115 test_sllv(a0, a1, SHIFT); |
111 test_srlc_o(a0, a1); | 116 test_srlc_o(a0, a1); |
112 test_srlv(a0, a1, SHIFT); | 117 test_srlv(a0, a1, SHIFT); |
113 test_srac_o(a0, a1); | 118 test_srac_o(a0, a1); |
114 test_srav(a0, a1, SHIFT); | 119 test_srav(a0, a1, SHIFT); |
120 | |
115 test_sllc_on(a0, a1); | 121 test_sllc_on(a0, a1); |
116 test_sllv(a0, a1, -SHIFT); | 122 test_sllv(a0, a1, -SHIFT); |
117 test_srlc_on(a0, a1); | 123 test_srlc_on(a0, a1); |
118 test_srlv(a0, a1, -SHIFT); | 124 test_srlv(a0, a1, -SHIFT); |
119 test_srac_on(a0, a1); | 125 test_srac_on(a0, a1); |
120 test_srav(a0, a1, -SHIFT); | 126 test_srav(a0, a1, -SHIFT); |
127 | |
128 test_sllc_add(a0, a1); | |
129 test_sllv_add(a0, a1, ADD_INIT); | |
130 test_srlc_add(a0, a1); | |
131 test_srlv_add(a0, a1, ADD_INIT); | |
132 test_srac_add(a0, a1); | |
133 test_srav_add(a0, a1, ADD_INIT); | |
134 | |
135 test_sllc_and(a0, a1); | |
136 test_sllv_and(a0, a1, BIT_MASK); | |
137 test_srlc_and(a0, a1); | |
138 test_srlv_and(a0, a1, BIT_MASK); | |
139 test_srac_and(a0, a1); | |
140 test_srav_and(a0, a1, BIT_MASK); | |
121 } | 141 } |
122 // Test and verify results | 142 // Test and verify results |
123 System.out.println("Verification"); | 143 System.out.println("Verification"); |
124 int errn = 0; | 144 int errn = 0; |
125 { | 145 { |
352 test_srav(a0, a1, -SHIFT); | 372 test_srav(a0, a1, -SHIFT); |
353 for (int i=0; i<ARRLEN; i++) { | 373 for (int i=0; i<ARRLEN; i++) { |
354 errn += verify("test_srav_on: ", i, a0[i], (long)((long)(ADD_INIT+i)>>(-SHIFT))); | 374 errn += verify("test_srav_on: ", i, a0[i], (long)((long)(ADD_INIT+i)>>(-SHIFT))); |
355 } | 375 } |
356 | 376 |
377 test_sllc_add(a0, a1); | |
378 for (int i=0; i<ARRLEN; i++) { | |
379 errn += verify("test_sllc_add: ", i, a0[i], (long)(((long)(ADD_INIT+i) + ADD_INIT)<<VALUE)); | |
380 } | |
381 test_sllv_add(a0, a1, ADD_INIT); | |
382 for (int i=0; i<ARRLEN; i++) { | |
383 errn += verify("test_sllv_add: ", i, a0[i], (long)(((long)(ADD_INIT+i) + ADD_INIT)<<VALUE)); | |
384 } | |
385 | |
386 test_srlc_add(a0, a1); | |
387 for (int i=0; i<ARRLEN; i++) { | |
388 errn += verify("test_srlc_add: ", i, a0[i], (long)(((long)(ADD_INIT+i) + ADD_INIT)>>>VALUE)); | |
389 } | |
390 test_srlv_add(a0, a1, ADD_INIT); | |
391 for (int i=0; i<ARRLEN; i++) { | |
392 errn += verify("test_srlv_add: ", i, a0[i], (long)(((long)(ADD_INIT+i) + ADD_INIT)>>>VALUE)); | |
393 } | |
394 | |
395 test_srac_add(a0, a1); | |
396 for (int i=0; i<ARRLEN; i++) { | |
397 errn += verify("test_srac_add: ", i, a0[i], (long)(((long)(ADD_INIT+i) + ADD_INIT)>>VALUE)); | |
398 } | |
399 test_srav_add(a0, a1, ADD_INIT); | |
400 for (int i=0; i<ARRLEN; i++) { | |
401 errn += verify("test_srav_add: ", i, a0[i], (long)(((long)(ADD_INIT+i) + ADD_INIT)>>VALUE)); | |
402 } | |
403 | |
404 test_sllc_and(a0, a1); | |
405 for (int i=0; i<ARRLEN; i++) { | |
406 errn += verify("test_sllc_and: ", i, a0[i], (long)(((long)(ADD_INIT+i) & BIT_MASK)<<VALUE)); | |
407 } | |
408 test_sllv_and(a0, a1, BIT_MASK); | |
409 for (int i=0; i<ARRLEN; i++) { | |
410 errn += verify("test_sllv_and: ", i, a0[i], (long)(((long)(ADD_INIT+i) & BIT_MASK)<<VALUE)); | |
411 } | |
412 | |
413 test_srlc_and(a0, a1); | |
414 for (int i=0; i<ARRLEN; i++) { | |
415 errn += verify("test_srlc_and: ", i, a0[i], (long)(((long)(ADD_INIT+i) & BIT_MASK)>>>VALUE)); | |
416 } | |
417 test_srlv_and(a0, a1, BIT_MASK); | |
418 for (int i=0; i<ARRLEN; i++) { | |
419 errn += verify("test_srlv_and: ", i, a0[i], (long)(((long)(ADD_INIT+i) & BIT_MASK)>>>VALUE)); | |
420 } | |
421 | |
422 test_srac_and(a0, a1); | |
423 for (int i=0; i<ARRLEN; i++) { | |
424 errn += verify("test_srac_and: ", i, a0[i], (long)(((long)(ADD_INIT+i) & BIT_MASK)>>VALUE)); | |
425 } | |
426 test_srav_and(a0, a1, BIT_MASK); | |
427 for (int i=0; i<ARRLEN; i++) { | |
428 errn += verify("test_srav_and: ", i, a0[i], (long)(((long)(ADD_INIT+i) & BIT_MASK)>>VALUE)); | |
429 } | |
430 | |
357 } | 431 } |
358 | 432 |
359 if (errn > 0) | 433 if (errn > 0) |
360 return errn; | 434 return errn; |
361 | 435 |
693 for (int i=0; i<ITERS; i++) { | 767 for (int i=0; i<ITERS; i++) { |
694 test_srav(a0, a1, -SHIFT); | 768 test_srav(a0, a1, -SHIFT); |
695 } | 769 } |
696 end = System.currentTimeMillis(); | 770 end = System.currentTimeMillis(); |
697 System.out.println("test_srav_on: " + (end - start)); | 771 System.out.println("test_srav_on: " + (end - start)); |
772 | |
773 start = System.currentTimeMillis(); | |
774 for (int i=0; i<ITERS; i++) { | |
775 test_sllc_add(a0, a1); | |
776 } | |
777 end = System.currentTimeMillis(); | |
778 System.out.println("test_sllc_add: " + (end - start)); | |
779 start = System.currentTimeMillis(); | |
780 for (int i=0; i<ITERS; i++) { | |
781 test_sllv_add(a0, a1, ADD_INIT); | |
782 } | |
783 end = System.currentTimeMillis(); | |
784 System.out.println("test_sllv_add: " + (end - start)); | |
785 | |
786 start = System.currentTimeMillis(); | |
787 for (int i=0; i<ITERS; i++) { | |
788 test_srlc_add(a0, a1); | |
789 } | |
790 end = System.currentTimeMillis(); | |
791 System.out.println("test_srlc_add: " + (end - start)); | |
792 start = System.currentTimeMillis(); | |
793 for (int i=0; i<ITERS; i++) { | |
794 test_srlv_add(a0, a1, ADD_INIT); | |
795 } | |
796 end = System.currentTimeMillis(); | |
797 System.out.println("test_srlv_add: " + (end - start)); | |
798 | |
799 start = System.currentTimeMillis(); | |
800 for (int i=0; i<ITERS; i++) { | |
801 test_srac_add(a0, a1); | |
802 } | |
803 end = System.currentTimeMillis(); | |
804 System.out.println("test_srac_add: " + (end - start)); | |
805 start = System.currentTimeMillis(); | |
806 for (int i=0; i<ITERS; i++) { | |
807 test_srav_add(a0, a1, ADD_INIT); | |
808 } | |
809 end = System.currentTimeMillis(); | |
810 System.out.println("test_srav_add: " + (end - start)); | |
811 | |
812 start = System.currentTimeMillis(); | |
813 for (int i=0; i<ITERS; i++) { | |
814 test_sllc_and(a0, a1); | |
815 } | |
816 end = System.currentTimeMillis(); | |
817 System.out.println("test_sllc_and: " + (end - start)); | |
818 start = System.currentTimeMillis(); | |
819 for (int i=0; i<ITERS; i++) { | |
820 test_sllv_and(a0, a1, BIT_MASK); | |
821 } | |
822 end = System.currentTimeMillis(); | |
823 System.out.println("test_sllv_and: " + (end - start)); | |
824 | |
825 start = System.currentTimeMillis(); | |
826 for (int i=0; i<ITERS; i++) { | |
827 test_srlc_and(a0, a1); | |
828 } | |
829 end = System.currentTimeMillis(); | |
830 System.out.println("test_srlc_and: " + (end - start)); | |
831 start = System.currentTimeMillis(); | |
832 for (int i=0; i<ITERS; i++) { | |
833 test_srlv_and(a0, a1, BIT_MASK); | |
834 } | |
835 end = System.currentTimeMillis(); | |
836 System.out.println("test_srlv_and: " + (end - start)); | |
837 | |
838 start = System.currentTimeMillis(); | |
839 for (int i=0; i<ITERS; i++) { | |
840 test_srac_and(a0, a1); | |
841 } | |
842 end = System.currentTimeMillis(); | |
843 System.out.println("test_srac_and: " + (end - start)); | |
844 start = System.currentTimeMillis(); | |
845 for (int i=0; i<ITERS; i++) { | |
846 test_srav_and(a0, a1, BIT_MASK); | |
847 } | |
848 end = System.currentTimeMillis(); | |
849 System.out.println("test_srav_and: " + (end - start)); | |
698 | 850 |
699 return errn; | 851 return errn; |
700 } | 852 } |
701 | 853 |
702 static long test_sum(long[] a1) { | 854 static long test_sum(long[] a1) { |
852 static void test_sllv(long[] a0, long[] a1, int b) { | 1004 static void test_sllv(long[] a0, long[] a1, int b) { |
853 for (int i = 0; i < a0.length; i+=1) { | 1005 for (int i = 0; i < a0.length; i+=1) { |
854 a0[i] = (long)(a1[i]<<b); | 1006 a0[i] = (long)(a1[i]<<b); |
855 } | 1007 } |
856 } | 1008 } |
1009 static void test_sllc_add(long[] a0, long[] a1) { | |
1010 for (int i = 0; i < a0.length; i+=1) { | |
1011 a0[i] = (long)((a1[i] + ADD_INIT)<<VALUE); | |
1012 } | |
1013 } | |
1014 static void test_sllv_add(long[] a0, long[] a1, long b) { | |
1015 for (int i = 0; i < a0.length; i+=1) { | |
1016 a0[i] = (long)((a1[i] + b)<<VALUE); | |
1017 } | |
1018 } | |
1019 static void test_sllc_and(long[] a0, long[] a1) { | |
1020 for (int i = 0; i < a0.length; i+=1) { | |
1021 a0[i] = (long)((a1[i] & BIT_MASK)<<VALUE); | |
1022 } | |
1023 } | |
1024 static void test_sllv_and(long[] a0, long[] a1, long b) { | |
1025 for (int i = 0; i < a0.length; i+=1) { | |
1026 a0[i] = (long)((a1[i] & b)<<VALUE); | |
1027 } | |
1028 } | |
857 | 1029 |
858 static void test_srlc(long[] a0, long[] a1) { | 1030 static void test_srlc(long[] a0, long[] a1) { |
859 for (int i = 0; i < a0.length; i+=1) { | 1031 for (int i = 0; i < a0.length; i+=1) { |
860 a0[i] = (long)(a1[i]>>>VALUE); | 1032 a0[i] = (long)(a1[i]>>>VALUE); |
861 } | 1033 } |
878 static void test_srlv(long[] a0, long[] a1, int b) { | 1050 static void test_srlv(long[] a0, long[] a1, int b) { |
879 for (int i = 0; i < a0.length; i+=1) { | 1051 for (int i = 0; i < a0.length; i+=1) { |
880 a0[i] = (long)(a1[i]>>>b); | 1052 a0[i] = (long)(a1[i]>>>b); |
881 } | 1053 } |
882 } | 1054 } |
1055 static void test_srlc_add(long[] a0, long[] a1) { | |
1056 for (int i = 0; i < a0.length; i+=1) { | |
1057 a0[i] = (long)((a1[i] + ADD_INIT)>>>VALUE); | |
1058 } | |
1059 } | |
1060 static void test_srlv_add(long[] a0, long[] a1, long b) { | |
1061 for (int i = 0; i < a0.length; i+=1) { | |
1062 a0[i] = (long)((a1[i] + b)>>>VALUE); | |
1063 } | |
1064 } | |
1065 static void test_srlc_and(long[] a0, long[] a1) { | |
1066 for (int i = 0; i < a0.length; i+=1) { | |
1067 a0[i] = (long)((a1[i] & BIT_MASK)>>>VALUE); | |
1068 } | |
1069 } | |
1070 static void test_srlv_and(long[] a0, long[] a1, long b) { | |
1071 for (int i = 0; i < a0.length; i+=1) { | |
1072 a0[i] = (long)((a1[i] & b)>>>VALUE); | |
1073 } | |
1074 } | |
883 | 1075 |
884 static void test_srac(long[] a0, long[] a1) { | 1076 static void test_srac(long[] a0, long[] a1) { |
885 for (int i = 0; i < a0.length; i+=1) { | 1077 for (int i = 0; i < a0.length; i+=1) { |
886 a0[i] = (long)(a1[i]>>VALUE); | 1078 a0[i] = (long)(a1[i]>>VALUE); |
887 } | 1079 } |
902 } | 1094 } |
903 } | 1095 } |
904 static void test_srav(long[] a0, long[] a1, int b) { | 1096 static void test_srav(long[] a0, long[] a1, int b) { |
905 for (int i = 0; i < a0.length; i+=1) { | 1097 for (int i = 0; i < a0.length; i+=1) { |
906 a0[i] = (long)(a1[i]>>b); | 1098 a0[i] = (long)(a1[i]>>b); |
1099 } | |
1100 } | |
1101 static void test_srac_add(long[] a0, long[] a1) { | |
1102 for (int i = 0; i < a0.length; i+=1) { | |
1103 a0[i] = (long)((a1[i] + ADD_INIT)>>VALUE); | |
1104 } | |
1105 } | |
1106 static void test_srav_add(long[] a0, long[] a1, long b) { | |
1107 for (int i = 0; i < a0.length; i+=1) { | |
1108 a0[i] = (long)((a1[i] + b)>>VALUE); | |
1109 } | |
1110 } | |
1111 static void test_srac_and(long[] a0, long[] a1) { | |
1112 for (int i = 0; i < a0.length; i+=1) { | |
1113 a0[i] = (long)((a1[i] & BIT_MASK)>>VALUE); | |
1114 } | |
1115 } | |
1116 static void test_srav_and(long[] a0, long[] a1, long b) { | |
1117 for (int i = 0; i < a0.length; i+=1) { | |
1118 a0[i] = (long)((a1[i] & b)>>VALUE); | |
907 } | 1119 } |
908 } | 1120 } |
909 | 1121 |
910 static int verify(String text, int i, long elem, long val) { | 1122 static int verify(String text, int i, long elem, long val) { |
911 if (elem != val) { | 1123 if (elem != val) { |