hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/arch/mips/mm/uasm-mips.c
....@@ -76,14 +76,22 @@
7676 [insn_daddiu] = {M(daddiu_op, 0, 0, 0, 0, 0), RS | RT | SIMM},
7777 [insn_daddu] = {M(spec_op, 0, 0, 0, 0, daddu_op), RS | RT | RD},
7878 [insn_ddivu] = {M(spec_op, 0, 0, 0, 0, ddivu_op), RS | RT},
79
+ [insn_ddivu_r6] = {M(spec_op, 0, 0, 0, ddivu_ddivu6_op, ddivu_op),
80
+ RS | RT | RD},
7981 [insn_di] = {M(cop0_op, mfmc0_op, 0, 12, 0, 0), RT},
8082 [insn_dins] = {M(spec3_op, 0, 0, 0, 0, dins_op), RS | RT | RD | RE},
8183 [insn_dinsm] = {M(spec3_op, 0, 0, 0, 0, dinsm_op), RS | RT | RD | RE},
8284 [insn_dinsu] = {M(spec3_op, 0, 0, 0, 0, dinsu_op), RS | RT | RD | RE},
8385 [insn_divu] = {M(spec_op, 0, 0, 0, 0, divu_op), RS | RT},
86
+ [insn_divu_r6] = {M(spec_op, 0, 0, 0, divu_divu6_op, divu_op),
87
+ RS | RT | RD},
8488 [insn_dmfc0] = {M(cop0_op, dmfc_op, 0, 0, 0, 0), RT | RD | SET},
89
+ [insn_dmodu] = {M(spec_op, 0, 0, 0, ddivu_dmodu_op, ddivu_op),
90
+ RS | RT | RD},
8591 [insn_dmtc0] = {M(cop0_op, dmtc_op, 0, 0, 0, 0), RT | RD | SET},
8692 [insn_dmultu] = {M(spec_op, 0, 0, 0, 0, dmultu_op), RS | RT},
93
+ [insn_dmulu] = {M(spec_op, 0, 0, 0, dmult_dmul_op, dmultu_op),
94
+ RS | RT | RD},
8795 [insn_drotr] = {M(spec_op, 1, 0, 0, 0, dsrl_op), RT | RD | RE},
8896 [insn_drotr32] = {M(spec_op, 1, 0, 0, 0, dsrl32_op), RT | RD | RE},
8997 [insn_dsbh] = {M(spec3_op, 0, 0, 0, dsbh_op, dbshfl_op), RT | RD},
....@@ -132,12 +140,16 @@
132140 [insn_mfhc0] = {M(cop0_op, mfhc0_op, 0, 0, 0, 0), RT | RD | SET},
133141 [insn_mfhi] = {M(spec_op, 0, 0, 0, 0, mfhi_op), RD},
134142 [insn_mflo] = {M(spec_op, 0, 0, 0, 0, mflo_op), RD},
143
+ [insn_modu] = {M(spec_op, 0, 0, 0, divu_modu_op, divu_op),
144
+ RS | RT | RD},
135145 [insn_movn] = {M(spec_op, 0, 0, 0, 0, movn_op), RS | RT | RD},
136146 [insn_movz] = {M(spec_op, 0, 0, 0, 0, movz_op), RS | RT | RD},
137147 [insn_mtc0] = {M(cop0_op, mtc_op, 0, 0, 0, 0), RT | RD | SET},
138148 [insn_mthc0] = {M(cop0_op, mthc0_op, 0, 0, 0, 0), RT | RD | SET},
139149 [insn_mthi] = {M(spec_op, 0, 0, 0, 0, mthi_op), RS},
140150 [insn_mtlo] = {M(spec_op, 0, 0, 0, 0, mtlo_op), RS},
151
+ [insn_mulu] = {M(spec_op, 0, 0, 0, multu_mulu_op, multu_op),
152
+ RS | RT | RD},
141153 #ifndef CONFIG_CPU_MIPSR6
142154 [insn_mul] = {M(spec2_op, 0, 0, 0, 0, mul_op), RS | RT | RD},
143155 #else
....@@ -163,6 +175,8 @@
163175 [insn_scd] = {M6(spec3_op, 0, 0, 0, scd6_op), RS | RT | SIMM9},
164176 #endif
165177 [insn_sd] = {M(sd_op, 0, 0, 0, 0, 0), RS | RT | SIMM},
178
+ [insn_seleqz] = {M(spec_op, 0, 0, 0, 0, seleqz_op), RS | RT | RD},
179
+ [insn_selnez] = {M(spec_op, 0, 0, 0, 0, selnez_op), RS | RT | RD},
166180 [insn_sh] = {M(sh_op, 0, 0, 0, 0, 0), RS | RT | SIMM},
167181 [insn_sll] = {M(spec_op, 0, 0, 0, 0, sll_op), RT | RD | RE},
168182 [insn_sllv] = {M(spec_op, 0, 0, 0, 0, sllv_op), RS | RT | RD},
....@@ -171,6 +185,7 @@
171185 [insn_sltiu] = {M(sltiu_op, 0, 0, 0, 0, 0), RS | RT | SIMM},
172186 [insn_sltu] = {M(spec_op, 0, 0, 0, 0, sltu_op), RS | RT | RD},
173187 [insn_sra] = {M(spec_op, 0, 0, 0, 0, sra_op), RT | RD | RE},
188
+ [insn_srav] = {M(spec_op, 0, 0, 0, 0, srav_op), RS | RT | RD},
174189 [insn_srl] = {M(spec_op, 0, 0, 0, 0, srl_op), RT | RD | RE},
175190 [insn_srlv] = {M(spec_op, 0, 0, 0, 0, srlv_op), RS | RT | RD},
176191 [insn_subu] = {M(spec_op, 0, 0, 0, 0, subu_op), RS | RT | RD},