|
1218 | 1218 | ###
|
1219 | 1219 | "ieee_sqrt" : ["anyfloat",[0],"NoMem"],
|
1220 | 1220 |
|
| 1221 | +### ``llvm.genx.dpas.<return type>.<vector type>.<vector type>`` : dpas instruction (Dot Product Accumulate Systolic) |
| 1222 | +### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 1223 | +### |
| 1224 | +### * arg0: accumulator, vector integer/float type |
| 1225 | +### * arg1: src1 (W), vector integer/float type (overloaded) |
| 1226 | +### * arg2: src2 (A), vector integer/float type (overloaded) |
| 1227 | +### * arg3: integer, encodes informatioin about the operation type |
| 1228 | +### |
| 1229 | +### * Return value: result, same type as arg0 |
| 1230 | +### |
| 1231 | + "dpas" : ["anyvector",[0,"anyvector","anyvector","int"],"NoMem"], |
| 1232 | + |
| 1233 | +### ``llvm.genx.dpas2.<return type>.<vector type>.<vector type>.<vector type>`` : dpas instruction (Dot Product Accumulate Systolic) |
| 1234 | +### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 1235 | +### |
| 1236 | +### * arg0: accumulator first input value, vector integer/float type |
| 1237 | +### * arg1: src1 input value, vector integer/float type |
| 1238 | +### * arg2: src2 fourth input value, integer type |
| 1239 | +### * arg3: int information of src1 PresisionType |
| 1240 | +### * arg4: int information of src2 PresisionType |
| 1241 | +### * arg5: int SystolicDepth |
| 1242 | +### * arg6: int RepeatCount |
| 1243 | +### * arg7: int sign dst( 0 - unsigned, 1 sign) |
| 1244 | +### * arg8: int sign src0 |
| 1245 | +### |
| 1246 | +### * Return value: result |
| 1247 | +### |
| 1248 | + "dpas2" : ["anyvector",["anyvector","anyvector","anyvector","int","int", "int", "int", "int", "int"],"NoMem"], |
| 1249 | + |
| 1250 | +### ``llvm.genx.dpas.nosrc0.<return type>.<vector type>.<vector type>`` : dpas instruction (Dot Product Accumulate Systolic) with no src0 |
| 1251 | +### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 1252 | +### |
| 1253 | +### * arg0: second input value, vector integer/float type (overloaded) |
| 1254 | +### * arg1: third input value, vector integer/float type (overloaded) |
| 1255 | +### * arg2: fourth input value, integer type |
| 1256 | +### |
| 1257 | +### * Return value: result |
| 1258 | +### |
| 1259 | + "dpas_nosrc0" : ["anyvector",["anyvector","anyvector","int"],"NoMem"], |
| 1260 | + |
| 1261 | +### ``llvm.genx.dpasw.<return type>.<vector type>.<vector type>`` : dpasw instruction (Dot Product Accumulate Systolic) |
| 1262 | +### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 1263 | +### |
| 1264 | +### * arg0: first input value, vector integer/float type |
| 1265 | +### * arg1: second input value, vector integer/float type (overloaded) |
| 1266 | +### * arg2: third input value, vector integer/float type (overloaded) |
| 1267 | +### * arg3: fourth input value, integer type |
| 1268 | +### |
| 1269 | +### * Return value: result, same type as arg0 |
| 1270 | +### |
| 1271 | + "dpasw" : ["anyvector",[0,"anyvector","anyvector","int"],"NoMem"], |
| 1272 | + |
| 1273 | +### ``llvm.genx.dpasw.nosrc0.<return type>.<vector type>.<vector type>`` : dpasw instruction (Dot Product Accumulate Systolic) with no src0 |
| 1274 | +### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 1275 | +### |
| 1276 | +### * arg0: second input value, vector integer/float type (overloaded) |
| 1277 | +### * arg1: third input value, vector integer/float type (overloaded) |
| 1278 | +### * arg2: fourth input value, integer type |
| 1279 | +### |
| 1280 | +### * Return value: result |
| 1281 | +### |
| 1282 | + "dpasw_nosrc0" : ["anyvector",["anyvector","anyvector","int"],"NoMem"], |
| 1283 | + |
1221 | 1284 | ### ``llvm.genx.*dp4a*.<return type>.<vector type>.<vector type>.<vector type>`` : dp4a instruction (Dot Product 4 Accumulate)
|
1222 | 1285 | ### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
1223 | 1286 | ### * ``llvm.genx.ssdp4a`` : result signed, operands signed
|
|
1267 | 1330 | ### * arg1: second input, same type as arg0
|
1268 | 1331 | "subb" : [["anyint", "anyint"], [0, 0], "NoMem"],
|
1269 | 1332 |
|
| 1333 | +### add3 |
| 1334 | +### ^^^^ |
| 1335 | +### |
| 1336 | +### ``llvm.genx.*add3.<return type>.<any int>`` : add3 instruction without saturation |
| 1337 | +### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 1338 | +### * ``llvm.genx.add3`` : |
| 1339 | +### |
| 1340 | +### * arg0: first input, any scalar/vector integer type, i16/i32 (overloaded) |
| 1341 | +### * arg1: second input, same type as arg0 |
| 1342 | +### * arg2: third input, same type as arg0 |
| 1343 | + "add3" : ["anyint",["anyint",1,1],"NoMem"], |
| 1344 | + |
| 1345 | +### ``llvm.genx.*add3.sat.<return type>.<any int>`` : add3 instruction with saturation |
| 1346 | +### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 1347 | +### * ``llvm.genx.ssadd3.sat`` : result signed, operands signed |
| 1348 | +### * ``llvm.genx.suadd3.sat`` : result signed, operands unsigned |
| 1349 | +### * ``llvm.genx.usadd3.sat`` : result unsigned, operands signed |
| 1350 | +### * ``llvm.genx.uuadd3.sat`` : result unsigned, operands unsigned |
| 1351 | +### |
| 1352 | +### * arg0: first input, any scalar/vector integer type, i16/i32 (overloaded) |
| 1353 | +### * arg1: second input, same type as arg0 |
| 1354 | +### * arg2: third input, same type as arg0 |
| 1355 | +### |
| 1356 | +### * Return value: result, any scalar or vector integer type with same |
| 1357 | +### vector width |
| 1358 | +### |
| 1359 | + "ssadd3_sat" : ["anyint",["anyint",1,1],"NoMem"], |
| 1360 | + "suadd3_sat" : ["anyint",["anyint",1,1],"NoMem"], |
| 1361 | + "usadd3_sat" : ["anyint",["anyint",1,1],"NoMem"], |
| 1362 | + "uuadd3_sat" : ["anyint",["anyint",1,1],"NoMem"], |
| 1363 | + |
| 1364 | +### bfn |
| 1365 | +### ^^^ |
| 1366 | +### |
| 1367 | +### ``llvm.genx.bfn.<return type>.<any int>`` : bfn instruction |
| 1368 | +### ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 1369 | +### * ``llvm.genx.bfn`` : |
| 1370 | +### |
| 1371 | +### * arg0: first input, any scalar/vector integer type, i16/i32 (overloaded) |
| 1372 | +### * arg1: second input, same type as arg0 |
| 1373 | +### * arg2: third input, same type as arg0 |
| 1374 | +### * arg3: fourth input, byte, constant |
| 1375 | + "bfn" : ["anyint",["anyint",1,1,"char"],"NoMem"], |
1270 | 1376 |
|
1271 | 1377 | ### xor
|
1272 | 1378 | ### ^^^
|
|
0 commit comments