|
1022 | 1022 | ], |
1023 | 1023 | "attributes" : "WriteMem", }, |
1024 | 1024 |
|
| 1025 | +## ``llvm.vc.internal.lsc.*2d.typed.bss.*`` : LSC typed 2d block bindless intrinsics |
| 1026 | +## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 1027 | +## * arg0: vNi8, Cache controls, where N is the number of supported cache levels [MBC] |
| 1028 | +## * arg1: i32, Surface BSS |
| 1029 | +## * arg2: i32, Block height [MBC] |
| 1030 | +## * arg3: i32, Block width (in elements) [MBC] |
| 1031 | +## * arg4: i32, Memory block X position (in bytes) |
| 1032 | +## * arg5: i32, Memory block Y position |
| 1033 | +## * arg6: data to write (store only) |
| 1034 | +## |
| 1035 | +## * Return value: the value read or void |
| 1036 | +## |
| 1037 | + "lsc_load_2d_tgm_bss" : { "result" : "anyvector", |
| 1038 | + "arguments" : [ |
| 1039 | + "anyvector", # cache controls |
| 1040 | + "int", # i32 BSS |
| 1041 | + "int", # block height |
| 1042 | + "int", # block width |
| 1043 | + "int", # X offset |
| 1044 | + "int" # Y offset |
| 1045 | + ], |
| 1046 | + "target" : [ |
| 1047 | + "hasLSCMessages", |
| 1048 | + "hasLSCTypedMessages", |
| 1049 | + ], |
| 1050 | + "attributes" : "ReadMem", }, |
| 1051 | + "lsc_store_2d_tgm_bss" : { "result" : "void", |
| 1052 | + "arguments" : [ |
| 1053 | + "anyvector", # cache controls |
| 1054 | + "int", # i32 BSS |
| 1055 | + "int", # block height |
| 1056 | + "int", # block width |
| 1057 | + "int", # X offset |
| 1058 | + "int", # Y offset |
| 1059 | + "anyvector" |
| 1060 | + ], |
| 1061 | + "target" : [ |
| 1062 | + "hasLSCMessages", |
| 1063 | + "hasLSCTypedMessages", |
| 1064 | + ], |
| 1065 | + "attributes" : "WriteMem", }, |
| 1066 | + |
| 1067 | + |
1025 | 1068 |
|
1026 | 1069 | ## ``llvm.vc.internal.lsc.*.quad.tgm`` : Typed LSC load BTI intrinsic |
1027 | 1070 | ## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
|
1089 | 1132 | ], |
1090 | 1133 | "attributes": "SideEffects", }, |
1091 | 1134 |
|
| 1135 | +## ``llvm.vc.internal.lsc.*.quad.tgm.bss`` : Typed LSC load bindless intrinsic |
| 1136 | +## ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 1137 | +## * arg0: vNi1, Predicate (overloaded) |
| 1138 | +## * arg1: vNi8, Cache controls, where N is the number of supported cache levels [MBC] |
| 1139 | +## * arg2: i8, Channel mask [MBC] |
| 1140 | +## * arg3: i32, Surface BSS |
| 1141 | +## * arg4: vNi32, U pixel indices (overloaded) |
| 1142 | +## * arg5: vNi32, V pixel indices |
| 1143 | +## * arg6: vNi32, R pixel indices |
| 1144 | +## * arg7: vNi32, LOD pixel indices |
| 1145 | +## * arg8: vector to take values for masked simd lanes from (load) |
| 1146 | +## vector to take values to write (store) |
| 1147 | +## |
| 1148 | +## * Return value: the value read from memory (load) or void (store, prefetch) |
| 1149 | +## |
| 1150 | + "lsc_load_quad_tgm_bss": { "result": "anyvector", |
| 1151 | + "arguments": [ |
| 1152 | + "anyint", # vNxi1, predicate |
| 1153 | + "anyvector", # cache controls |
| 1154 | + "char", # channel mask |
| 1155 | + "int", # i32 BSS |
| 1156 | + "anyint", # vNi32 U pixel index |
| 1157 | + 3, # vNi32 V pixel index |
| 1158 | + 3, # vNi32 R pixel index |
| 1159 | + 3, # vNi32 LOD pixel index |
| 1160 | + 0, # passthru value |
| 1161 | + ], |
| 1162 | + "target" : [ |
| 1163 | + "hasLSCMessages", |
| 1164 | + "hasLSCTypedMessages", |
| 1165 | + ], |
| 1166 | + "attributes": "ReadMem", }, |
| 1167 | + "lsc_store_quad_tgm_bss": { "result": "void", |
| 1168 | + "arguments": [ |
| 1169 | + "anyint", # vNxi1, predicate |
| 1170 | + "anyvector", # cache controls |
| 1171 | + "char", # channel mask |
| 1172 | + "int", # i32 BSS |
| 1173 | + "anyint", # vNi32 U pixel index |
| 1174 | + 2, # vNi32 V pixel index |
| 1175 | + 2, # vNi32 R pixel index |
| 1176 | + 2, # vNi32 LOD pixel index |
| 1177 | + "anyvector", # data to write |
| 1178 | + ], |
| 1179 | + "target" : [ |
| 1180 | + "hasLSCMessages", |
| 1181 | + "hasLSCTypedMessages", |
| 1182 | + ], |
| 1183 | + "attributes": "WriteMem", }, |
| 1184 | + "lsc_prefetch_quad_tgm_bss": { "result": "void", |
| 1185 | + "arguments": [ |
| 1186 | + "anyint", # vNxi1, predicate |
| 1187 | + "anyvector", # cache controls |
| 1188 | + "char", # channel mask |
| 1189 | + "int", # i32 BSS |
| 1190 | + "anyint", # vNi32 U pixel index |
| 1191 | + 2, # vNi32 V pixel index |
| 1192 | + 2, # vNi32 R pixel index |
| 1193 | + 2, # vNi32 LOD pixel index |
| 1194 | + ], |
| 1195 | + "target" : [ |
| 1196 | + "hasLSCMessages", |
| 1197 | + "hasLSCTypedMessages", |
| 1198 | + ], |
| 1199 | + "attributes": "SideEffects", }, |
| 1200 | + |
1092 | 1201 |
|
1093 | 1202 | ### ---------------------------- |
1094 | 1203 | ### Low-level sampler intrinsics |
|
0 commit comments