xref: /openbmc/qemu/target/microblaze/insns.decode (revision 20800179655d9262716ff20895c3c9d81ecb2d17)
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}
35addc            000010 ..... ..... ..... 000 0000 0000  @typea
36addk            000100 ..... ..... ..... 000 0000 0000  @typea
37addkc           000110 ..... ..... ..... 000 0000 0000  @typea
38
39addi            001000 ..... ..... ................     @typeb
40addic           001010 ..... ..... ................     @typeb
41addik           001100 ..... ..... ................     @typeb
42addikc          001110 ..... ..... ................     @typeb
43