//===----------------------------------------------------------------------===//
multiclass SOP1_Real_gfx10<bits<8> op> {
- def _gfx10 : SOP1_Real<op, !cast<SOP1_Pseudo>(NAME)>,
- Select_gfx10<!cast<SOP1_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOP1_Pseudo>(NAME);
+ def _gfx10 : SOP1_Real<op, ps>,
+ Select_gfx10<ps.Mnemonic>;
}
defm S_ANDN1_SAVEEXEC_B64 : SOP1_Real_gfx10<0x037>;
multiclass SOP1_Real_gfx6_gfx7<bits<8> op> {
- def _gfx6_gfx7 : SOP1_Real<op, !cast<SOP1_Pseudo>(NAME)>,
- Select_gfx6_gfx7<!cast<SOP1_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOP1_Pseudo>(NAME);
+ def _gfx6_gfx7 : SOP1_Real<op, ps>,
+ Select_gfx6_gfx7<ps.Mnemonic>;
}
multiclass SOP1_Real_gfx6_gfx7_gfx10<bits<8> op> :
//===----------------------------------------------------------------------===//
multiclass SOP2_Real_gfx10<bits<7> op> {
- def _gfx10 : SOP2_Real<op, !cast<SOP2_Pseudo>(NAME)>,
- Select_gfx10<!cast<SOP2_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOP2_Pseudo>(NAME);
+ def _gfx10 : SOP2_Real<op, ps>,
+ Select_gfx10<ps.Mnemonic>;
}
defm S_LSHL1_ADD_U32 : SOP2_Real_gfx10<0x02e>;
//===----------------------------------------------------------------------===//
multiclass SOP2_Real_gfx6_gfx7<bits<7> op> {
- def _gfx6_gfx7 : SOP2_Real<op, !cast<SOP_Pseudo>(NAME)>,
- Select_gfx6_gfx7<!cast<SOP_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOP_Pseudo>(NAME);
+ def _gfx6_gfx7 : SOP2_Real<op, ps>,
+ Select_gfx6_gfx7<ps.Mnemonic>;
}
multiclass SOP2_Real_gfx6_gfx7_gfx10<bits<7> op> :
//===----------------------------------------------------------------------===//
multiclass SOPK_Real32_gfx10<bits<5> op> {
- def _gfx10 : SOPK_Real32<op, !cast<SOPK_Pseudo>(NAME)>,
- Select_gfx10<!cast<SOPK_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOPK_Pseudo>(NAME);
+ def _gfx10 : SOPK_Real32<op, ps>,
+ Select_gfx10<ps.Mnemonic>;
}
multiclass SOPK_Real64_gfx10<bits<5> op> {
- def _gfx10 : SOPK_Real64<op, !cast<SOPK_Pseudo>(NAME)>,
- Select_gfx10<!cast<SOPK_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOPK_Pseudo>(NAME);
+ def _gfx10 : SOPK_Real64<op, ps>,
+ Select_gfx10<ps.Mnemonic>;
}
defm S_VERSION : SOPK_Real32_gfx10<0x001>;
//===----------------------------------------------------------------------===//
multiclass SOPK_Real32_gfx6_gfx7<bits<5> op> {
- def _gfx6_gfx7 : SOPK_Real32<op, !cast<SOPK_Pseudo>(NAME)>,
- Select_gfx6_gfx7<!cast<SOPK_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOPK_Pseudo>(NAME);
+ def _gfx6_gfx7 : SOPK_Real32<op, ps>,
+ Select_gfx6_gfx7<ps.Mnemonic>;
}
multiclass SOPK_Real64_gfx6_gfx7<bits<5> op> {
- def _gfx6_gfx7 : SOPK_Real64<op, !cast<SOPK_Pseudo>(NAME)>,
- Select_gfx6_gfx7<!cast<SOPK_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOPK_Pseudo>(NAME);
+ def _gfx6_gfx7 : SOPK_Real64<op, ps>,
+ Select_gfx6_gfx7<ps.Mnemonic>;
}
multiclass SOPK_Real32_gfx6_gfx7_gfx10<bits<5> op> :
//===----------------------------------------------------------------------===//
multiclass SOPP_Real_32_gfx6_gfx7<bits<7> op, string real_name = !cast<SOPP_Pseudo>(NAME).Mnemonic> {
- def _gfx6_gfx7 : SOPP_Real_32<op, !cast<SOPP_Pseudo>(NAME), real_name>,
- Select_gfx6_gfx7<!cast<SOPP_Pseudo>(NAME).Mnemonic>,
- SOPPRelaxTable<0, !cast<SOPP_Pseudo>(NAME).KeyName, "_gfx6_gfx7">;
+ defvar ps = !cast<SOPP_Pseudo>(NAME);
+ def _gfx6_gfx7 : SOPP_Real_32<op, ps, real_name>,
+ Select_gfx6_gfx7<ps.Mnemonic>,
+ SOPPRelaxTable<0, ps.KeyName, "_gfx6_gfx7">;
}
multiclass SOPP_Real_32_gfx8_gfx9<bits<7> op, string real_name = !cast<SOPP_Pseudo>(NAME).Mnemonic # " "> {
- def _vi : SOPP_Real_32<op, !cast<SOPP_Pseudo>(NAME), real_name>,
- Select_vi<!cast<SOPP_Pseudo>(NAME).Mnemonic>,
- SOPPRelaxTable<0, !cast<SOPP_Pseudo>(NAME).KeyName, "_vi">;
+ defvar ps = !cast<SOPP_Pseudo>(NAME);
+ def _vi : SOPP_Real_32<op, ps, real_name>,
+ Select_vi<ps.Mnemonic>,
+ SOPPRelaxTable<0, ps.KeyName, "_vi">;
}
multiclass SOPP_Real_32_gfx10<bits<7> op, string real_name = !cast<SOPP_Pseudo>(NAME).Mnemonic # " "> {
- def _gfx10 : SOPP_Real_32<op, !cast<SOPP_Pseudo>(NAME), real_name>,
- Select_gfx10<!cast<SOPP_Pseudo>(NAME).Mnemonic>,
- SOPPRelaxTable<0, !cast<SOPP_Pseudo>(NAME).KeyName, "_gfx10">;
+ defvar ps = !cast<SOPP_Pseudo>(NAME);
+ def _gfx10 : SOPP_Real_32<op, ps, real_name>,
+ Select_gfx10<ps.Mnemonic>,
+ SOPPRelaxTable<0, ps.KeyName, "_gfx10">;
}
multiclass SOPP_Real_32_gfx8_gfx9_gfx10<bits<7> op, string real_name = !cast<SOPP_Pseudo>(NAME).Mnemonic # " "> :
//64 bit encodings, for Relaxation
multiclass SOPP_Real_64_gfx6_gfx7<bits<7> op, string real_name = !cast<SOPP_Pseudo>(NAME).Mnemonic # " "> {
- def _gfx6_gfx7 : SOPP_Real_64<op, !cast<SOPP_Pseudo>(NAME), real_name>,
- Select_gfx6_gfx7<!cast<SOPP_Pseudo>(NAME).Mnemonic>,
- SOPPRelaxTable<1, !cast<SOPP_Pseudo>(NAME).KeyName, "_gfx6_gfx7">;
+ defvar ps = !cast<SOPP_Pseudo>(NAME);
+ def _gfx6_gfx7 : SOPP_Real_64<op, ps, real_name>,
+ Select_gfx6_gfx7<ps.Mnemonic>,
+ SOPPRelaxTable<1, ps.KeyName, "_gfx6_gfx7">;
}
multiclass SOPP_Real_64_gfx8_gfx9<bits<7> op, string real_name = !cast<SOPP_Pseudo>(NAME).Mnemonic # " "> {
- def _vi : SOPP_Real_64<op, !cast<SOPP_Pseudo>(NAME), real_name>,
- Select_vi<!cast<SOPP_Pseudo>(NAME).Mnemonic>,
- SOPPRelaxTable<1, !cast<SOPP_Pseudo>(NAME).KeyName, "_vi">;
+ defvar ps = !cast<SOPP_Pseudo>(NAME);
+ def _vi : SOPP_Real_64<op, ps, real_name>,
+ Select_vi<ps.Mnemonic>,
+ SOPPRelaxTable<1, ps.KeyName, "_vi">;
}
multiclass SOPP_Real_64_gfx10<bits<7> op, string real_name = !cast<SOPP_Pseudo>(NAME).Mnemonic # " "> {
- def _gfx10 : SOPP_Real_64<op, !cast<SOPP_Pseudo>(NAME), real_name>,
- Select_gfx10<!cast<SOPP_Pseudo>(NAME).Mnemonic>,
- SOPPRelaxTable<1, !cast<SOPP_Pseudo>(NAME).KeyName, "_gfx10">;
+ defvar ps = !cast<SOPP_Pseudo>(NAME);
+ def _gfx10 : SOPP_Real_64<op, ps, real_name>,
+ Select_gfx10<ps.Mnemonic>,
+ SOPPRelaxTable<1, ps.KeyName, "_gfx10">;
}
multiclass SOPP_Real_64_gfx8_gfx9_gfx10<bits<7> op, string real_name = !cast<SOPP_Pseudo>(NAME).Mnemonic # " "> :
//===----------------------------------------------------------------------===//
multiclass SOPC_Real_gfx6_gfx7<bits<7> op> {
- def _gfx6_gfx7 : SOPC_Real<op, !cast<SOPC_Pseudo>(NAME)>,
- Select_gfx6_gfx7<!cast<SOPC_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOPC_Pseudo>(NAME);
+ def _gfx6_gfx7 : SOPC_Real<op, ps>,
+ Select_gfx6_gfx7<ps.Mnemonic>;
}
multiclass SOPC_Real_gfx8_gfx9<bits<7> op> {
- def _vi : SOPC_Real<op, !cast<SOPC_Pseudo>(NAME)>,
- Select_vi<!cast<SOPC_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOPC_Pseudo>(NAME);
+ def _vi : SOPC_Real<op, ps>,
+ Select_vi<ps.Mnemonic>;
}
multiclass SOPC_Real_gfx10<bits<7> op> {
- def _gfx10 : SOPC_Real<op, !cast<SOPC_Pseudo>(NAME)>,
- Select_gfx10<!cast<SOPC_Pseudo>(NAME).Mnemonic>;
+ defvar ps = !cast<SOPC_Pseudo>(NAME);
+ def _gfx10 : SOPC_Real<op, ps>,
+ Select_gfx10<ps.Mnemonic>;
}
multiclass SOPC_Real_gfx8_gfx9_gfx10<bits<7> op> :