-static CGEN_HW_ENTRY m32r_cgen_hw_entries[] =
-{
- { & m32r_cgen_hw_entries[1], "h-pc", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[2], "h-memory", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[3], "h-sint", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[4], "h-uint", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[5], "h-addr", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[6], "h-iaddr", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[7], "h-hi16", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[8], "h-slo16", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[9], "h-ulo16", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[10], "h-gr", CGEN_ASM_KEYWORD /*FIXME*/, & m32r_cgen_opval_h_gr },
- { & m32r_cgen_hw_entries[11], "h-cr", CGEN_ASM_KEYWORD /*FIXME*/, & m32r_cgen_opval_h_cr },
- { & m32r_cgen_hw_entries[12], "h-accum", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[13], "h-cond", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[14], "h-sm", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[15], "h-bsm", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[16], "h-ie", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[17], "h-bie", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { & m32r_cgen_hw_entries[18], "h-bcond", CGEN_ASM_KEYWORD /*FIXME*/, 0 },
- { NULL, "h-bpc", CGEN_ASM_KEYWORD /*FIXME*/, 0 }
-};
-
-
-const CGEN_OPERAND m32r_cgen_operand_table[CGEN_NUM_OPERANDS] =
-{
-/* pc: program counter */
- { "pc", 0, 0, { 0, 0|(1<<CGEN_OPERAND_FAKE)|(1<<CGEN_OPERAND_PC), { 0 } } },
-/* sr: source register */
- { "sr", 12, 4, { 0, 0|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* dr: destination register */
- { "dr", 4, 4, { 0, 0|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* src1: source register 1 */
- { "src1", 4, 4, { 0, 0|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* src2: source register 2 */
- { "src2", 12, 4, { 0, 0|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* scr: source control register */
- { "scr", 12, 4, { 0, 0|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* dcr: destination control register */
- { "dcr", 4, 4, { 0, 0|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* simm8: 8 bit signed immediate */
- { "simm8", 8, 8, { 0, 0, { 0 } } },
-/* simm16: 16 bit signed immediate */
- { "simm16", 16, 16, { 0, 0, { 0 } } },
-/* uimm4: 4 bit trap number */
- { "uimm4", 12, 4, { 0, 0|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* uimm5: 5 bit shift count */
- { "uimm5", 11, 5, { 0, 0|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* uimm16: 16 bit unsigned immediate */
- { "uimm16", 16, 16, { 0, 0|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* hi16: high 16 bit immediate, sign optional */
- { "hi16", 16, 16, { 0, 0|(1<<CGEN_OPERAND_SIGN_OPT)|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* slo16: 16 bit signed immediate, for low() */
- { "slo16", 16, 16, { 0, 0, { 0 } } },
-/* ulo16: 16 bit unsigned immediate, for low() */
- { "ulo16", 16, 16, { 0, 0|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* uimm24: 24 bit address */
- { "uimm24", 8, 24, { 0, 0|(1<<CGEN_OPERAND_RELOC)|(1<<CGEN_OPERAND_ABS_ADDR)|(1<<CGEN_OPERAND_UNSIGNED), { 0 } } },
-/* disp8: 8 bit displacement */
- { "disp8", 8, 8, { 0, 0|(1<<CGEN_OPERAND_RELAX)|(1<<CGEN_OPERAND_RELOC)|(1<<CGEN_OPERAND_PCREL_ADDR), { 0 } } },
-/* disp16: 16 bit displacement */
- { "disp16", 16, 16, { 0, 0|(1<<CGEN_OPERAND_RELOC)|(1<<CGEN_OPERAND_PCREL_ADDR), { 0 } } },
-/* disp24: 24 bit displacement */
- { "disp24", 8, 24, { 0, 0|(1<<CGEN_OPERAND_RELAX)|(1<<CGEN_OPERAND_RELOC)|(1<<CGEN_OPERAND_PCREL_ADDR), { 0 } } },
-/* condbit: condition bit */
- { "condbit", 0, 0, { 0, 0|(1<<CGEN_OPERAND_FAKE), { 0 } } },
-/* accum: accumulator */
- { "accum", 0, 0, { 0, 0|(1<<CGEN_OPERAND_FAKE), { 0 } } },
-};
-
-#define OP 1 /* syntax value for mnemonic */
-
-static const CGEN_SYNTAX syntax_table[] =
-{
-/* <op> $dr,$sr */
-/* 0 */ { OP, ' ', 130, ',', 129, 0 },
-/* <op> $dr,$sr,$slo16 */
-/* 1 */ { OP, ' ', 130, ',', 129, ',', 141, 0 },
-/* <op> $dr,$sr,$uimm16 */
-/* 2 */ { OP, ' ', 130, ',', 129, ',', 139, 0 },
-/* <op> $dr,$sr,$ulo16 */
-/* 3 */ { OP, ' ', 130, ',', 129, ',', 142, 0 },
-/* <op> $dr,$simm8 */
-/* 4 */ { OP, ' ', 130, ',', 135, 0 },
-/* <op> $dr,$sr,$simm16 */
-/* 5 */ { OP, ' ', 130, ',', 129, ',', 136, 0 },
-/* <op> $disp8 */
-/* 6 */ { OP, ' ', 144, 0 },
-/* <op> $disp24 */
-/* 7 */ { OP, ' ', 146, 0 },
-/* <op> $src1,$src2,$disp16 */
-/* 8 */ { OP, ' ', 131, ',', 132, ',', 145, 0 },
-/* <op> $src2,$disp16 */
-/* 9 */ { OP, ' ', 132, ',', 145, 0 },
-/* <op> $src1,$src2 */
-/* 10 */ { OP, ' ', 131, ',', 132, 0 },
-/* <op> $src2,$simm16 */
-/* 11 */ { OP, ' ', 132, ',', 136, 0 },
-/* <op> $src2,$uimm16 */
-/* 12 */ { OP, ' ', 132, ',', 139, 0 },
-/* <op> $sr */
-/* 13 */ { OP, ' ', 129, 0 },
-/* <op> $dr,@$sr */
-/* 14 */ { OP, ' ', 130, ',', '@', 129, 0 },
-/* <op> $dr,@($sr) */
-/* 15 */ { OP, ' ', 130, ',', '@', '(', 129, ')', 0 },
-/* <op> $dr,@($slo16,$sr) */
-/* 16 */ { OP, ' ', 130, ',', '@', '(', 141, ',', 129, ')', 0 },
-/* <op> $dr,@($sr,$slo16) */
-/* 17 */ { OP, ' ', 130, ',', '@', '(', 129, ',', 141, ')', 0 },
-/* <op> $dr,@$sr+ */
-/* 18 */ { OP, ' ', 130, ',', '@', 129, '+', 0 },
-/* <op> $dr,$uimm24 */
-/* 19 */ { OP, ' ', 130, ',', 143, 0 },
-/* <op> $dr,$slo16 */
-/* 20 */ { OP, ' ', 130, ',', 141, 0 },
-/* <op> $dr */
-/* 21 */ { OP, ' ', 130, 0 },
-/* <op> $dr,$scr */
-/* 22 */ { OP, ' ', 130, ',', 133, 0 },
-/* <op> $src1 */
-/* 23 */ { OP, ' ', 131, 0 },
-/* <op> $sr,$dcr */
-/* 24 */ { OP, ' ', 129, ',', 134, 0 },
-/* <op> */
-/* 25 */ { OP, 0 },
-/* <op> $dr,$hi16 */
-/* 26 */ { OP, ' ', 130, ',', 140, 0 },
-/* <op> $dr,$uimm5 */
-/* 27 */ { OP, ' ', 130, ',', 138, 0 },
-/* <op> $src1,@$src2 */
-/* 28 */ { OP, ' ', 131, ',', '@', 132, 0 },
-/* <op> $src1,@($src2) */
-/* 29 */ { OP, ' ', 131, ',', '@', '(', 132, ')', 0 },
-/* <op> $src1,@($slo16,$src2) */
-/* 30 */ { OP, ' ', 131, ',', '@', '(', 141, ',', 132, ')', 0 },
-/* <op> $src1,@($src2,$slo16) */
-/* 31 */ { OP, ' ', 131, ',', '@', '(', 132, ',', 141, ')', 0 },
-/* <op> $src1,@+$src2 */
-/* 32 */ { OP, ' ', 131, ',', '@', '+', 132, 0 },
-/* <op> $src1,@-$src2 */
-/* 33 */ { OP, ' ', 131, ',', '@', '-', 132, 0 },
-/* <op> $uimm4 */
-/* 34 */ { OP, ' ', 137, 0 },