+ perm_type_t cycle_tp = PERM_CYCLE;
+
+ /* We could be right in the middle of a chain, so we need to find the start */
+ while (head != cur_idx) {
+ /* goto previous register in cycle or chain */
+ cur_pair_idx = get_pairidx_for_regidx(pairs, n, head, 1);
+
+ if (cur_pair_idx < 0) {
+ cycle_tp = PERM_CHAIN;
+ break;
+ }
+ else {
+ head = pairs[cur_pair_idx].in_reg->index;
+ start = cur_pair_idx;
+ }
+ }