@@ -26,6 +26,8 @@ class BALC_MMR6_ENC : BRANCH_OFF26_FM<0b101101>;
26
26
class BC_MMR6_ENC : BRANCH_OFF26_FM<0b100101>;
27
27
class BITSWAP_MMR6_ENC : POOL32A_BITSWAP_FM_MMR6<0b101100>;
28
28
class CACHE_MMR6_ENC : CACHE_PREF_FM_MMR6<0b001000, 0b0110>;
29
+ class CLO_MMR6_ENC : POOL32A_2R_FM_MMR6<0b0100101100>;
30
+ class CLZ_MMR6_ENC : SPECIAL_2R_FM_MMR6<0b010000>;
29
31
class JIALC_MMR6_ENC : JMP_IDX_COMPACT_FM<0b100000>;
30
32
class JIC_MMR6_ENC : JMP_IDX_COMPACT_FM<0b101000>;
31
33
class LWPC_MMR6_ENC : PCREL19_FM_MMR6<0b01>;
@@ -91,6 +93,16 @@ class CACHE_HINT_MMR6_DESC<string instr_asm, Operand MemOpnd,
91
93
class CACHE_MMR6_DESC : CACHE_HINT_MMR6_DESC<"cache", mem_mm_12, GPR32Opnd>;
92
94
class PREF_MMR6_DESC : CACHE_HINT_MMR6_DESC<"pref", mem_mm_12, GPR32Opnd>;
93
95
96
+ class CLO_CLZ_MMR6_DESC_BASE<string instr_asm, RegisterOperand GPROpnd>
97
+ : MMR6Arch<instr_asm> {
98
+ dag OutOperandList = (outs GPROpnd:$rt);
99
+ dag InOperandList = (ins GPROpnd:$rs);
100
+ string AsmString = !strconcat(instr_asm, "\t$rt, $rs");
101
+ }
102
+
103
+ class CLO_MMR6_DESC : CLO_CLZ_MMR6_DESC_BASE<"clo", GPR32Opnd>;
104
+ class CLZ_MMR6_DESC : CLO_CLZ_MMR6_DESC_BASE<"clz", GPR32Opnd>;
105
+
94
106
class JMP_MMR6_IDX_COMPACT_DESC_BASE<string opstr, DAGOperand opnd,
95
107
RegisterOperand GPROpnd>
96
108
: MMR6Arch<opstr> {
@@ -166,6 +178,8 @@ def BC_MMR6 : R6MMR6Rel, BC_MMR6_ENC, BC_MMR6_DESC, ISA_MICROMIPS32R6;
166
178
def BITSWAP_MMR6 : R6MMR6Rel, BITSWAP_MMR6_ENC, BITSWAP_MMR6_DESC,
167
179
ISA_MICROMIPS32R6;
168
180
def CACHE_MMR6 : R6MMR6Rel, CACHE_MMR6_ENC, CACHE_MMR6_DESC, ISA_MICROMIPS32R6;
181
+ def CLO_MMR6 : R6MMR6Rel, CLO_MMR6_ENC, CLO_MMR6_DESC, ISA_MICROMIPS32R6;
182
+ def CLZ_MMR6 : R6MMR6Rel, CLZ_MMR6_ENC, CLZ_MMR6_DESC, ISA_MICROMIPS32R6;
169
183
def JIALC_MMR6 : R6MMR6Rel, JIALC_MMR6_ENC, JIALC_MMR6_DESC, ISA_MICROMIPS32R6;
170
184
def JIC_MMR6 : R6MMR6Rel, JIC_MMR6_ENC, JIC_MMR6_DESC, ISA_MICROMIPS32R6;
171
185
def LWPC_MMR6 : R6MMR6Rel, LWPC_MMR6_ENC, LWPC_MMR6_DESC, ISA_MICROMIPS32R6;
0 commit comments