|
|
1.1 root 1: 0 for the whole things. */
2:
3: fmt = GET_RTX_FORMAT (code);
4: for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
5: {
6: register int j;
7: switch (fmt[i])
8: {
9: case 'i':
10: if (XINT (x, i) != XINT (y, i))
11: return 0;
12: break;
13:
14: case 's':
15: if (strcmp (XSTR (x, i), XSTR (y, i)))
16: return 0;
17: break;
18:
19: case 'e':
20: if (! rtx_renumbered_equal_p (XEXP (x, i), XEXP (y, i)))
21: return 0;
22: break;
23:
24: case '0':
25: break;
26:
27: case 'E':
28: if (XVECLEN (x, i) != XVECLEN (y, i))
29: return 0;
30: for (j = XVECLEN (x, i) - 1; j >= 0; j--)
31: if (!rtx_renumbered_equal_p (XVECEXP (x, i, j), XVECEXP (y, i, j)))
32: return 0;
33: break;
34:
35: /* It is believed that rtx's at this level will never
36: contain anything but integers and other rtx's,
37: except for within LABEL_REFs and SYMBOL_REFs. */
38: default:
39: abort ();
40: }
41: }
42: return 1;
43: }
44:
45: /* If X is a hard register or equivalent to one or a subregister of one,
46: return the hard register number. Otherwise, return -1.
47: Any rtx is valid for X. */
48:
49: int
50: true_regnum (x)
51: rtx x;
52: {
53: if (GET_CODE (x) == REG)
54: {
55: if (REGNO (x) >= FIRST_PSEUDO_REGISTER)
56: return reg_renumber[R
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.