@@ -899,7 +899,10 @@ class AMDGPURawBufferLoad<LLVMType data_ty = llvm_any_ty> : Intrinsic <
899899 [llvm_v4i32_ty, // rsrc(SGPR)
900900 llvm_i32_ty, // offset(VGPR/imm, included in bounds checking and swizzling)
901901 llvm_i32_ty, // soffset(SGPR/imm, excluded from bounds checking and swizzling)
902- llvm_i32_ty], // cachepolicy(imm; bit 0 = glc, bit 1 = slc, bit 2 = dlc on gfx10+)
902+ llvm_i32_ty], // auxiliary data (imm, cachepolicy (bit 0 = glc,
903+ // bit 1 = slc,
904+ // bit 2 = dlc on gfx10+),
905+ // swizzled buffer (bit 3 = swz))
903906 [IntrReadMem, ImmArg<3>], "", [SDNPMemOperand]>,
904907 AMDGPURsrcIntrinsic<0>;
905908def int_amdgcn_raw_buffer_load_format : AMDGPURawBufferLoad<llvm_anyfloat_ty>;
@@ -911,7 +914,10 @@ class AMDGPUStructBufferLoad<LLVMType data_ty = llvm_any_ty> : Intrinsic <
911914 llvm_i32_ty, // vindex(VGPR)
912915 llvm_i32_ty, // offset(VGPR/imm, included in bounds checking and swizzling)
913916 llvm_i32_ty, // soffset(SGPR/imm, excluded from bounds checking and swizzling)
914- llvm_i32_ty], // cachepolicy(imm; bit 0 = glc, bit 1 = slc, bit 2 = dlc on gfx10+)
917+ llvm_i32_ty], // auxiliary data (imm, cachepolicy (bit 0 = glc,
918+ // bit 1 = slc,
919+ // bit 2 = dlc on gfx10+),
920+ // swizzled buffer (bit 3 = swz))
915921 [IntrReadMem, ImmArg<4>], "", [SDNPMemOperand]>,
916922 AMDGPURsrcIntrinsic<0>;
917923def int_amdgcn_struct_buffer_load_format : AMDGPUStructBufferLoad<llvm_anyfloat_ty>;
@@ -923,7 +929,10 @@ class AMDGPURawBufferStore<LLVMType data_ty = llvm_any_ty> : Intrinsic <
923929 llvm_v4i32_ty, // rsrc(SGPR)
924930 llvm_i32_ty, // offset(VGPR/imm, included in bounds checking and swizzling)
925931 llvm_i32_ty, // soffset(SGPR/imm, excluded from bounds checking and swizzling)
926- llvm_i32_ty], // cachepolicy(imm; bit 0 = glc, bit 1 = slc, bit 2 = dlc on gfx10+)
932+ llvm_i32_ty], // auxiliary data (imm, cachepolicy (bit 0 = glc,
933+ // bit 1 = slc,
934+ // bit 2 = dlc on gfx10+),
935+ // swizzled buffer (bit 3 = swz))
927936 [IntrWriteMem, ImmArg<4>], "", [SDNPMemOperand]>,
928937 AMDGPURsrcIntrinsic<1>;
929938def int_amdgcn_raw_buffer_store_format : AMDGPURawBufferStore<llvm_anyfloat_ty>;
@@ -936,7 +945,10 @@ class AMDGPUStructBufferStore<LLVMType data_ty = llvm_any_ty> : Intrinsic <
936945 llvm_i32_ty, // vindex(VGPR)
937946 llvm_i32_ty, // offset(VGPR/imm, included in bounds checking and swizzling)
938947 llvm_i32_ty, // soffset(SGPR/imm, excluded from bounds checking and swizzling)
939- llvm_i32_ty], // cachepolicy(imm; bit 0 = glc, bit 1 = slc, bit 2 = dlc on gfx10+)
948+ llvm_i32_ty], // auxiliary data (imm, cachepolicy (bit 0 = glc,
949+ // bit 1 = slc,
950+ // bit 2 = dlc on gfx10+),
951+ // swizzled buffer (bit 3 = swz))
940952 [IntrWriteMem, ImmArg<5>], "", [SDNPMemOperand]>,
941953 AMDGPURsrcIntrinsic<1>;
942954def int_amdgcn_struct_buffer_store_format : AMDGPUStructBufferStore<llvm_anyfloat_ty>;
@@ -1050,7 +1062,10 @@ def int_amdgcn_raw_tbuffer_load : Intrinsic <
10501062 llvm_i32_ty, // offset(VGPR/imm, included in bounds checking and swizzling)
10511063 llvm_i32_ty, // soffset(SGPR/imm, excluded from bounds checking and swizzling)
10521064 llvm_i32_ty, // format(imm; bits 3..0 = dfmt, bits 6..4 = nfmt)
1053- llvm_i32_ty], // cachepolicy(imm; bit 0 = glc, bit 1 = slc, bit 2 = dlc on gfx10+)
1065+ llvm_i32_ty], // auxiliary data (imm, cachepolicy (bit 0 = glc,
1066+ // bit 1 = slc,
1067+ // bit 2 = dlc on gfx10+),
1068+ // swizzled buffer (bit 3 = swz))
10541069 [IntrReadMem, ImmArg<3>, ImmArg<4>], "", [SDNPMemOperand]>,
10551070 AMDGPURsrcIntrinsic<0>;
10561071
@@ -1061,7 +1076,10 @@ def int_amdgcn_raw_tbuffer_store : Intrinsic <
10611076 llvm_i32_ty, // offset(VGPR/imm, included in bounds checking and swizzling)
10621077 llvm_i32_ty, // soffset(SGPR/imm, excluded from bounds checking and swizzling)
10631078 llvm_i32_ty, // format(imm; bits 3..0 = dfmt, bits 6..4 = nfmt)
1064- llvm_i32_ty], // cachepolicy(imm; bit 0 = glc, bit 1 = slc, bit 2 = dlc on gfx10+)
1079+ llvm_i32_ty], // auxiliary data (imm, cachepolicy (bit 0 = glc,
1080+ // bit 1 = slc,
1081+ // bit 2 = dlc on gfx10+),
1082+ // swizzled buffer (bit 3 = swz))
10651083 [IntrWriteMem, ImmArg<4>, ImmArg<5>], "", [SDNPMemOperand]>,
10661084 AMDGPURsrcIntrinsic<1>;
10671085
@@ -1072,7 +1090,10 @@ def int_amdgcn_struct_tbuffer_load : Intrinsic <
10721090 llvm_i32_ty, // offset(VGPR/imm, included in bounds checking and swizzling)
10731091 llvm_i32_ty, // soffset(SGPR/imm, excluded from bounds checking and swizzling)
10741092 llvm_i32_ty, // format(imm; bits 3..0 = dfmt, bits 6..4 = nfmt)
1075- llvm_i32_ty], // cachepolicy(imm; bit 0 = glc, bit 1 = slc, bit 2 = dlc on gfx10+)
1093+ llvm_i32_ty], // auxiliary data (imm, cachepolicy (bit 0 = glc,
1094+ // bit 1 = slc,
1095+ // bit 2 = dlc on gfx10+),
1096+ // swizzled buffer (bit 3 = swz))
10761097 [IntrReadMem, ImmArg<4>, ImmArg<5>], "", [SDNPMemOperand]>,
10771098 AMDGPURsrcIntrinsic<0>;
10781099
@@ -1084,7 +1105,10 @@ def int_amdgcn_struct_tbuffer_store : Intrinsic <
10841105 llvm_i32_ty, // offset(VGPR/imm, included in bounds checking and swizzling)
10851106 llvm_i32_ty, // soffset(SGPR/imm, excluded from bounds checking and swizzling)
10861107 llvm_i32_ty, // format(imm; bits 3..0 = dfmt, bits 6..4 = nfmt)
1087- llvm_i32_ty], // cachepolicy(imm; bit 0 = glc, bit 1 = slc, bit 2 = dlc on gfx10+)
1108+ llvm_i32_ty], // auxiliary data (imm, cachepolicy (bit 0 = glc,
1109+ // bit 1 = slc,
1110+ // bit 2 = dlc on gfx10+),
1111+ // swizzled buffer (bit 3 = swz))
10881112 [IntrWriteMem, ImmArg<5>, ImmArg<6>], "", [SDNPMemOperand]>,
10891113 AMDGPURsrcIntrinsic<1>;
10901114
0 commit comments