488 lines
13 KiB
C
488 lines
13 KiB
C
/* 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 270:
|
|
case 269:
|
|
case 268:
|
|
case 261:
|
|
case 260:
|
|
case 259:
|
|
case 258:
|
|
case 257:
|
|
case 256:
|
|
case 255:
|
|
case 254:
|
|
case 253:
|
|
case 252:
|
|
case 251:
|
|
case 250:
|
|
case 249:
|
|
case 248:
|
|
case 247:
|
|
#if __GNUC__ > 1 && !defined (bcopy)
|
|
#define bcopy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
|
|
#endif
|
|
bcopy (&XVECEXP (pat, 0, 0), ro,
|
|
sizeof (rtx) * XVECLEN (pat, 0));
|
|
break;
|
|
|
|
case 267:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 1));
|
|
break;
|
|
|
|
case 232:
|
|
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 228:
|
|
ro[0] = *(ro_loc[0] = &XEXP (pat, 1));
|
|
break;
|
|
|
|
case 231:
|
|
case 230:
|
|
case 227:
|
|
case 226:
|
|
break;
|
|
|
|
case 225:
|
|
ro[0] = *(ro_loc[0] = &XVECEXP (pat, 0, 0));
|
|
ro[1] = *(ro_loc[1] = &XVECEXP (pat, 0, 1));
|
|
break;
|
|
|
|
case 223:
|
|
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 219:
|
|
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] = *(ro_loc[2] = &XVECEXP (pat, 0, 1));
|
|
break;
|
|
|
|
case 218:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 0), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 0), 1));
|
|
break;
|
|
|
|
case 216:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
|
|
recog_dup_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
|
|
recog_dup_num[0] = 0;
|
|
break;
|
|
|
|
case 215:
|
|
case 214:
|
|
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 212:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
|
|
break;
|
|
|
|
case 202:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1));
|
|
break;
|
|
|
|
case 168:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 0));
|
|
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 1));
|
|
ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
|
|
recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 1);
|
|
recog_dup_num[0] = 3;
|
|
break;
|
|
|
|
case 167:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
|
|
ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 0));
|
|
break;
|
|
|
|
case 166:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 0));
|
|
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0), 1));
|
|
recog_dup_loc[0] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 0);
|
|
recog_dup_num[0] = 1;
|
|
recog_dup_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 1);
|
|
recog_dup_num[1] = 2;
|
|
break;
|
|
|
|
case 165:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XEXP (pat, 1), 0), 0), 1));
|
|
break;
|
|
|
|
case 164:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 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), 0), 1));
|
|
ro[3] = *(ro_loc[3] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
|
|
recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 1);
|
|
recog_dup_num[0] = 3;
|
|
break;
|
|
|
|
case 163:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
|
|
ro[2] = *(ro_loc[2] = &XEXP (XEXP (pat, 1), 0));
|
|
break;
|
|
|
|
case 141:
|
|
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, 2), 0));
|
|
recog_dup_loc[0] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 0);
|
|
recog_dup_num[0] = 1;
|
|
recog_dup_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 1);
|
|
recog_dup_num[1] = 2;
|
|
break;
|
|
|
|
case 211:
|
|
case 210:
|
|
case 206:
|
|
case 205:
|
|
case 140:
|
|
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));
|
|
break;
|
|
|
|
case 155:
|
|
case 154:
|
|
case 149:
|
|
case 148:
|
|
case 139:
|
|
case 136:
|
|
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 188:
|
|
case 187:
|
|
case 138:
|
|
case 135:
|
|
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 143:
|
|
case 133:
|
|
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 (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 0);
|
|
recog_dup_num[0] = 1;
|
|
recog_dup_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0), 1);
|
|
recog_dup_num[1] = 2;
|
|
break;
|
|
|
|
case 131:
|
|
case 127:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 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), 0), 1));
|
|
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 126:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
|
|
break;
|
|
|
|
case 266:
|
|
case 128:
|
|
case 124:
|
|
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));
|
|
break;
|
|
|
|
case 123:
|
|
case 122:
|
|
case 121:
|
|
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
|
break;
|
|
|
|
case 111:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
|
|
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 0), 2));
|
|
break;
|
|
|
|
case 104:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
|
|
recog_dup_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 1);
|
|
recog_dup_num[0] = 1;
|
|
break;
|
|
|
|
case 177:
|
|
case 172:
|
|
case 102:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0), 0));
|
|
recog_dup_loc[0] = &XEXP (XEXP (XVECEXP (pat, 0, 1), 1), 0);
|
|
recog_dup_num[0] = 1;
|
|
break;
|
|
|
|
case 176:
|
|
case 171:
|
|
case 103:
|
|
case 101:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (XEXP (pat, 1), 0), 0));
|
|
break;
|
|
|
|
case 94:
|
|
case 87:
|
|
case 81:
|
|
case 76:
|
|
case 72:
|
|
case 68:
|
|
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] = *(ro_loc[2] = &XEXP (XVECEXP (pat, 0, 1), 0));
|
|
break;
|
|
|
|
case 66:
|
|
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
|
|
ro[2] = *(ro_loc[2] = &XVECEXP (XEXP (XEXP (pat, 1), 1), 0, 0));
|
|
break;
|
|
|
|
case 208:
|
|
case 207:
|
|
case 203:
|
|
case 191:
|
|
case 190:
|
|
case 189:
|
|
case 186:
|
|
case 185:
|
|
case 184:
|
|
case 183:
|
|
case 182:
|
|
case 181:
|
|
case 180:
|
|
case 179:
|
|
case 178:
|
|
case 158:
|
|
case 157:
|
|
case 152:
|
|
case 151:
|
|
case 146:
|
|
case 145:
|
|
case 142:
|
|
case 132:
|
|
case 129:
|
|
case 125:
|
|
case 71:
|
|
case 67:
|
|
case 65:
|
|
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 62:
|
|
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
|
ro[1] = *(ro_loc[1] = &XVECEXP (XEXP (XEXP (pat, 1), 0), 0, 0));
|
|
break;
|
|
|
|
case 265:
|
|
case 264:
|
|
case 263:
|
|
case 262:
|
|
case 60:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XVECEXP (pat, 0, 0), 1));
|
|
break;
|
|
|
|
case 56:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 2), 0));
|
|
break;
|
|
|
|
case 55:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
|
|
break;
|
|
|
|
case 93:
|
|
case 92:
|
|
case 90:
|
|
case 89:
|
|
case 85:
|
|
case 84:
|
|
case 82:
|
|
case 80:
|
|
case 79:
|
|
case 77:
|
|
case 74:
|
|
case 70:
|
|
case 59:
|
|
case 44:
|
|
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (pat, 1));
|
|
break;
|
|
|
|
case 41:
|
|
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 162:
|
|
case 161:
|
|
case 75:
|
|
case 40:
|
|
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), 0), 1));
|
|
break;
|
|
|
|
case 200:
|
|
case 199:
|
|
case 198:
|
|
case 197:
|
|
case 196:
|
|
case 195:
|
|
case 194:
|
|
case 193:
|
|
case 192:
|
|
case 175:
|
|
case 174:
|
|
case 170:
|
|
case 120:
|
|
case 119:
|
|
case 118:
|
|
case 117:
|
|
case 116:
|
|
case 115:
|
|
case 114:
|
|
case 113:
|
|
case 112:
|
|
case 110:
|
|
case 108:
|
|
case 106:
|
|
case 100:
|
|
case 98:
|
|
case 96:
|
|
case 64:
|
|
case 63:
|
|
case 61:
|
|
case 43:
|
|
case 39:
|
|
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 0));
|
|
break;
|
|
|
|
case 38:
|
|
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 1), 0));
|
|
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XEXP (pat, 1), 1), 1));
|
|
break;
|
|
|
|
case 34:
|
|
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (pat, 1), 0), 1));
|
|
break;
|
|
|
|
case 42:
|
|
case 37:
|
|
case 33:
|
|
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
|
|
break;
|
|
|
|
case 36:
|
|
case 35:
|
|
case 32:
|
|
case 31:
|
|
ro[0] = *(ro_loc[0] = &XEXP (pat, 0));
|
|
break;
|
|
|
|
case 30:
|
|
case 28:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 1), 0));
|
|
ro[2] = *(ro_loc[2] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
|
|
break;
|
|
|
|
case 221:
|
|
case 29:
|
|
case 27:
|
|
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));
|
|
break;
|
|
|
|
case 26:
|
|
case 24:
|
|
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));
|
|
break;
|
|
|
|
case 169:
|
|
case 25:
|
|
case 23:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XVECEXP (pat, 0, 0), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (XVECEXP (pat, 0, 0), 1), 0));
|
|
break;
|
|
|
|
case 22:
|
|
case 21:
|
|
case 20:
|
|
case 19:
|
|
case 18:
|
|
case 17:
|
|
case 16:
|
|
ro[0] = *(ro_loc[0] = &XEXP (XEXP (pat, 1), 0));
|
|
ro[1] = *(ro_loc[1] = &XEXP (XEXP (pat, 1), 1));
|
|
break;
|
|
|
|
default:
|
|
abort ();
|
|
}
|
|
}
|