@@ -446,30 +446,6 @@ let hasSideEffects = false, mayLoad = true, mayStore = false in {
446446 "vldb.3d.128", "$dst, [$ptr], $mod">,
447447 AIE2_ag_no_imm__ag_pstm_3d;
448448
449- // Define _split instructions for VLDs
450- let Constraints = "$ptr_out = $ptr" in {
451- class LD_2D_split_instr<RegisterClass regclass> : SplitPseudo<
452- (outs regclass:$dst, eP:$ptr_out, eDC:$count_out),
453- (ins eP:$ptr, eM:$mod, eDN:$dim_size, eDJ:$dim_stride, eDC:$dim_count)> {}
454- def VLDA_2D_dmw_lda_w_split : LD_2D_split_instr<mWa>;
455- def VLDA_2D_dmw_lda_am_split : LD_2D_split_instr<mAMm>;
456- def VLDA_2D_CONV_FP32_BF16_split : LD_2D_split_instr<mBMs>;
457- def VLDB_2D_split : LD_2D_split_instr<mWa>;
458- def VLDB_2D_128_split : LD_2D_split_instr<mWa>;
459- def LDA_2D_dmv_lda_q_split : LD_2D_split_instr<mQQa>;
460-
461- class LD_3D_split_instr<RegisterClass regclass> : SplitPseudo<
462- (outs regclass:$dst, eP:$ptr_out, eDC:$count_lo_out, eDC:$count_hi_out),
463- (ins eP:$ptr, eM:$mod1, eDN:$dim_size1, eDJ:$dim_stride1, eDC:$dim_count1,
464- eM:$mod2, eDN:$dim_size2, eDJ:$dim_stride2, eDC:$dim_count2)> {}
465- def VLDA_3D_dmw_lda_w_split : LD_3D_split_instr<mWa>;
466- def VLDA_3D_dmw_lda_am_split : LD_3D_split_instr<mAMm>;
467- def VLDA_3D_CONV_FP32_BF16_split : LD_3D_split_instr<mBMs>;
468- def VLDB_3D_split : LD_3D_split_instr<mWa>;
469- def VLDB_3D_128_split : LD_3D_split_instr<mWa>;
470- def LDA_3D_dmv_lda_q_split : LD_3D_split_instr<mQQa>;
471- } // Constraints = "$ptr_out = $ptr"
472-
473449} // hasSideEffects = false, mayLoad = true, mayStore = false
474450
475451// 3.3 VLD.UNPACK – Vector Loads with unpacking
@@ -518,16 +494,11 @@ let hasSideEffects = false, mayLoad = true, mayStore = false, hasCompleteDecoder
518494 AIE2_ag_no_imm__ag_pstm_2d;
519495 def VLDB_2D_UNPACK_S16_S8 : VLDB_2D_dmw_ldb_unpack</*sgn*/1, /*sz*/1, "vldb.2d.unpack.s16.s8">,
520496 AIE2_ag_no_imm__ag_pstm_2d;
521- def VLDB_2D_UNPACK_S8_S4_split : LD_2D_split_instr<mXs>;
522- def VLDB_2D_UNPACK_S16_S8_split : LD_2D_split_instr<mXs>;
523497 let Uses = [crUnpackSign] in {
524498 def VLDB_2D_UNPACK_D8_D4 : VLDB_2D_dmw_ldb_unpack</*sgn*/0, /*sz*/0, "vldb.2d.unpack.d8.d4">,
525499 AIE2_ag_no_imm__ag_pstm_2d;
526500 def VLDB_2D_UNPACK_D16_D8 : VLDB_2D_dmw_ldb_unpack</*sgn*/0, /*sz*/1, "vldb.2d.unpack.d16.d8">,
527501 AIE2_ag_no_imm__ag_pstm_2d;
528- def VLDB_2D_UNPACK_D8_D4_split : LD_2D_split_instr<mXs>;
529- def VLDB_2D_UNPACK_D16_D8_split : LD_2D_split_instr<mXs>;
530-
531502 }
532503 }
533504 let Itinerary = II_VLDB_UNPACK_3D, Constraints = "$ptr_out = $ptr" in
@@ -538,15 +509,11 @@ let hasSideEffects = false, mayLoad = true, mayStore = false, hasCompleteDecoder
538509 AIE2_ag_no_imm__ag_pstm_3d;
539510 def VLDB_3D_UNPACK_S16_S8 : VLDB_3D_dmw_ldb_unpack</*sgn*/1, /*sz*/1, "vldb.3d.unpack.s16.s8">,
540511 AIE2_ag_no_imm__ag_pstm_3d;
541- def VLDB_3D_UNPACK_S8_S4_split : LD_3D_split_instr<mXs>;
542- def VLDB_3D_UNPACK_S16_S8_split : LD_3D_split_instr<mXs>;
543512 let Uses = [crUnpackSign] in {
544513 def VLDB_3D_UNPACK_D8_D4 : VLDB_3D_dmw_ldb_unpack</*sgn*/0, /*sz*/0, "vldb.3d.unpack.d8.d4">,
545514 AIE2_ag_no_imm__ag_pstm_3d;
546515 def VLDB_3D_UNPACK_D16_D8 : VLDB_3D_dmw_ldb_unpack</*sgn*/0, /*sz*/1, "vldb.3d.unpack.d16.d8">,
547516 AIE2_ag_no_imm__ag_pstm_3d;
548- def VLDB_3D_UNPACK_D8_D4_split : LD_3D_split_instr<mXs>;
549- def VLDB_3D_UNPACK_D16_D8_split : LD_3D_split_instr<mXs>;
550517 }
551518 }
552519
@@ -707,27 +674,6 @@ let hasSideEffects = false, mayLoad = false, mayStore = true in {
707674 "st.3d", "$src, [$ptr], $mod">,
708675 AIE2_ag_all__ag_pstm_3d;
709676
710- // Define _split instructions for VSTs
711- let Constraints = "$ptr_out = $ptr" in {
712- class ST_2D_split_instr<RegisterClass regclass> : SplitPseudo<
713- (outs eP:$ptr_out, eDC:$count_out),
714- (ins regclass:$dst, eP:$ptr,
715- eM:$mod, eDN:$dim_size, eDJ:$dim_stride, eDC:$dim_count)> {}
716- def VST_2D_dmw_sts_w_split : ST_2D_split_instr<mWs>;
717- def VST_2D_128_split : ST_2D_split_instr<mWs>;
718- def ST_2D_dmv_sts_q_split : ST_2D_split_instr<mQQa>;
719- def VST_2D_dmw_sts_am_split : ST_2D_split_instr<mAMs>;
720-
721- class ST_3D_split_instr<RegisterClass regclass> : SplitPseudo<
722- (outs eP:$ptr_out, eDC:$count_lo_out, eDC:$count_hi_out),
723- (ins regclass:$dst, eP:$ptr,
724- eM:$mod1, eDN:$dim_size1, eDJ:$dim_stride1, eDC:$dim_count1,
725- eM:$mod2, eDN:$dim_size2, eDJ:$dim_stride2, eDC:$dim_count2)> {}
726- def VST_3D_dmw_sts_w_split : ST_3D_split_instr<mWs>;
727- def VST_3D_128_split : ST_3D_split_instr<mWs>;
728- def ST_3D_dmv_sts_q_split : ST_3D_split_instr<mQQa>;
729- def VST_3D_dmw_sts_am_split : ST_3D_split_instr<mAMs>;
730- } // Constraints = "$ptr_out = $ptr"
731677} // let hasSideEffects = false, mayLoad = false, mayStore = true
732678
733679// 3.21 LD.TM - Scalar Load from Tile Memory Map
@@ -1960,9 +1906,6 @@ let mayLoad = true in {
19601906 }
19611907 }
19621908
1963- class VLD_UPS_2D_split_instr<RegisterClass regclass> : SplitPseudo<
1964- (outs regclass:$dst, eP:$ptr_out, eDC:$count_out),
1965- (ins mSs:$shft, eP:$ptr, eM:$mod, eDN:$dim_size, eDJ:$dim_stride, eDC:$dim_count)> {}
19661909 let Itinerary = II_VLDA_2D_UPS in
19671910 let Constraints = "$ptr_out = $ptr" in
19681911 let Defs = [srUPS_of] in {
@@ -1979,10 +1922,6 @@ let mayLoad = true in {
19791922 let DecoderMethod = "DecodeVLDA_2D_UPS_CMInstruction" in
19801923 def VLDA_2D_UPS_S64_D16 : AIE2_dmw_lda_ups_w2c_inst_lda < (outs mCMs:$dst, eP:$ptr_out, eDC:$count_out) , (ins mSs:$shft, eP:$ptr, eD:$mod),
19811924 "vlda.2d.ups.s64.d16", "$dst, $shft, [$ptr], $mod">, AIE2_ag_nospill__ag_pstm_2d, mv_ups_base<1, 0>;
1982- def VLDA_2D_UPS_S32_D16_split : VLD_UPS_2D_split_instr<mBMs>;
1983- def VLDA_2D_UPS_S64_D32_split : VLD_UPS_2D_split_instr<mBMs>;
1984- def VLDA_2D_UPS_S32_D8_split : VLD_UPS_2D_split_instr<mCMs>;
1985- def VLDA_2D_UPS_S64_D16_split : VLD_UPS_2D_split_instr<mCMs>;
19861925 }
19871926 let Uses = [crSat] in {
19881927 let DecoderMethod = "DecodeVLDA_2D_UPS_BMInstruction" in
@@ -1997,18 +1936,9 @@ let mayLoad = true in {
19971936 let DecoderMethod = "DecodeVLDA_2D_UPS_CMInstruction" in
19981937 def VLDA_2D_UPS_S64_S16 : AIE2_dmw_lda_ups_w2c_inst_lda < (outs mCMs:$dst, eP:$ptr_out, eDC:$count_out) , (ins mSs:$shft, eP:$ptr, eD:$mod),
19991938 "vlda.2d.ups.s64.s16", "$dst, $shft, [$ptr], $mod">, AIE2_ag_nospill__ag_pstm_2d, mv_ups_base<1, 1>;
2000- def VLDA_2D_UPS_S32_S16_split : VLD_UPS_2D_split_instr<mBMs>;
2001- def VLDA_2D_UPS_S64_S32_split : VLD_UPS_2D_split_instr<mBMs>;
2002- def VLDA_2D_UPS_S32_S8_split : VLD_UPS_2D_split_instr<mCMs>;
2003- def VLDA_2D_UPS_S64_S16_split : VLD_UPS_2D_split_instr<mCMs>;
20041939 }
20051940 }
20061941
2007- class VLD_UPS_3D_split_instr<RegisterClass regclass> : SplitPseudo<
2008- (outs regclass:$dst, eP:$ptr_out, eDC:$count_lo_out, eDC:$count_hi_out),
2009- (ins mSs:$shft, eP:$ptr,
2010- eM:$mod1, eDN:$dim_size1, eDJ:$dim_stride1, eDC:$dim_count1,
2011- eM:$mod2, eDN:$dim_size2, eDJ:$dim_stride2, eDC:$dim_count2)> {}
20121942 let Itinerary = II_VLDA_3D_UPS in
20131943 let Constraints = "$ptr_out = $ptr" in
20141944 let Defs = [srUPS_of] in {
@@ -2037,10 +1967,6 @@ let mayLoad = true in {
20371967 (ins mSs:$shft, eP:$ptr, eDS:$mod),
20381968 "vlda.3d.ups.s64.d16", "$dst, $shft, [$ptr], $mod">,
20391969 AIE2_ag_nospill__ag_pstm_3d, mv_ups_base<1, 0>;
2040- def VLDA_3D_UPS_S32_D16_split : VLD_UPS_3D_split_instr<mBMs>;
2041- def VLDA_3D_UPS_S64_D32_split : VLD_UPS_3D_split_instr<mBMs>;
2042- def VLDA_3D_UPS_S32_D8_split : VLD_UPS_3D_split_instr<mCMs>;
2043- def VLDA_3D_UPS_S64_D16_split : VLD_UPS_3D_split_instr<mCMs>;
20441970 }
20451971 let Uses = [crSat] in {
20461972 let DecoderMethod = "DecodeVLDA_3D_UPS_BMInstruction" in
@@ -2067,10 +1993,6 @@ let mayLoad = true in {
20671993 (ins mSs:$shft, eP:$ptr, eDS:$mod),
20681994 "vlda.3d.ups.s64.s16", "$dst, $shft, [$ptr], $mod">,
20691995 AIE2_ag_nospill__ag_pstm_3d, mv_ups_base<1, 1>;
2070- def VLDA_3D_UPS_S32_S16_split : VLD_UPS_3D_split_instr<mBMs>;
2071- def VLDA_3D_UPS_S64_S32_split : VLD_UPS_3D_split_instr<mBMs>;
2072- def VLDA_3D_UPS_S32_S8_split : VLD_UPS_3D_split_instr<mCMs>;
2073- def VLDA_3D_UPS_S64_S16_split : VLD_UPS_3D_split_instr<mCMs>;
20741996 }
20751997 }
20761998} // let mayLoad = true
@@ -2204,10 +2126,6 @@ let mayStore = true in {
22042126 }
22052127 }
22062128
2207- class VST_SRS_2D_split_instr<RegisterClass regclass> : SplitPseudo<
2208- (outs eP:$ptr_out, eDC:$count_out),
2209- (ins eP:$ptr, eM:$mod, eDN:$dim_size, eDJ:$dim_stride, eDC:$dim_count,
2210- regclass:$dst, mSs:$shft)> {}
22112129 let Itinerary = II_VST_2D_SRS in
22122130 let Constraints = "$ptr_out = $ptr" in
22132131 let Defs = [srSRS_of] in {
@@ -2219,8 +2137,6 @@ let mayStore = true in {
22192137 def VST_2D_SRS_D16_S64 : AIE2_dmw_sts_srs_inst_st< (outs eP:$ptr_out, eDC:$count_out),
22202138 (ins eP:$ptr, eD:$mod, mCMs:$src, mSs:$shft), "vst.2d.srs.d16.s64", "$src, $shft, [$ptr], $mod">,
22212139 AIE2_ag_nospill__ag_pstm_2d, mWdssrs<1, 0>;
2222- def VST_2D_SRS_D8_S32_split : VST_SRS_2D_split_instr<mCMs>;
2223- def VST_2D_SRS_D16_S64_split : VST_SRS_2D_split_instr<mCMs>;
22242140 }
22252141 let DecoderMethod = "DecodeVST_2D_SRS_BMInstruction" in
22262142 let Uses = [crSat, crRnd, crSRSSign] in {
@@ -2230,8 +2146,6 @@ let mayStore = true in {
22302146 def VST_2D_SRS_D32_S64 : AIE2_dmw_sts_srs_inst_st< (outs eP:$ptr_out, eDC:$count_out),
22312147 (ins eP:$ptr, eD:$mod, mBMs:$src, mSs:$shft), "vst.2d.srs.d32.s64", "$src, $shft, [$ptr], $mod">,
22322148 AIE2_ag_nospill__ag_pstm_2d, mWlsrsl<1, 0>;
2233- def VST_2D_SRS_D16_S32_split : VST_SRS_2D_split_instr<mBMs>;
2234- def VST_2D_SRS_D32_S64_split : VST_SRS_2D_split_instr<mBMs>;
22352149 }
22362150 let DecoderMethod = "DecodeVST_2D_SRS_CMInstruction" in
22372151 let Uses = [crSat, crRnd] in {
@@ -2241,8 +2155,6 @@ let mayStore = true in {
22412155 def VST_2D_SRS_S16_S64 : AIE2_dmw_sts_srs_inst_st< (outs eP:$ptr_out, eDC:$count_out),
22422156 (ins eP:$ptr, eD:$mod, mCMs:$src, mSs:$shft), "vst.2d.srs.s16.s64", "$src, $shft, [$ptr], $mod">,
22432157 AIE2_ag_nospill__ag_pstm_2d, mWdssrs<1, 1>;
2244- def VST_2D_SRS_S8_S32_split : VST_SRS_2D_split_instr<mCMs>;
2245- def VST_2D_SRS_S16_S64_split : VST_SRS_2D_split_instr<mCMs>;
22462158 }
22472159 let DecoderMethod = "DecodeVST_2D_SRS_BMInstruction" in
22482160 let Uses = [crSat, crRnd] in {
@@ -2252,16 +2164,9 @@ let mayStore = true in {
22522164 def VST_2D_SRS_S32_S64 : AIE2_dmw_sts_srs_inst_st< (outs eP:$ptr_out, eDC:$count_out),
22532165 (ins eP:$ptr, eD:$mod, mBMs:$src, mSs:$shft), "vst.2d.srs.s32.s64", "$src, $shft, [$ptr], $mod">,
22542166 AIE2_ag_nospill__ag_pstm_2d, mWlsrsl<1, 1>;
2255- def VST_2D_SRS_S16_S32_split : VST_SRS_2D_split_instr<mBMs>;
2256- def VST_2D_SRS_S32_S64_split : VST_SRS_2D_split_instr<mBMs>;
22572167 }
22582168 }
22592169
2260- class VST_SRS_3D_split_instr<RegisterClass regclass> : SplitPseudo<
2261- (outs eP:$ptr_out, eDC:$count_lo_out, eDC:$count_hi_out),
2262- (ins eP:$ptr, eM:$mod1, eDN:$dim_size1, eDJ:$dim_stride1, eDC:$dim_count1,
2263- eM:$mod2, eDN:$dim_size2, eDJ:$dim_stride2, eDC:$dim_count2,
2264- regclass:$src, mSs:$shft)> {}
22652170 let Itinerary = II_VST_3D_SRS in
22662171 let Constraints = "$ptr_out = $ptr" in
22672172 let Defs = [srSRS_of] in {
@@ -2277,8 +2182,6 @@ let mayStore = true in {
22772182 (ins eP:$ptr, eDS:$mod, mCMs:$src, mSs:$shft),
22782183 "vst.3d.srs.d16.s64", "$src, $shft, [$ptr], $mod">,
22792184 AIE2_ag_nospill__ag_pstm_3d, mWdssrs<1, 0>;
2280- def VST_3D_SRS_D8_S32_split : VST_SRS_3D_split_instr<mCMs>;
2281- def VST_3D_SRS_D16_S64_split : VST_SRS_3D_split_instr<mCMs>;
22822185 }
22832186 let DecoderMethod = "DecodeVST_3D_SRS_BMInstruction" in
22842187 let Uses = [crSat, crRnd, crSRSSign] in {
@@ -2292,8 +2195,6 @@ let mayStore = true in {
22922195 (ins eP:$ptr, eDS:$mod, mBMs:$src, mSs:$shft),
22932196 "vst.3d.srs.d32.s64", "$src, $shft, [$ptr], $mod">,
22942197 AIE2_ag_nospill__ag_pstm_3d, mWlsrsl<1, 0>;
2295- def VST_3D_SRS_D16_S32_split : VST_SRS_3D_split_instr<mBMs>;
2296- def VST_3D_SRS_D32_S64_split : VST_SRS_3D_split_instr<mBMs>;
22972198 }
22982199 let DecoderMethod = "DecodeVST_3D_SRS_CMInstruction" in
22992200 let Uses = [crSat, crRnd] in {
@@ -2307,8 +2208,6 @@ let mayStore = true in {
23072208 (ins eP:$ptr, eDS:$mod, mCMs:$src, mSs:$shft),
23082209 "vst.3d.srs.s16.s64", "$src, $shft, [$ptr], $mod">,
23092210 AIE2_ag_nospill__ag_pstm_3d, mWdssrs<1, 1>;
2310- def VST_3D_SRS_S8_S32_split : VST_SRS_3D_split_instr<mCMs>;
2311- def VST_3D_SRS_S16_S64_split : VST_SRS_3D_split_instr<mCMs>;
23122211 }
23132212 let DecoderMethod = "DecodeVST_3D_SRS_BMInstruction" in
23142213 let Uses = [crSat, crRnd] in {
@@ -2322,8 +2221,6 @@ let mayStore = true in {
23222221 (ins eP:$ptr, eDS:$mod, mBMs:$src, mSs:$shft),
23232222 "vst.3d.srs.s32.s64", "$src, $shft, [$ptr], $mod">,
23242223 AIE2_ag_nospill__ag_pstm_3d, mWlsrsl<1, 1>;
2325- def VST_3D_SRS_S16_S32_split : VST_SRS_3D_split_instr<mBMs>;
2326- def VST_3D_SRS_S32_S64_split : VST_SRS_3D_split_instr<mBMs>;
23272224 }
23282225 }
23292226} // let mayStore = true
@@ -2425,8 +2322,6 @@ let mayStore = true in {
24252322 def VST_CONV_2D_BF16_FP32 : AIE2_dmw_sts_srs_bf_inst_st< (outs eP:$ptr_out, eDC:$count_out),
24262323 (ins eP:$ptr, eD:$mod, mBMs:$src), "vst.2d.conv.bf16.fp32", "$src, [$ptr], $mod">,
24272324 AIE2_ag_nospill__ag_pstm_2d;
2428- def VST_CONV_2D_BF16_FP32_split : SplitPseudo<(outs eP:$ptr_out, eDC:$count_out),
2429- (ins eP:$ptr, eM:$mod, eDN:$dim_size, eDJ:$dim_stride, eDC:$dim_count, mBMs:$src)> {}
24302325 }
24312326
24322327 let Itinerary = II_VST_3D_CONV in
@@ -2435,9 +2330,6 @@ let mayStore = true in {
24352330 def VST_CONV_3D_BF16_FP32 : AIE2_dmw_sts_srs_bf_inst_st< (outs eP:$ptr_out, eDC:$count_lo_out, eDC:$count_hi_out),
24362331 (ins eP:$ptr, eDS:$mod, mBMs:$src), "vst.3d.conv.bf16.fp32", "$src, [$ptr], $mod">,
24372332 AIE2_ag_nospill__ag_pstm_3d;
2438- def VST_CONV_3D_BF16_FP32_split : SplitPseudo<(outs eP:$ptr_out, eDC:$count_lo_out, eDC:$count_hi_out),
2439- (ins eP:$ptr, eM:$mod1, eDN:$dim_size1, eDJ:$dim_stride1, eDC:$dim_count1,
2440- eM:$mod2, eDN:$dim_size2, eDJ:$dim_stride2, eDC:$dim_count2, mBMs:$src)> {}
24412333 }
24422334 } // let Uses = [crRnd, crF2FMask]
24432335 } // let Defs = [srF2FFlags]
@@ -2514,25 +2406,17 @@ let mayStore = true in {
25142406 (ins eP:$ptr, eD:$mod, mXs:$src),
25152407 opcodestr, "$src, [$ptr], $mod">,
25162408 AIE2_ag_nospill__ag_pstm_2d, mv_pack_src<sgn, sz>;
2517- class VST_2D_PACK_split_instr : SplitPseudo<
2518- (outs eP:$ptr_out, eDC:$count_out),
2519- (ins eP:$ptr, eM:$mod, eDN:$dim_size,
2520- eDJ:$dim_stride, eDC:$dim_count, mXs:$src)> {}
25212409 let Uses = [crSat, crPackSign] in {
25222410 def VST_2D_PACK_D4_D8 :
25232411 VST_2D_PACK_ag_pstm_mv_pack_src</*sgn*/0, /*sz*/0, "vst.2d.pack.d4.d8">;
25242412 def VST_2D_PACK_D8_D16 :
25252413 VST_2D_PACK_ag_pstm_mv_pack_src</*sgn*/0, /*sz*/1, "vst.2d.pack.d8.d16">;
2526- def VST_2D_PACK_D4_D8_split : VST_2D_PACK_split_instr<>;
2527- def VST_2D_PACK_D8_D16_split : VST_2D_PACK_split_instr<>;
25282414 }
25292415 let Uses = [crSat] in {
25302416 def VST_2D_PACK_S4_S8 :
25312417 VST_2D_PACK_ag_pstm_mv_pack_src</*sgn*/1, /*sz*/0, "vst.2d.pack.s4.s8">;
25322418 def VST_2D_PACK_S8_S16 :
25332419 VST_2D_PACK_ag_pstm_mv_pack_src</*sgn*/1, /*sz*/1, "vst.2d.pack.s8.s16">;
2534- def VST_2D_PACK_S4_S8_split : VST_2D_PACK_split_instr<>;
2535- def VST_2D_PACK_S8_S16_split : VST_2D_PACK_split_instr<>;
25362420 }
25372421 }
25382422 let Itinerary = II_VST_3D_PACK, Constraints = "$ptr_out = $ptr" in
@@ -2543,25 +2427,17 @@ let mayStore = true in {
25432427 (ins eP:$ptr, eDS:$mod, mXs:$src),
25442428 opcodestr, "$src, [$ptr], $mod">,
25452429 AIE2_ag_nospill__ag_pstm_3d, mv_pack_src<sgn, sz>;
2546- class VST_3D_PACK_split_instr : SplitPseudo<
2547- (outs eP:$ptr_out, eDC:$count_lo_out, eDC:$count_hi_out),
2548- (ins eP:$ptr, eM:$mod1, eDN:$dim_size1, eDJ:$dim_stride1, eDC:$dim_count1,
2549- eM:$mod2, eDN:$dim_size2, eDJ:$dim_stride2, eDC:$dim_count2, mXs:$src)> {}
25502430 let Uses = [crSat, crPackSign] in {
25512431 def VST_3D_PACK_D4_D8 :
25522432 VST_3D_PACK_ag_pstm_mv_pack_src</*sgn*/0, /*sz*/0, "vst.3d.pack.d4.d8">;
25532433 def VST_3D_PACK_D8_D16 :
25542434 VST_3D_PACK_ag_pstm_mv_pack_src</*sgn*/0, /*sz*/1, "vst.3d.pack.d8.d16">;
2555- def VST_3D_PACK_D4_D8_split : VST_3D_PACK_split_instr<>;
2556- def VST_3D_PACK_D8_D16_split : VST_3D_PACK_split_instr<>;
25572435 }
25582436 let Uses = [crSat] in {
25592437 def VST_3D_PACK_S4_S8 :
25602438 VST_3D_PACK_ag_pstm_mv_pack_src</*sgn*/1, /*sz*/0, "vst.3d.pack.s4.s8">;
25612439 def VST_3D_PACK_S8_S16 :
25622440 VST_3D_PACK_ag_pstm_mv_pack_src</*sgn*/1, /*sz*/1, "vst.3d.pack.s8.s16">;
2563- def VST_3D_PACK_S4_S8_split : VST_3D_PACK_split_instr<>;
2564- def VST_3D_PACK_S8_S16_split : VST_3D_PACK_split_instr<>;
25652441 }
25662442 }
25672443} // let mayStore = true
0 commit comments