@@ -562,6 +562,10 @@ unsigned AIE2PInstrInfo::getOpCode(MachineInstr &I) const {
562562 }
563563 case Intrinsic::aie2p_vshuffle_576_bfp16:
564564 return AIE2P::VSHUFFLE_vec_shuffle_ex;
565+ case Intrinsic::aie2p_put_ms:
566+ return AIE2P::MOV_st_mMStream_tlast_reg;
567+ case Intrinsic::aie2p_put_ms_nb:
568+ return AIE2P::MOV_nb_st_mMStream_tlast_reg;
565569 default :
566570 llvm_unreachable (" Unexpected Intrinsic ID" );
567571 }
@@ -1970,22 +1974,19 @@ Register AIE2PInstrInfo::getSSStatusReg() const { return AIE2P::srSS0; }
19701974
19711975Register AIE2PInstrInfo::getMSStatusReg () const { return AIE2P::srMS0; }
19721976
1973- unsigned AIE2PInstrInfo::getMvScl2MSTlastRegOpcode () const {
1974- return AIE2P::MOV_st_mMStream_tlast_reg;
1975- }
1976-
1977- unsigned AIE2PInstrInfo::getMvNBScl2MSTlastRegOpcode () const {
1978- return AIE2P::MOV_nb_st_mMStream_tlast_reg;
1979- }
1980-
1981- unsigned AIE2PInstrInfo::getMvScl2MS (unsigned ConstTLastVal) const {
1982- return (ConstTLastVal == 0 ) ? AIE2P::MOV_st_mMStream_tlast_imm
1983- : AIE2P::MOV_tlast;
1984- }
1985-
1986- unsigned AIE2PInstrInfo::getMvNBScl2MS (unsigned ConstTLastVal) const {
1987- return (ConstTLastVal == 0 ) ? AIE2P::MOV_nb_st_mMStream_tlast_imm
1988- : AIE2P::MOV_nb_tlast;
1977+ unsigned AIE2PInstrInfo::getMvVal2MS (MachineInstr &I,
1978+ unsigned ConstTLastVal) const {
1979+ const bool UseTLastImm = (ConstTLastVal == 0 );
1980+ const unsigned IntrinsicID = cast<GIntrinsic>(I).getIntrinsicID ();
1981+ switch (IntrinsicID) {
1982+ case Intrinsic::aie2p_put_ms:
1983+ return UseTLastImm ? AIE2P::MOV_st_mMStream_tlast_imm : AIE2P::MOV_tlast;
1984+ case Intrinsic::aie2p_put_ms_nb:
1985+ return UseTLastImm ? AIE2P::MOV_nb_st_mMStream_tlast_imm
1986+ : AIE2P::MOV_nb_tlast;
1987+ default :
1988+ llvm_unreachable (" Unexpected Intrinsic ID" );
1989+ }
19891990}
19901991
19911992Register AIE2PInstrInfo::getPackSignCReg () const { return AIE2P::packSign0; }
0 commit comments