@@ -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 }
@@ -1926,22 +1930,19 @@ Register AIE2PInstrInfo::getSSStatusReg() const { return AIE2P::srSS0; }
19261930
19271931Register AIE2PInstrInfo::getMSStatusReg () const { return AIE2P::srMS0; }
19281932
1929- unsigned AIE2PInstrInfo::getMvScl2MSTlastRegOpcode () const {
1930- return AIE2P::MOV_st_mMStream_tlast_reg;
1931- }
1932-
1933- unsigned AIE2PInstrInfo::getMvNBScl2MSTlastRegOpcode () const {
1934- return AIE2P::MOV_nb_st_mMStream_tlast_reg;
1935- }
1936-
1937- unsigned AIE2PInstrInfo::getMvScl2MS (unsigned ConstTLastVal) const {
1938- return (ConstTLastVal == 0 ) ? AIE2P::MOV_st_mMStream_tlast_imm
1939- : AIE2P::MOV_tlast;
1940- }
1941-
1942- unsigned AIE2PInstrInfo::getMvNBScl2MS (unsigned ConstTLastVal) const {
1943- return (ConstTLastVal == 0 ) ? AIE2P::MOV_nb_st_mMStream_tlast_imm
1944- : AIE2P::MOV_nb_tlast;
1933+ unsigned AIE2PInstrInfo::getMvVal2MS (MachineInstr &I,
1934+ unsigned ConstTLastVal) const {
1935+ const bool UseTLastImm = (ConstTLastVal == 0 );
1936+ const unsigned IntrinsicID = cast<GIntrinsic>(I).getIntrinsicID ();
1937+ switch (IntrinsicID) {
1938+ case Intrinsic::aie2p_put_ms:
1939+ return UseTLastImm ? AIE2P::MOV_st_mMStream_tlast_imm : AIE2P::MOV_tlast;
1940+ case Intrinsic::aie2p_put_ms_nb:
1941+ return UseTLastImm ? AIE2P::MOV_nb_st_mMStream_tlast_imm
1942+ : AIE2P::MOV_nb_tlast;
1943+ default :
1944+ llvm_unreachable (" Unexpected Intrinsic ID" );
1945+ }
19451946}
19461947
19471948Register AIE2PInstrInfo::getPackSignCReg () const { return AIE2P::packSign0; }
0 commit comments