target/microblaze: Convert dec_add to decodetree
[qemu.git] / target / microblaze / insns.decode
1 #
2 # MicroBlaze instruction decode definitions.
3 #
4 # Copyright (c) 2020 Richard Henderson <rth@twiddle.net>
5 #
6 # This library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License, or (at your option) any later version.
10 #
11 # This library is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 # Lesser General Public License for more details.
15 #
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with this library; if not, see <http://www.gnu.org/licenses/>.
18 #
19
20 &typea          rd ra rb
21 &typeb          rd ra imm
22
23 # Include any IMM prefix in the value reported.
24 %extimm         0:s16 !function=typeb_imm
25
26 @typea          ...... rd:5 ra:5 rb:5 ... .... ....     &typea
27 @typeb          ...... rd:5 ra:5 ................       &typeb imm=%extimm
28
29 ###
30
31 {
32   zero          000000 00000 00000 00000 000 0000 0000
33   add           000000 ..... ..... ..... 000 0000 0000  @typea
34 }
35 addc            000010 ..... ..... ..... 000 0000 0000  @typea
36 addk            000100 ..... ..... ..... 000 0000 0000  @typea
37 addkc           000110 ..... ..... ..... 000 0000 0000  @typea
38
39 addi            001000 ..... ..... ................     @typeb
40 addic           001010 ..... ..... ................     @typeb
41 addik           001100 ..... ..... ................     @typeb
42 addikc          001110 ..... ..... ................     @typeb