* ld-scripts/script.t: Put .pr in .text, and .rw in .data, for
[deliverable/binutils-gdb.git] / opcodes / rce-opc.h
1 typedef enum {
2 O0, OT, O1, OC, O2, X1, OI, OB, SI, I7, LS, BR, LI, LR, LJ, OM, OQ, JSR
3 } rce_opclass;
4
5 typedef struct inst
6 { char *name;
7 unsigned short opclass;
8 unsigned short inst;
9 } rce_opcode_info;
10
11 #ifdef DEFINE_TABLE
12 rce_opcode_info rce_table[]={
13 { "bkpt", O0, 0x0000 },
14 { "sync", O0, 0x0001 },
15 { "rte", O0, 0x0002 },
16 { "rfi", O0, 0x0003 },
17 { "stop", O0, 0x0004 },
18 { "wait", O0, 0x0005 },
19
20 { "trap", OT, 0x0010 },
21 { "mvc", O1, 0x0020 },
22 { "mvcv", O1, 0x0030 },
23 { "jmp", O1, 0x0040 },
24 { "jsr", JSR, 0x0050 },
25 /*****
26 { "jmpt", O1, 0x0060 },
27 { "jmpf", O1, 0x0070 },
28 *****/
29 { "tstne", O1, 0x0080 },
30 { "tstgt", O1, 0x0090 },
31 { "tstnbz", O1, 0x00B0 },
32 { "inct", O1, 0x00C0 },
33 { "incf", O1, 0x00D0 },
34 { "dect", O1, 0x00E0 },
35 { "decf", O1, 0x00F0 },
36 { "zextb", O1, 0x0100 },
37 { "sextb", O1, 0x0110 },
38 { "zexth", O1, 0x0120 },
39 { "sexth", O1, 0x0130 },
40 { "xtrb3", X1, 0x0140 },
41 { "xtrb2", X1, 0x0150 },
42 { "xtrb1", X1, 0x0160 },
43 { "xtrb0", X1, 0x0170 },
44
45 { "decgt", O1, 0x01C0 },
46 { "declt", O1, 0x01D0 },
47 { "brev", O1, 0x01E0 },
48 { "not", O1, 0x01F0 },
49 { "mfcr", OC, 0x0400 },
50 { "mtcr", OC, 0x0600 },
51 { "mov", O2, 0x0200 },
52 { "movnc", O2, 0x0C00 },
53 { "tst", O2, 0x0B00 },
54 { "cmpne", O2, 0x0800 },
55 { "cmplt", O2, 0x0900 },
56 { "cmphs", O2, 0x0A00 },
57 { "bgenr", O2, 0x0D00 },
58 { "movt", O2, 0x0E00 },
59 { "movf", O2, 0x0F00 },
60 { "and", O2, 0x1000 },
61 { "andn", O2, 0x1100 },
62 { "xor", O2, 0x1200 },
63 { "xnor", O2, 0x1300 },
64 { "or", O2, 0x1400 },
65 { "rsub", O2, 0x1500 },
66 { "addu", O2, 0x1600 },
67 { "subu", O2, 0x1700 },
68 { "ixh", O2, 0x1800 },
69 { "ixw", O2, 0x1900 },
70 { "addc", O2, 0x1A00 },
71 { "subc", O2, 0x1B00 },
72 { "lsr", O2, 0x1C00 },
73 { "asr", O2, 0x1D00 },
74 { "lsl", O2, 0x1E00 },
75 /*****
76 { "rotl", O2, 0x1F00 },
77 *****/
78
79 { "movi", I7, 0x6800 },
80
81 { "andi", OB, 0x2200 },
82 { "movit", OB, 0x2400 },
83 { "movif", OB, 0x2600 },
84 { "btsti", OB, 0x2800 },
85 { "bclri", OB, 0x2A00 },
86 { "bseti", OB, 0x2C00 },
87 { "bmaski", OB, 0x2E00 },
88 { "bgeni", OB, 0x3000 },
89 { "rsubi", OB, 0x3200 },
90 { "addi", OI, 0x3400 },
91 { "subi", OI, 0x3600 },
92 { "lsri", SI, 0x3800 },
93 { "lsrc", O1, 0x3800 },
94 { "asri", SI, 0x3A00 },
95 { "asrc", O1, 0x3A00 },
96 { "lsli", SI, 0x3C00 },
97 { "lslc", O1, 0x3C00 },
98 { "rotli", SI, 0x3E00 },
99 { "xsr", O1, 0x3E00 },
100
101 { "ldm", OM, 0x6000 },
102 { "stm", OM, 0x6010 },
103 { "ldq", OQ, 0x6000 },
104 { "stq", OQ, 0x6010 },
105 { "mult", O2, 0x6100 },
106
107 /* { "mvir1", LI, 0x6800 }, */
108 { "lrw", LR, 0x7000 },
109 { "jmpi", LJ, 0x7000 },
110 { "jsri", LJ, 0x7F00 },
111
112 { "ld", LS, 0x8000 },
113 { "st", LS, 0x9000 },
114 { "ld.w", LS, 0x8000 },
115 { "st.w", LS, 0x9000 },
116 { "ld.b", LS, 0xA000 },
117 { "st.b", LS, 0xB000 },
118 { "ld.h", LS, 0xC000 },
119 { "st.h", LS, 0xD000 },
120 { "br", BR, 0xE000 },
121 { "bsr", BR, 0xE800 },
122 { "bt", BR, 0xF000 },
123 { "bf", BR, 0xF800 },
124 { 0, 0, 0 }
125 };
126 #endif
This page took 0.049757 seconds and 4 git commands to generate.