3, 7, 11, 15, 19, 23, 27, 31, 30, 26, 22, 18, 14, 10, 6, 2,
1, 5, 9, 13, 17, 21, 25, 29, 28, 24, 20, 16, 12, 8, 4, 0
};
+#elif defined GC_40
+// NUMCORES4GC = 40
+unsigned int gc_core2block[80] = {
+ 0,79, 15,64, 16,63, 31,48, 32,47,
+ 1,78, 14,65, 17,62, 30,49, 33,46,
+ 2,77, 13,66, 18,61, 29,50, 34,45,
+ 3,76, 12,67, 19,60, 28,51, 35,44,
+ 4,75, 11,68, 20,59, 27,52, 36,43,
+ 5,74, 10,69, 21,58, 26,53, 37,42,
+ 6,73, 9,70, 22,57, 25,54, 38,41,
+ 7,72, 8,71, 23,56, 24,55, 39,40
+};
+
+unsigned int gc_block2core[80] = {
+ 0, 5, 10, 15, 20, 25, 30, 35, 36, 31, 26, 21, 16, 11, 6, 1,
+ 2, 7, 12, 17, 22, 27, 32, 37, 38, 33, 28, 23, 18, 13, 8, 3,
+ 4, 9, 14, 19, 24, 29, 34, 39, 39, 34, 29, 24, 19, 14, 9, 4,
+ 3, 8, 13, 18, 23, 28, 33, 38, 37, 32, 27, 22, 17, 12, 7, 2,
+ 1, 6, 11, 16, 21, 26, 31, 36, 35, 30, 25, 20, 15, 10, 5, 0
+};
+#elif defined GC_44
+// NUMCORES4GC = 44
+unsigned int gc_core2block[88] = {
+ 0,87, 15,72, 16,71, 31,56, 32,55, 43,44,
+ 1,86, 14,73, 17,70, 30,57, 33,54, 42,45,
+ 2,85, 13,74, 18,69, 29,58, 34,53, 41,46,
+ 3,84, 12,75, 19,68, 28,59, 35,52, 40,47
+ 4,83, 11,76, 20,67, 27,60, 36,51,
+ 5,82, 10,77, 21,66, 26,61, 37,50,
+ 6,81, 9,78, 22,65, 25,62, 38,49,
+ 7,80, 8,79, 23,64, 24,63, 39,48
+};
+
+unsigned int gc_block2core[96] = {
+ 0, 6, 12, 18, 24, 29, 34, 39, 40, 35, 30, 25, 19, 13, 7, 1,
+ 2, 8, 14, 20, 26, 31, 38, 44, 45, 39, 33, 27, 21, 15, 9, 3,
+ 4, 10, 16, 22, 28, 34, 40, 46, 47, 41, 35, 29, 23, 17, 11, 5,
+ 5, 11, 17, 23, 29, 35, 41, 47, 46, 40, 34, 28, 22, 16, 10, 4,
+ 3, 9, 15, 21, 27, 33, 39, 45, 44, 38, 32, 26, 20, 14, 8, 2,
+ 1, 7, 13, 19, 25, 31, 37, 43, 42, 36, 30, 24, 18, 12, 6, 0
+};
#elif defined GC_48
-// NUMCORES4GC = 50
+// NUMCORES4GC = 48
unsigned int gc_core2block[96] = {
0,95, 15,80, 16,79, 31,64, 32,63, 47,48,
1,94, 14,81, 17,78, 30,65, 33,62, 46,49,