summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/cc/cc_int/insn-extract.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/cc/cc_int/insn-extract.c')
-rw-r--r--gnu/usr.bin/cc/cc_int/insn-extract.c533
1 files changed, 533 insertions, 0 deletions
diff --git a/gnu/usr.bin/cc/cc_int/insn-extract.c b/gnu/usr.bin/cc/cc_int/insn-extract.c
new file mode 100644
index 0000000..7f6f1a4
--- /dev/null
+++ b/gnu/usr.bin/cc/cc_int/insn-extract.c
@@ -0,0 +1,533 @@
+/* Generated automatically by the program `genextract'
+from the machine description file `md'. */
+
+#include "config.h"
+#include "rtl.h"
+
+static rtx junk;
+extern rtx recog_operand[];
+extern rtx *recog_operand_loc[];
+extern rtx *recog_dup_loc[];
+extern char recog_dup_num[];
+extern
+#ifdef __GNUC__
+__volatile__
+#endif
+void fatal_insn_not_found ();
+
+void
+insn_extract (insn)
+ rtx insn;
+{
+ register rtx *ro = recog_operand;
+ register rtx **ro_loc = recog_operand_loc;
+ rtx pat = PATTERN (insn);
+ switch (INSN_CODE (insn))
+ {
+ case -1:
+ fatal_insn_not_found (insn);
+
+ case 308:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 0), 0));
+ ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 1));
+ ro[3] = *(ro_loc[3] = &XVECEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0, 2));
+ recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
+ recog_dup_num[0] = 1;
+ break;
+
+ case 306:
+ case 303:
+ case 302:
+ case 300:
+ case 299:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
+ ro[3] = *(ro_loc[3] = &XEXP (pat, 1));
+ break;
+
+ case 305:
+ case 301:
+ case 298:
+ case 297:
+ case 295:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
+ ro[3] = *(ro_loc[3] = &XEXP (pat, 1));
+ break;
+
+ case 304:
+ case 296:
+ case 294:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
+ ro[3] = *(ro_loc[3] = &XEXP (pat, 1));
+ break;
+
+ case 289:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 2), 0));
+ recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 5), 0);
+ recog_dup_num[0] = 2;
+ recog_dup_loc[1] = &XEXP (XVECEXP (pat, 0, 4), 0);
+ recog_dup_num[1] = 1;
+ recog_dup_loc[2] = &XEXP (XVECEXP (pat, 0, 3), 0);
+ recog_dup_num[2] = 0;
+ break;
+
+ case 288:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
+ ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (pat, 0, 2), 0));
+ recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 5), 0);
+ recog_dup_num[0] = 3;
+ recog_dup_loc[1] = &XEXP (XVECEXP (pat, 0, 4), 0);
+ recog_dup_num[1] = 2;
+ recog_dup_loc[2] = &XEXP (XVECEXP (pat, 0, 3), 0);
+ recog_dup_num[2] = 1;
+ break;
+
+ case 286:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 2), 0));
+ ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (pat, 0, 3), 0));
+ recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 5), 0);
+ recog_dup_num[0] = 1;
+ recog_dup_loc[1] = &XEXP (XVECEXP (pat, 0, 4), 0);
+ recog_dup_num[1] = 0;
+ break;
+
+ case 284:
+ case 283:
+ break;
+
+ case 282:
+ ro[0] = *(ro_loc[0] = &XVECEXP (pat, 0, 0));
+ break;
+
+ case 280:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 0), 0));
+ ro[1] = *(ro_loc[1] = &XVECEXP (pat, 0, 1));
+ ro[2] = *(ro_loc[2] = &XVECEXP (pat, 0, 2));
+ break;
+
+ case 279:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XVECEXP (pat, 0, 1));
+ ro[2] = *(ro_loc[2] = &XVECEXP (pat, 0, 2));
+ break;
+
+ case 277:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
+ break;
+
+ case 274:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
+ ro[3] = const0_rtx;
+ ro_loc[3] = &junk;
+ ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
+ break;
+
+ case 273:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
+ ro[3] = const0_rtx;
+ ro_loc[3] = &junk;
+ ro[4] = *(ro_loc[4] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
+ break;
+
+ case 268:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 0), 1));
+ ro[2] = const0_rtx;
+ ro_loc[2] = &junk;
+ ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
+ break;
+
+ case 267:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 0), 1));
+ ro[2] = const0_rtx;
+ ro_loc[2] = &junk;
+ ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1));
+ break;
+
+ case 265:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 1));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0));
+ break;
+
+ case 264:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0), 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0), 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ break;
+
+ case 261:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
+ break;
+
+ case 260:
+ case 259:
+ case 258:
+ case 257:
+ case 256:
+ case 255:
+ case 254:
+ case 253:
+ case 252:
+ case 251:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 2), 0));
+ break;
+
+ case 250:
+ case 248:
+ case 246:
+ case 244:
+ case 242:
+ case 240:
+ case 238:
+ case 236:
+ case 234:
+ case 232:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
+ break;
+
+ case 230:
+ case 228:
+ case 226:
+ case 224:
+ case 222:
+ case 220:
+ case 218:
+ case 216:
+ case 214:
+ case 212:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ break;
+
+ case 210:
+ case 209:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 2));
+ break;
+
+ case 208:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 2));
+ break;
+
+ case 207:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 1));
+ break;
+
+ case 206:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
+ break;
+
+ case 205:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
+ ro[1] = const0_rtx;
+ ro_loc[1] = &junk;
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 0), 2));
+ ro[3] = *(ro_loc[3] = &XEXP (pat, 1));
+ break;
+
+ case 195:
+ case 189:
+ case 183:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
+ recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
+ recog_dup_num[0] = 2;
+ break;
+
+ case 177:
+ case 174:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (XEXP (pat, 1), 0, 0), 0));
+ break;
+
+ case 176:
+ case 175:
+ case 173:
+ case 172:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (pat, 1), 0, 0));
+ break;
+
+ case 293:
+ case 291:
+ case 171:
+ case 170:
+ case 168:
+ case 165:
+ case 163:
+ case 160:
+ case 158:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
+ break;
+
+ case 142:
+ case 141:
+ case 140:
+ case 139:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
+ ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ recog_dup_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
+ recog_dup_num[0] = 1;
+ recog_dup_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 1);
+ recog_dup_num[1] = 2;
+ break;
+
+ case 130:
+ case 129:
+ case 128:
+ case 127:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
+ break;
+
+ case 276:
+ case 204:
+ case 203:
+ case 202:
+ case 201:
+ case 200:
+ case 199:
+ case 198:
+ case 197:
+ case 196:
+ case 194:
+ case 192:
+ case 191:
+ case 190:
+ case 188:
+ case 186:
+ case 185:
+ case 184:
+ case 182:
+ case 151:
+ case 150:
+ case 149:
+ case 148:
+ case 147:
+ case 146:
+ case 145:
+ case 144:
+ case 143:
+ case 135:
+ case 134:
+ case 126:
+ case 125:
+ case 124:
+ case 123:
+ case 119:
+ case 118:
+ case 117:
+ case 116:
+ case 111:
+ case 110:
+ case 109:
+ case 108:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 1));
+ break;
+
+ case 95:
+ case 94:
+ case 93:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 2), 0));
+ ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (pat, 0, 3), 0));
+ break;
+
+ case 89:
+ case 88:
+ case 87:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 2), 0));
+ ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 3), 0));
+ ro[4] = *(ro_loc[4] = &XEXP (XVECEXP (pat, 0, 4), 0));
+ recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
+ recog_dup_num[0] = 1;
+ break;
+
+ case 78:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ break;
+
+ case 180:
+ case 179:
+ case 178:
+ case 169:
+ case 167:
+ case 166:
+ case 164:
+ case 162:
+ case 161:
+ case 159:
+ case 157:
+ case 156:
+ case 155:
+ case 154:
+ case 153:
+ case 152:
+ case 107:
+ case 106:
+ case 105:
+ case 104:
+ case 103:
+ case 102:
+ case 80:
+ case 79:
+ case 76:
+ case 75:
+ case 74:
+ case 73:
+ case 72:
+ case 71:
+ case 70:
+ case 69:
+ case 68:
+ case 67:
+ case 66:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
+ break;
+
+ case 62:
+ case 59:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 0), 1));
+ recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0);
+ recog_dup_num[0] = 1;
+ recog_dup_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 1);
+ recog_dup_num[1] = 0;
+ break;
+
+ case 271:
+ case 55:
+ case 52:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (pat, 1));
+ break;
+
+ case 270:
+ case 112:
+ case 65:
+ case 64:
+ case 63:
+ case 61:
+ case 60:
+ case 58:
+ case 57:
+ case 56:
+ case 54:
+ case 53:
+ case 51:
+ case 50:
+ case 49:
+ case 47:
+ case 46:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
+ ro[1] = *(ro_loc[1] = &XEXP (pat, 1));
+ break;
+
+ case 33:
+ case 29:
+ case 23:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
+ ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ break;
+
+ case 32:
+ case 28:
+ case 26:
+ case 20:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
+ ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 0), 1));
+ ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ break;
+
+ case 31:
+ case 27:
+ case 25:
+ case 22:
+ case 21:
+ case 19:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
+ ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 0), 1));
+ ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ break;
+
+ case 30:
+ case 24:
+ case 18:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
+ ro[2] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 0), 1));
+ ro[3] = *(ro_loc[3] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ break;
+
+ case 45:
+ case 44:
+ case 43:
+ case 16:
+ case 14:
+ case 12:
+ ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
+ ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
+ break;
+
+ case 10:
+ case 8:
+ case 6:
+ ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 1));
+ ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 1), 0));
+ break;
+
+ case 262:
+ case 4:
+ case 2:
+ case 0:
+ ro[0] = *(ro_loc[0] = &XEXP (pat, 1));
+ break;
+
+ default:
+ abort ();
+ }
+}
OpenPOWER on IntegriCloud