@@ -153,20 +153,26 @@ multiclass VOP1Inst <string opName, VOPProfile P,
153
153
def : LetDummies, AMDGPUMnemonicAlias<opName#"_dpp", opName, AMDGPUAsmVariants.DPP>;
154
154
}
155
155
156
- multiclass VOP1Inst_t16 <string opName,
156
+ multiclass VOP1Inst_t16_with_profiles <string opName,
157
157
VOPProfile P,
158
+ VOPProfile P_t16,
159
+ VOPProfile P_fake16,
158
160
SDPatternOperator node = null_frag> {
159
161
let OtherPredicates = [NotHasTrue16BitInsts, Has16BitInsts] in {
160
162
defm NAME : VOP1Inst<opName, P, node>;
161
163
}
162
164
let OtherPredicates = [UseRealTrue16Insts] in {
163
- defm _t16 : VOP1Inst<opName#"_t16", VOPProfile_True16<P> , node>;
165
+ defm _t16 : VOP1Inst<opName#"_t16", P_t16 , node>;
164
166
}
165
167
let OtherPredicates = [UseFakeTrue16Insts] in {
166
- defm _fake16 : VOP1Inst<opName#"_fake16", VOPProfile_Fake16<P> , node>;
168
+ defm _fake16 : VOP1Inst<opName#"_fake16", P_fake16 , node>;
167
169
}
168
170
}
169
171
172
+ multiclass VOP1Inst_t16<string opName, VOPProfile P,
173
+ SDPatternOperator node = null_frag> :
174
+ VOP1Inst_t16_with_profiles<opName, P, VOPProfile_True16<P>, VOPProfile_Fake16<P>, node>;
175
+
170
176
// Special profile for instructions which have clamp
171
177
// and output modifiers (but have no input modifiers)
172
178
class VOPProfileI2F<ValueType dstVt, ValueType srcVt> :
0 commit comments