xref: /openbmc/qemu/target/mips/tcg/octeon.decode (revision 0d70c5aa1bbfb0f5099d53d6e084337a8246cc0c)
1# Octeon Architecture Module instruction set
2#
3# Copyright (C) 2022 Pavel Dovgalyuk
4# Copyright (C) 2024 Philippe Mathieu-Daudé
5#
6# SPDX-License-Identifier: LGPL-2.1-or-later
7#
8
9# Branch on bit set or clear
10# BBIT0      110010 ..... ..... ................
11# BBIT032    110110 ..... ..... ................
12# BBIT1      111010 ..... ..... ................
13# BBIT132    111110 ..... ..... ................
14
15%bbit_p      28:1 16:5
16BBIT         11 set:1 . 10 rs:5 ..... offset:s16 p=%bbit_p
17
18# Arithmetic
19# BADDU rd, rs, rt
20# DMUL rd, rs, rt
21# EXTS rt, rs, p, lenm1
22# EXTS32 rt, rs, p, lenm1
23# CINS rt, rs, p, lenm1
24# CINS32 rt, rs, p, lenm1
25# DPOP rd, rs
26# POP rd, rs
27# SEQ rd, rs, rt
28# SEQI rt, rs, immediate
29# SNE rd, rs, rt
30# SNEI rt, rs, immediate
31
32@r3          ...... rs:5 rt:5 rd:5 ..... ......
33%bitfield_p  0:1 6:5
34@bitfield    ...... rs:5 rt:5 lenm1:5 ..... ..... . p=%bitfield_p
35
36BADDU        011100 ..... ..... ..... 00000 101000 @r3
37DMUL         011100 ..... ..... ..... 00000 000011 @r3
38EXTS         011100 ..... ..... ..... ..... 11101 . @bitfield
39CINS         011100 ..... ..... ..... ..... 11001 . @bitfield
40POP          011100 rs:5 00000 rd:5 00000 10110 dw:1
41SEQNE        011100 rs:5 rt:5 rd:5 00000 10101 ne:1
42SEQNEI       011100 rs:5 rt:5 imm:s10 10111 ne:1
43
44&lx          base index rd
45@lx          ...... base:5 index:5 rd:5 ...... ..... &lx
46LWX          011111 ..... ..... ..... 00000 001010 @lx
47LHX          011111 ..... ..... ..... 00100 001010 @lx
48LBUX         011111 ..... ..... ..... 00110 001010 @lx
49LDX          011111 ..... ..... ..... 01000 001010 @lx
50