@@ -203,8 +203,8 @@ defm : VInterpF16Pat<int_amdgcn_interp_p2_rtz_f16,
203203// VINTERP Real Instructions
204204//===----------------------------------------------------------------------===//
205205
206- multiclass VINTERP_Real_gfx11 <bits<7> op, string asmName> {
207- defvar ps = !cast<VOP3_Pseudo>(NAME );
206+ multiclass VINTERP_Real_gfx11 <bits<7> op, string asmName, string opName = NAME > {
207+ defvar ps = !cast<VOP3_Pseudo>(opName );
208208 let AssemblerPredicate = isGFX11Only, DecoderNamespace = "GFX11" #
209209 !if(ps.Pfl.IsRealTrue16, "", "_FAKE16") in {
210210 def _gfx11 :
@@ -213,8 +213,8 @@ multiclass VINTERP_Real_gfx11 <bits<7> op, string asmName> {
213213 }
214214}
215215
216- multiclass VINTERP_Real_gfx12 <bits<7> op, string asmName> {
217- defvar ps = !cast<VOP3_Pseudo>(NAME );
216+ multiclass VINTERP_Real_gfx12 <bits<7> op, string asmName, string opName = NAME > {
217+ defvar ps = !cast<VOP3_Pseudo>(opName );
218218 let AssemblerPredicate = isGFX12Only, DecoderNamespace = "GFX12" #
219219 !if(ps.Pfl.IsRealTrue16, "", "_FAKE16") in {
220220 def _gfx12 :
@@ -224,7 +224,7 @@ multiclass VINTERP_Real_gfx12 <bits<7> op, string asmName> {
224224}
225225
226226multiclass VINTERP_Real_gfx11_gfx12 <bits<7> op, string asmName = !cast<VOP3_Pseudo>(NAME).Mnemonic, string opName = NAME> :
227- VINTERP_Real_gfx11<op, asmName>, VINTERP_Real_gfx12<op, asmName>;
227+ VINTERP_Real_gfx11<op, asmName, opName >, VINTERP_Real_gfx12<op, asmName, opName >;
228228
229229multiclass VINTERP_Real_t16_and_fake16_gfx11_gfx12 <bits<7> op, string asmName = !cast<VOP3_Pseudo>(NAME).Mnemonic, string opName = NAME> {
230230 defm _t16: VINTERP_Real_gfx11_gfx12<op, asmName, opName#"_t16">;
0 commit comments