Changeset 609 for branches/GNU/src/binutils/opcodes/fr30-desc.c
- Timestamp:
- Aug 16, 2003, 6:59:22 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GNU/src/binutils/opcodes/fr30-desc.c
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 3 3 THIS FILE IS MACHINE GENERATED WITH CGEN. 4 4 5 Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.5 Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. 6 6 7 7 This file is part of the GNU Binutils and/or GDB, the GNU debugger. … … 24 24 25 25 #include "sysdep.h" 26 #include <ctype.h>27 26 #include <stdio.h> 28 27 #include <stdarg.h> … … 34 33 #include "opintl.h" 35 34 #include "libiberty.h" 35 #include "xregex.h" 36 36 37 37 /* Attributes. */ … … 123 123 124 124 static const CGEN_MACH fr30_cgen_mach_table[] = { 125 { "fr30", "fr30", MACH_FR30 },126 { 0, 0, 0 }125 { "fr30", "fr30", MACH_FR30, 0 }, 126 { 0, 0, 0, 0 } 127 127 }; 128 128 … … 154 154 & fr30_cgen_opval_gr_names_entries[0], 155 155 19, 156 0, 0, 0, 0 156 0, 0, 0, 0, "" 157 157 }; 158 158 … … 181 181 & fr30_cgen_opval_cr_names_entries[0], 182 182 16, 183 0, 0, 0, 0 183 0, 0, 0, 0, "" 184 184 }; 185 185 … … 198 198 & fr30_cgen_opval_dr_names_entries[0], 199 199 6, 200 0, 0, 0, 0 200 0, 0, 0, 0, "" 201 201 }; 202 202 … … 210 210 & fr30_cgen_opval_h_ps_entries[0], 211 211 1, 212 0, 0, 0, 0 212 0, 0, 0, 0, "" 213 213 }; 214 214 … … 222 222 & fr30_cgen_opval_h_r13_entries[0], 223 223 1, 224 0, 0, 0, 0 224 0, 0, 0, 0, "" 225 225 }; 226 226 … … 234 234 & fr30_cgen_opval_h_r14_entries[0], 235 235 1, 236 0, 0, 0, 0 236 0, 0, 0, 0, "" 237 237 }; 238 238 … … 246 246 & fr30_cgen_opval_h_r15_entries[0], 247 247 1, 248 0, 0, 0, 0 249 }; 250 248 0, 0, 0, 0, "" 249 }; 251 250 252 251 253 252 /* The hardware table. */ 254 253 255 #define A(a) (1 << CONCAT2 (CGEN_HW_,a)) 254 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) 255 #define A(a) (1 << CGEN_HW_##a) 256 #else 257 #define A(a) (1 << CGEN_HW_/**/a) 258 #endif 256 259 257 260 const CGEN_HW_ENTRY fr30_cgen_hw_table[] = … … 287 290 #undef A 288 291 292 289 293 /* The instruction field table. */ 290 294 291 #define A(a) (1 << CONCAT2 (CGEN_IFLD_,a)) 295 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) 296 #define A(a) (1 << CGEN_IFLD_##a) 297 #else 298 #define A(a) (1 << CGEN_IFLD_/**/a) 299 #endif 292 300 293 301 const CGEN_IFLD fr30_cgen_ifld_table[] = … … 318 326 { FR30_F_I20_4, "f-i20-4", 0, 16, 8, 4, { 0, { (1<<MACH_BASE) } } }, 319 327 { FR30_F_I20_16, "f-i20-16", 16, 16, 0, 16, { 0, { (1<<MACH_BASE) } } }, 328 { FR30_F_I20, "f-i20", 0, 0, 0, 0,{ 0|A(VIRTUAL), { (1<<MACH_BASE) } } }, 320 329 { FR30_F_I32, "f-i32", 16, 32, 0, 32, { 0|A(SIGN_OPT), { (1<<MACH_BASE) } } }, 321 330 { FR30_F_UDISP6, "f-udisp6", 0, 16, 8, 4, { 0, { (1<<MACH_BASE) } } }, … … 339 348 #undef A 340 349 350 351 352 /* multi ifield declarations */ 353 354 const CGEN_MAYBE_MULTI_IFLD FR30_F_I20_MULTI_IFIELD []; 355 356 357 /* multi ifield definitions */ 358 359 const CGEN_MAYBE_MULTI_IFLD FR30_F_I20_MULTI_IFIELD [] = 360 { 361 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_I20_4] } }, 362 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_I20_16] } }, 363 { 0, { (const PTR) 0 } } 364 }; 365 341 366 /* The operand table. */ 342 367 343 #define A(a) (1 << CONCAT2 (CGEN_OPERAND_,a)) 344 #define OPERAND(op) CONCAT2 (FR30_OPERAND_,op) 368 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) 369 #define A(a) (1 << CGEN_OPERAND_##a) 370 #else 371 #define A(a) (1 << CGEN_OPERAND_/**/a) 372 #endif 373 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) 374 #define OPERAND(op) FR30_OPERAND_##op 375 #else 376 #define OPERAND(op) FR30_OPERAND_/**/op 377 #endif 345 378 346 379 const CGEN_OPERAND fr30_cgen_operand_table[] = … … 348 381 /* pc: program counter */ 349 382 { "pc", FR30_OPERAND_PC, HW_H_PC, 0, 0, 383 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_NIL] } }, 350 384 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 351 385 /* Ri: destination register */ 352 386 { "Ri", FR30_OPERAND_RI, HW_H_GR, 12, 4, 387 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_RI] } }, 353 388 { 0, { (1<<MACH_BASE) } } }, 354 389 /* Rj: source register */ 355 390 { "Rj", FR30_OPERAND_RJ, HW_H_GR, 8, 4, 391 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_RJ] } }, 356 392 { 0, { (1<<MACH_BASE) } } }, 357 393 /* Ric: target register coproc insn */ 358 394 { "Ric", FR30_OPERAND_RIC, HW_H_GR, 12, 4, 395 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_RIC] } }, 359 396 { 0, { (1<<MACH_BASE) } } }, 360 397 /* Rjc: source register coproc insn */ 361 398 { "Rjc", FR30_OPERAND_RJC, HW_H_GR, 8, 4, 399 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_RJC] } }, 362 400 { 0, { (1<<MACH_BASE) } } }, 363 401 /* CRi: coprocessor register */ 364 402 { "CRi", FR30_OPERAND_CRI, HW_H_CR, 12, 4, 403 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_CRI] } }, 365 404 { 0, { (1<<MACH_BASE) } } }, 366 405 /* CRj: coprocessor register */ 367 406 { "CRj", FR30_OPERAND_CRJ, HW_H_CR, 8, 4, 407 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_CRJ] } }, 368 408 { 0, { (1<<MACH_BASE) } } }, 369 409 /* Rs1: dedicated register */ 370 410 { "Rs1", FR30_OPERAND_RS1, HW_H_DR, 8, 4, 411 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_RS1] } }, 371 412 { 0, { (1<<MACH_BASE) } } }, 372 413 /* Rs2: dedicated register */ 373 414 { "Rs2", FR30_OPERAND_RS2, HW_H_DR, 12, 4, 415 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_RS2] } }, 374 416 { 0, { (1<<MACH_BASE) } } }, 375 417 /* R13: General Register 13 */ 376 418 { "R13", FR30_OPERAND_R13, HW_H_R13, 0, 0, 419 { 0, { (const PTR) 0 } }, 377 420 { 0, { (1<<MACH_BASE) } } }, 378 421 /* R14: General Register 14 */ 379 422 { "R14", FR30_OPERAND_R14, HW_H_R14, 0, 0, 423 { 0, { (const PTR) 0 } }, 380 424 { 0, { (1<<MACH_BASE) } } }, 381 425 /* R15: General Register 15 */ 382 426 { "R15", FR30_OPERAND_R15, HW_H_R15, 0, 0, 427 { 0, { (const PTR) 0 } }, 383 428 { 0, { (1<<MACH_BASE) } } }, 384 429 /* ps: Program Status register */ 385 430 { "ps", FR30_OPERAND_PS, HW_H_PS, 0, 0, 431 { 0, { (const PTR) 0 } }, 386 432 { 0, { (1<<MACH_BASE) } } }, 387 433 /* u4: 4 bit unsigned immediate */ 388 434 { "u4", FR30_OPERAND_U4, HW_H_UINT, 8, 4, 435 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_U4] } }, 389 436 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 390 437 /* u4c: 4 bit unsigned immediate */ 391 438 { "u4c", FR30_OPERAND_U4C, HW_H_UINT, 12, 4, 439 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_U4C] } }, 392 440 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 393 441 /* u8: 8 bit unsigned immediate */ 394 442 { "u8", FR30_OPERAND_U8, HW_H_UINT, 8, 8, 443 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_U8] } }, 395 444 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 396 445 /* i8: 8 bit unsigned immediate */ 397 446 { "i8", FR30_OPERAND_I8, HW_H_UINT, 4, 8, 447 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_I8] } }, 398 448 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 399 449 /* udisp6: 6 bit unsigned immediate */ 400 450 { "udisp6", FR30_OPERAND_UDISP6, HW_H_UINT, 8, 4, 451 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_UDISP6] } }, 401 452 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 402 453 /* disp8: 8 bit signed immediate */ 403 454 { "disp8", FR30_OPERAND_DISP8, HW_H_SINT, 4, 8, 455 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_DISP8] } }, 404 456 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 405 457 /* disp9: 9 bit signed immediate */ 406 458 { "disp9", FR30_OPERAND_DISP9, HW_H_SINT, 4, 8, 459 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_DISP9] } }, 407 460 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 408 461 /* disp10: 10 bit signed immediate */ 409 462 { "disp10", FR30_OPERAND_DISP10, HW_H_SINT, 4, 8, 463 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_DISP10] } }, 410 464 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 411 465 /* s10: 10 bit signed immediate */ 412 466 { "s10", FR30_OPERAND_S10, HW_H_SINT, 8, 8, 467 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_S10] } }, 413 468 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 414 469 /* u10: 10 bit unsigned immediate */ 415 470 { "u10", FR30_OPERAND_U10, HW_H_UINT, 8, 8, 471 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_U10] } }, 416 472 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 417 473 /* i32: 32 bit immediate */ 418 474 { "i32", FR30_OPERAND_I32, HW_H_UINT, 0, 32, 475 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_I32] } }, 419 476 { 0|A(HASH_PREFIX)|A(SIGN_OPT), { (1<<MACH_BASE) } } }, 420 477 /* m4: 4 bit negative immediate */ 421 478 { "m4", FR30_OPERAND_M4, HW_H_SINT, 8, 4, 479 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_M4] } }, 422 480 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 423 481 /* i20: 20 bit immediate */ 424 482 { "i20", FR30_OPERAND_I20, HW_H_UINT, 0, 20, 483 { 2, { (const PTR) &FR30_F_I20_MULTI_IFIELD[0] } }, 425 484 { 0|A(HASH_PREFIX)|A(VIRTUAL), { (1<<MACH_BASE) } } }, 426 485 /* dir8: 8 bit direct address */ 427 486 { "dir8", FR30_OPERAND_DIR8, HW_H_UINT, 8, 8, 487 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_DIR8] } }, 428 488 { 0, { (1<<MACH_BASE) } } }, 429 489 /* dir9: 9 bit direct address */ 430 490 { "dir9", FR30_OPERAND_DIR9, HW_H_UINT, 8, 8, 491 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_DIR9] } }, 431 492 { 0, { (1<<MACH_BASE) } } }, 432 493 /* dir10: 10 bit direct address */ 433 494 { "dir10", FR30_OPERAND_DIR10, HW_H_UINT, 8, 8, 495 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_DIR10] } }, 434 496 { 0, { (1<<MACH_BASE) } } }, 435 497 /* label9: 9 bit pc relative address */ 436 498 { "label9", FR30_OPERAND_LABEL9, HW_H_IADDR, 8, 8, 499 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_REL9] } }, 437 500 { 0|A(PCREL_ADDR), { (1<<MACH_BASE) } } }, 438 501 /* label12: 12 bit pc relative address */ 439 502 { "label12", FR30_OPERAND_LABEL12, HW_H_IADDR, 5, 11, 503 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_REL12] } }, 440 504 { 0|A(PCREL_ADDR), { (1<<MACH_BASE) } } }, 441 505 /* reglist_low_ld: 8 bit low register mask for ldm */ 442 506 { "reglist_low_ld", FR30_OPERAND_REGLIST_LOW_LD, HW_H_UINT, 8, 8, 507 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_REGLIST_LOW_LD] } }, 443 508 { 0, { (1<<MACH_BASE) } } }, 444 509 /* reglist_hi_ld: 8 bit high register mask for ldm */ 445 510 { "reglist_hi_ld", FR30_OPERAND_REGLIST_HI_LD, HW_H_UINT, 8, 8, 511 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_REGLIST_HI_LD] } }, 446 512 { 0, { (1<<MACH_BASE) } } }, 447 513 /* reglist_low_st: 8 bit low register mask for stm */ 448 514 { "reglist_low_st", FR30_OPERAND_REGLIST_LOW_ST, HW_H_UINT, 8, 8, 515 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_REGLIST_LOW_ST] } }, 449 516 { 0, { (1<<MACH_BASE) } } }, 450 517 /* reglist_hi_st: 8 bit high register mask for stm */ 451 518 { "reglist_hi_st", FR30_OPERAND_REGLIST_HI_ST, HW_H_UINT, 8, 8, 519 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_REGLIST_HI_ST] } }, 452 520 { 0, { (1<<MACH_BASE) } } }, 453 521 /* cc: condition codes */ 454 522 { "cc", FR30_OPERAND_CC, HW_H_UINT, 4, 4, 523 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_CC] } }, 455 524 { 0, { (1<<MACH_BASE) } } }, 456 525 /* ccc: coprocessor calc */ 457 526 { "ccc", FR30_OPERAND_CCC, HW_H_UINT, 0, 8, 527 { 0, { (const PTR) &fr30_cgen_ifld_table[FR30_F_CCC] } }, 458 528 { 0|A(HASH_PREFIX), { (1<<MACH_BASE) } } }, 459 529 /* nbit: negative bit */ 460 530 { "nbit", FR30_OPERAND_NBIT, HW_H_NBIT, 0, 0, 531 { 0, { (const PTR) 0 } }, 461 532 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 462 533 /* vbit: overflow bit */ 463 534 { "vbit", FR30_OPERAND_VBIT, HW_H_VBIT, 0, 0, 535 { 0, { (const PTR) 0 } }, 464 536 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 465 537 /* zbit: zero bit */ 466 538 { "zbit", FR30_OPERAND_ZBIT, HW_H_ZBIT, 0, 0, 539 { 0, { (const PTR) 0 } }, 467 540 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 468 541 /* cbit: carry bit */ 469 542 { "cbit", FR30_OPERAND_CBIT, HW_H_CBIT, 0, 0, 543 { 0, { (const PTR) 0 } }, 470 544 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 471 545 /* ibit: interrupt bit */ 472 546 { "ibit", FR30_OPERAND_IBIT, HW_H_IBIT, 0, 0, 547 { 0, { (const PTR) 0 } }, 473 548 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 474 549 /* sbit: stack bit */ 475 550 { "sbit", FR30_OPERAND_SBIT, HW_H_SBIT, 0, 0, 551 { 0, { (const PTR) 0 } }, 476 552 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 477 553 /* tbit: trace trap bit */ 478 554 { "tbit", FR30_OPERAND_TBIT, HW_H_TBIT, 0, 0, 555 { 0, { (const PTR) 0 } }, 479 556 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 480 557 /* d0bit: division 0 bit */ 481 558 { "d0bit", FR30_OPERAND_D0BIT, HW_H_D0BIT, 0, 0, 559 { 0, { (const PTR) 0 } }, 482 560 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 483 561 /* d1bit: division 1 bit */ 484 562 { "d1bit", FR30_OPERAND_D1BIT, HW_H_D1BIT, 0, 0, 563 { 0, { (const PTR) 0 } }, 485 564 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 486 565 /* ccr: condition code bits */ 487 566 { "ccr", FR30_OPERAND_CCR, HW_H_CCR, 0, 0, 567 { 0, { (const PTR) 0 } }, 488 568 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 489 569 /* scr: system condition bits */ 490 570 { "scr", FR30_OPERAND_SCR, HW_H_SCR, 0, 0, 571 { 0, { (const PTR) 0 } }, 491 572 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 492 573 /* ilm: interrupt level mask */ 493 574 { "ilm", FR30_OPERAND_ILM, HW_H_ILM, 0, 0, 575 { 0, { (const PTR) 0 } }, 494 576 { 0|A(SEM_ONLY), { (1<<MACH_BASE) } } }, 495 { 0, 0, 0, 0, 0, {0, {0}} } 577 /* sentinel */ 578 { 0, 0, 0, 0, 0, 579 { 0, { (const PTR) 0 } }, 580 { 0, { 0 } } } 496 581 }; 497 582 498 583 #undef A 499 584 500 #define A(a) (1 << CONCAT2 (CGEN_INSN_,a)) 585 586 /* The instruction table. */ 587 501 588 #define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field)) 502 503 /* The instruction table. */ 589 #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) 590 #define A(a) (1 << CGEN_INSN_##a) 591 #else 592 #define A(a) (1 << CGEN_INSN_/**/a) 593 #endif 504 594 505 595 static const CGEN_IBASE fr30_cgen_insn_table[MAX_INSNS] = … … 1336 1426 }; 1337 1427 1428 #undef OP 1338 1429 #undef A 1339 #undef MNEM1340 #undef OP1341 1430 1342 1431 /* Initialize anything needed to be done once, before any cpu_open call. */ 1432 static void init_tables PARAMS ((void)); 1343 1433 1344 1434 static void … … 1346 1436 { 1347 1437 } 1438 1439 static const CGEN_MACH * lookup_mach_via_bfd_name 1440 PARAMS ((const CGEN_MACH *, const char *)); 1441 static void build_hw_table PARAMS ((CGEN_CPU_TABLE *)); 1442 static void build_ifield_table PARAMS ((CGEN_CPU_TABLE *)); 1443 static void build_operand_table PARAMS ((CGEN_CPU_TABLE *)); 1444 static void build_insn_table PARAMS ((CGEN_CPU_TABLE *)); 1445 static void fr30_cgen_rebuild_tables PARAMS ((CGEN_CPU_TABLE *)); 1348 1446 1349 1447 /* Subroutine of fr30_cgen_cpu_open to look up a mach via its bfd name. */ … … 1456 1554 CGEN_CPU_TABLE *cd; 1457 1555 { 1458 int i ,n_isas;1556 int i; 1459 1557 unsigned int isas = cd->isas; 1460 #if 01461 1558 unsigned int machs = cd->machs; 1462 #endif1463 1559 1464 1560 cd->int_insn_p = CGEN_INT_INSN_P; … … 1475 1571 const CGEN_ISA *isa = & fr30_cgen_isa_table[i]; 1476 1572 1477 /* Default insn sizes of all selected isas must be equal or we set1478 the result to 0, meaning "unknown". */1573 /* Default insn sizes of all selected isas must be 1574 equal or we set the result to 0, meaning "unknown". */ 1479 1575 if (cd->default_insn_bitsize == UNSET) 1480 1576 cd->default_insn_bitsize = isa->default_insn_bitsize; … … 1484 1580 cd->default_insn_bitsize = CGEN_SIZE_UNKNOWN; 1485 1581 1486 /* Base insn sizes of all selected isas must be equal or we set1487 the result to 0, meaning "unknown". */1582 /* Base insn sizes of all selected isas must be equal 1583 or we set the result to 0, meaning "unknown". */ 1488 1584 if (cd->base_insn_bitsize == UNSET) 1489 1585 cd->base_insn_bitsize = isa->base_insn_bitsize; … … 1498 1594 if (isa->max_insn_bitsize > cd->max_insn_bitsize) 1499 1595 cd->max_insn_bitsize = isa->max_insn_bitsize; 1500 1501 ++n_isas;1502 1596 } 1503 1597 1504 #if 0 /* Does nothing?? */1505 1598 /* Data derived from the mach spec. */ 1506 1599 for (i = 0; i < MAX_MACHS; ++i) … … 1509 1602 const CGEN_MACH *mach = & fr30_cgen_mach_table[i]; 1510 1603 1511 ++n_machs; 1604 if (mach->insn_chunk_bitsize != 0) 1605 { 1606 if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize) 1607 { 1608 fprintf (stderr, "fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n", 1609 cd->insn_chunk_bitsize, mach->insn_chunk_bitsize); 1610 abort (); 1611 } 1612 1613 cd->insn_chunk_bitsize = mach->insn_chunk_bitsize; 1614 } 1512 1615 } 1513 #endif1514 1616 1515 1617 /* Determine which hw elements are used by MACH. */ … … 1580 1682 lookup_mach_via_bfd_name (fr30_cgen_mach_table, name); 1581 1683 1582 machs |= mach->num << 1;1684 machs |= 1 << mach->num; 1583 1685 break; 1584 1686 } … … 1651 1753 CGEN_CPU_DESC cd; 1652 1754 { 1755 unsigned int i; 1756 const CGEN_INSN *insns; 1757 1758 if (cd->macro_insn_table.init_entries) 1759 { 1760 insns = cd->macro_insn_table.init_entries; 1761 for (i = 0; i < cd->macro_insn_table.num_init_entries; ++i, ++insns) 1762 { 1763 if (CGEN_INSN_RX ((insns))) 1764 regfree (CGEN_INSN_RX (insns)); 1765 } 1766 } 1767 1768 if (cd->insn_table.init_entries) 1769 { 1770 insns = cd->insn_table.init_entries; 1771 for (i = 0; i < cd->insn_table.num_init_entries; ++i, ++insns) 1772 { 1773 if (CGEN_INSN_RX (insns)) 1774 regfree (CGEN_INSN_RX (insns)); 1775 } 1776 } 1777 1778 1779 1780 if (cd->macro_insn_table.init_entries) 1781 free ((CGEN_INSN *) cd->macro_insn_table.init_entries); 1782 1653 1783 if (cd->insn_table.init_entries) 1654 1784 free ((CGEN_INSN *) cd->insn_table.init_entries); 1785 1655 1786 if (cd->hw_table.entries) 1656 1787 free ((CGEN_HW_ENTRY *) cd->hw_table.entries); 1788 1789 if (cd->operand_table.entries) 1790 free ((CGEN_HW_ENTRY *) cd->operand_table.entries); 1791 1657 1792 free (cd); 1658 1793 } -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.