@@ -1694,26 +1694,26 @@ multiclass MTBUF_LoadIntrinsicPat<SDPatternOperator name, ValueType vt,
16941694 def : GCNPat<
16951695 (vt (name v4i32:$rsrc, 0, 0, i32:$soffset, timm:$offset,
16961696 timm:$format, timm:$auxiliary, 0)),
1697- (!cast<MTBUF_Pseudo>(opcode # _OFFSET) $rsrc, $soffset, (as_i16imm $offset),
1698- (as_i8imm $format),
1697+ (!cast<MTBUF_Pseudo>(opcode # _OFFSET) SReg_128: $rsrc, SCSrc_b32: $soffset, (as_i16timm $offset),
1698+ (as_i8timm $format),
16991699 (extract_glc $auxiliary), (extract_slc $auxiliary), 0, (extract_dlc $auxiliary),
17001700 (extract_swz $auxiliary))
17011701 >;
17021702
17031703 def : GCNPat<
17041704 (vt (name v4i32:$rsrc, i32:$vindex, 0, i32:$soffset, timm:$offset,
17051705 timm:$format, timm:$auxiliary, timm)),
1706- (!cast<MTBUF_Pseudo>(opcode # _IDXEN) $vindex, $rsrc, $soffset, (as_i16imm $offset),
1707- (as_i8imm $format),
1706+ (!cast<MTBUF_Pseudo>(opcode # _IDXEN) VGPR_32: $vindex, SReg_128: $rsrc, SCSrc_b32: $soffset, (as_i16timm $offset),
1707+ (as_i8timm $format),
17081708 (extract_glc $auxiliary), (extract_slc $auxiliary), 0, (extract_dlc $auxiliary),
17091709 (extract_swz $auxiliary))
17101710 >;
17111711
17121712 def : GCNPat<
17131713 (vt (name v4i32:$rsrc, 0, i32:$voffset, i32:$soffset, timm:$offset,
17141714 timm:$format, timm:$auxiliary, 0)),
1715- (!cast<MTBUF_Pseudo>(opcode # _OFFEN) $voffset, $rsrc, $soffset, (as_i16imm $offset),
1716- (as_i8imm $format),
1715+ (!cast<MTBUF_Pseudo>(opcode # _OFFEN) VGPR_32: $voffset, SReg_128: $rsrc, SCSrc_b32: $soffset, (as_i16timm $offset),
1716+ (as_i8timm $format),
17171717 (extract_glc $auxiliary), (extract_slc $auxiliary), 0, (extract_dlc $auxiliary),
17181718 (extract_swz $auxiliary))
17191719 >;
@@ -1722,9 +1722,9 @@ multiclass MTBUF_LoadIntrinsicPat<SDPatternOperator name, ValueType vt,
17221722 (vt (name v4i32:$rsrc, i32:$vindex, i32:$voffset, i32:$soffset, timm:$offset,
17231723 timm:$format, timm:$auxiliary, timm)),
17241724 (!cast<MTBUF_Pseudo>(opcode # _BOTHEN)
1725- (REG_SEQUENCE VReg_64, $vindex, sub0, $voffset, sub1),
1726- $rsrc, $soffset, (as_i16imm $offset),
1727- (as_i8imm $format),
1725+ (REG_SEQUENCE VReg_64, VGPR_32: $vindex, sub0, VGPR_32: $voffset, sub1),
1726+ SReg_128: $rsrc, SCSrc_b32: $soffset, (as_i16timm $offset),
1727+ (as_i8timm $format),
17281728 (extract_glc $auxiliary), (extract_slc $auxiliary), 0, (extract_dlc $auxiliary),
17291729 (extract_swz $auxiliary))
17301730 >;
@@ -1741,12 +1741,14 @@ defm : MTBUF_LoadIntrinsicPat<SItbuffer_load, v4f32, "TBUFFER_LOAD_FORMAT_XYZW">
17411741
17421742let SubtargetPredicate = HasUnpackedD16VMem in {
17431743 defm : MTBUF_LoadIntrinsicPat<SItbuffer_load_d16, f16, "TBUFFER_LOAD_FORMAT_D16_X_gfx80">;
1744+ defm : MTBUF_LoadIntrinsicPat<SItbuffer_load_d16, i32, "TBUFFER_LOAD_FORMAT_D16_X_gfx80">;
17441745 defm : MTBUF_LoadIntrinsicPat<SItbuffer_load_d16, v2i32, "TBUFFER_LOAD_FORMAT_D16_XY_gfx80">;
17451746 defm : MTBUF_LoadIntrinsicPat<SItbuffer_load_d16, v4i32, "TBUFFER_LOAD_FORMAT_D16_XYZW_gfx80">;
17461747} // End HasUnpackedD16VMem.
17471748
17481749let SubtargetPredicate = HasPackedD16VMem in {
17491750 defm : MTBUF_LoadIntrinsicPat<SItbuffer_load_d16, f16, "TBUFFER_LOAD_FORMAT_D16_X">;
1751+ defm : MTBUF_LoadIntrinsicPat<SItbuffer_load_d16, i32, "TBUFFER_LOAD_FORMAT_D16_X">;
17501752 defm : MTBUF_LoadIntrinsicPat<SItbuffer_load_d16, v2f16, "TBUFFER_LOAD_FORMAT_D16_XY">;
17511753 defm : MTBUF_LoadIntrinsicPat<SItbuffer_load_d16, v4f16, "TBUFFER_LOAD_FORMAT_D16_XYZW">;
17521754} // End HasPackedD16VMem.
0 commit comments