]> Git Repo - qemu.git/blame - target/loongarch/insns.decode
target/loongarch: Add fixed point shift instruction translation
[qemu.git] / target / loongarch / insns.decode
CommitLineData
143d6785
SG
1# SPDX-License-Identifier: GPL-2.0-or-later
2#
3# LoongArch instruction decode definitions.
4#
5# Copyright (c) 2021 Loongson Technology Corporation Limited
6#
7
8#
9# Fields
10#
11%sa2p1 15:2 !function=plus_1
12
13#
14# Argument sets
15#
16&r_i rd imm
17&rrr rd rj rk
18&rr_i rd rj imm
19&rrr_sa rd rj rk sa
20
21#
22# Formats
23#
24@rrr .... ........ ..... rk:5 rj:5 rd:5 &rrr
25@r_i20 .... ... imm:s20 rd:5 &r_i
63cfcd47
SG
26@rr_ui5 .... ........ ..... imm:5 rj:5 rd:5 &rr_i
27@rr_ui6 .... ........ .... imm:6 rj:5 rd:5 &rr_i
143d6785
SG
28@rr_i12 .... ...... imm:s12 rj:5 rd:5 &rr_i
29@rr_ui12 .... ...... imm:12 rj:5 rd:5 &rr_i
30@rr_i16 .... .. imm:s16 rj:5 rd:5 &rr_i
31@rrr_sa2p1 .... ........ ... .. rk:5 rj:5 rd:5 &rrr_sa sa=%sa2p1
32
33#
34# Fixed point arithmetic operation instruction
35#
36add_w 0000 00000001 00000 ..... ..... ..... @rrr
37add_d 0000 00000001 00001 ..... ..... ..... @rrr
38sub_w 0000 00000001 00010 ..... ..... ..... @rrr
39sub_d 0000 00000001 00011 ..... ..... ..... @rrr
40slt 0000 00000001 00100 ..... ..... ..... @rrr
41sltu 0000 00000001 00101 ..... ..... ..... @rrr
42slti 0000 001000 ............ ..... ..... @rr_i12
43sltui 0000 001001 ............ ..... ..... @rr_i12
44nor 0000 00000001 01000 ..... ..... ..... @rrr
45and 0000 00000001 01001 ..... ..... ..... @rrr
46or 0000 00000001 01010 ..... ..... ..... @rrr
47xor 0000 00000001 01011 ..... ..... ..... @rrr
48orn 0000 00000001 01100 ..... ..... ..... @rrr
49andn 0000 00000001 01101 ..... ..... ..... @rrr
50mul_w 0000 00000001 11000 ..... ..... ..... @rrr
51mulh_w 0000 00000001 11001 ..... ..... ..... @rrr
52mulh_wu 0000 00000001 11010 ..... ..... ..... @rrr
53mul_d 0000 00000001 11011 ..... ..... ..... @rrr
54mulh_d 0000 00000001 11100 ..... ..... ..... @rrr
55mulh_du 0000 00000001 11101 ..... ..... ..... @rrr
56mulw_d_w 0000 00000001 11110 ..... ..... ..... @rrr
57mulw_d_wu 0000 00000001 11111 ..... ..... ..... @rrr
58div_w 0000 00000010 00000 ..... ..... ..... @rrr
59mod_w 0000 00000010 00001 ..... ..... ..... @rrr
60div_wu 0000 00000010 00010 ..... ..... ..... @rrr
61mod_wu 0000 00000010 00011 ..... ..... ..... @rrr
62div_d 0000 00000010 00100 ..... ..... ..... @rrr
63mod_d 0000 00000010 00101 ..... ..... ..... @rrr
64div_du 0000 00000010 00110 ..... ..... ..... @rrr
65mod_du 0000 00000010 00111 ..... ..... ..... @rrr
66alsl_w 0000 00000000 010 .. ..... ..... ..... @rrr_sa2p1
67alsl_wu 0000 00000000 011 .. ..... ..... ..... @rrr_sa2p1
68alsl_d 0000 00000010 110 .. ..... ..... ..... @rrr_sa2p1
69lu12i_w 0001 010 .................... ..... @r_i20
70lu32i_d 0001 011 .................... ..... @r_i20
71lu52i_d 0000 001100 ............ ..... ..... @rr_i12
72pcaddi 0001 100 .................... ..... @r_i20
73pcalau12i 0001 101 .................... ..... @r_i20
74pcaddu12i 0001 110 .................... ..... @r_i20
75pcaddu18i 0001 111 .................... ..... @r_i20
76addi_w 0000 001010 ............ ..... ..... @rr_i12
77addi_d 0000 001011 ............ ..... ..... @rr_i12
78addu16i_d 0001 00 ................ ..... ..... @rr_i16
79andi 0000 001101 ............ ..... ..... @rr_ui12
80ori 0000 001110 ............ ..... ..... @rr_ui12
81xori 0000 001111 ............ ..... ..... @rr_ui12
63cfcd47
SG
82
83#
84# Fixed point shift operation instruction
85#
86sll_w 0000 00000001 01110 ..... ..... ..... @rrr
87srl_w 0000 00000001 01111 ..... ..... ..... @rrr
88sra_w 0000 00000001 10000 ..... ..... ..... @rrr
89sll_d 0000 00000001 10001 ..... ..... ..... @rrr
90srl_d 0000 00000001 10010 ..... ..... ..... @rrr
91sra_d 0000 00000001 10011 ..... ..... ..... @rrr
92rotr_w 0000 00000001 10110 ..... ..... ..... @rrr
93rotr_d 0000 00000001 10111 ..... ..... ..... @rrr
94slli_w 0000 00000100 00001 ..... ..... ..... @rr_ui5
95slli_d 0000 00000100 0001 ...... ..... ..... @rr_ui6
96srli_w 0000 00000100 01001 ..... ..... ..... @rr_ui5
97srli_d 0000 00000100 0101 ...... ..... ..... @rr_ui6
98srai_w 0000 00000100 10001 ..... ..... ..... @rr_ui5
99srai_d 0000 00000100 1001 ...... ..... ..... @rr_ui6
100rotri_w 0000 00000100 11001 ..... ..... ..... @rr_ui5
101rotri_d 0000 00000100 1101 ...... ..... ..... @rr_ui6
This page took 0.031299 seconds and 4 git commands to generate.