1 # SPDX-License-Identifier: GPL-2.0-or-later
3 # LoongArch instruction decode definitions.
5 # Copyright (c) 2021 Loongson Technology Corporation Limited
11 %sa2p1 15:2 !function=plus_1
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
32 # Fixed point arithmetic operation instruction
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