+/**
+ * Gets the index in the register pair array where the in/out register
+ * corresponds to reg_idx.
+ *
+ * @param pairs The array of register pairs
+ * @param n The number of pairs
+ * @param reg The register index to look for
+ * @param in_out 0 == look for IN register, 1 == look for OUT register
+ * @return The corresponding index in pairs or -1 if not found
+ */
+static int get_pairidx_for_regidx(reg_pair_t *pairs, int n, int reg_idx, int in_out) {
+ int i;
+
+ if (in_out) {
+ for (i = 0; i < n; i++) {
+ /* out register matches */
+ if (pairs[i].out_reg->index == reg_idx)
+ return i;
+ }
+ }
+ else {
+ for (i = 0; i < n; i++) {
+ /* in register matches */
+ if (pairs[i].in_reg->index == reg_idx)
+ return i;
+ }
+ }
+
+ return -1;
+}
+