]> Git Repo - qemu.git/blob - target/loongarch/insns.decode
target/loongarch: Add fixed point arithmetic instruction translation
[qemu.git] / target / loongarch / insns.decode
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
26 @rr_i12                 .... ...... imm:s12 rj:5 rd:5    &rr_i
27 @rr_ui12                 .... ...... imm:12 rj:5 rd:5    &rr_i
28 @rr_i16                     .... .. imm:s16 rj:5 rd:5    &rr_i
29 @rrr_sa2p1        .... ........ ... .. rk:5 rj:5 rd:5    &rrr_sa  sa=%sa2p1
30
31 #
32 # Fixed point arithmetic operation instruction
33 #
34 add_w           0000 00000001 00000 ..... ..... .....    @rrr
35 add_d           0000 00000001 00001 ..... ..... .....    @rrr
36 sub_w           0000 00000001 00010 ..... ..... .....    @rrr
37 sub_d           0000 00000001 00011 ..... ..... .....    @rrr
38 slt             0000 00000001 00100 ..... ..... .....    @rrr
39 sltu            0000 00000001 00101 ..... ..... .....    @rrr
40 slti            0000 001000 ............ ..... .....     @rr_i12
41 sltui           0000 001001 ............ ..... .....     @rr_i12
42 nor             0000 00000001 01000 ..... ..... .....    @rrr
43 and             0000 00000001 01001 ..... ..... .....    @rrr
44 or              0000 00000001 01010 ..... ..... .....    @rrr
45 xor             0000 00000001 01011 ..... ..... .....    @rrr
46 orn             0000 00000001 01100 ..... ..... .....    @rrr
47 andn            0000 00000001 01101 ..... ..... .....    @rrr
48 mul_w           0000 00000001 11000 ..... ..... .....    @rrr
49 mulh_w          0000 00000001 11001 ..... ..... .....    @rrr
50 mulh_wu         0000 00000001 11010 ..... ..... .....    @rrr
51 mul_d           0000 00000001 11011 ..... ..... .....    @rrr
52 mulh_d          0000 00000001 11100 ..... ..... .....    @rrr
53 mulh_du         0000 00000001 11101 ..... ..... .....    @rrr
54 mulw_d_w        0000 00000001 11110 ..... ..... .....    @rrr
55 mulw_d_wu       0000 00000001 11111 ..... ..... .....    @rrr
56 div_w           0000 00000010 00000 ..... ..... .....    @rrr
57 mod_w           0000 00000010 00001 ..... ..... .....    @rrr
58 div_wu          0000 00000010 00010 ..... ..... .....    @rrr
59 mod_wu          0000 00000010 00011 ..... ..... .....    @rrr
60 div_d           0000 00000010 00100 ..... ..... .....    @rrr
61 mod_d           0000 00000010 00101 ..... ..... .....    @rrr
62 div_du          0000 00000010 00110 ..... ..... .....    @rrr
63 mod_du          0000 00000010 00111 ..... ..... .....    @rrr
64 alsl_w          0000 00000000 010 .. ..... ..... .....   @rrr_sa2p1
65 alsl_wu         0000 00000000 011 .. ..... ..... .....   @rrr_sa2p1
66 alsl_d          0000 00000010 110 .. ..... ..... .....   @rrr_sa2p1
67 lu12i_w         0001 010 .................... .....      @r_i20
68 lu32i_d         0001 011 .................... .....      @r_i20
69 lu52i_d         0000 001100 ............ ..... .....     @rr_i12
70 pcaddi          0001 100 .................... .....      @r_i20
71 pcalau12i       0001 101 .................... .....      @r_i20
72 pcaddu12i       0001 110 .................... .....      @r_i20
73 pcaddu18i       0001 111 .................... .....      @r_i20
74 addi_w          0000 001010 ............ ..... .....     @rr_i12
75 addi_d          0000 001011 ............ ..... .....     @rr_i12
76 addu16i_d       0001 00 ................ ..... .....     @rr_i16
77 andi            0000 001101 ............ ..... .....     @rr_ui12
78 ori             0000 001110 ............ ..... .....     @rr_ui12
79 xori            0000 001111 ............ ..... .....     @rr_ui12
This page took 0.029032 seconds and 4 git commands to generate.