Lines Matching refs:num_addrs
260 class MIMGNSAHelper<int num_addrs,
261 list<RegisterClass> addr_types=!listsplat(VGPR_32, num_addrs)>
263 list<string> AddrAsmNames = !foreach(i, !range(num_addrs), "vaddr" # i);
267 let NSA = !if(!le(num_addrs, 1), ?,
268 !if(!le(num_addrs, 5), 1,
269 !if(!le(num_addrs, 9), 2,
270 !if(!le(num_addrs, 13), 3, ?))));
273 class PartialNSAHelper<int num_addrs, int max_addr, RegisterClass LastAddrRC>
277 !if(!ge(num_addrs, max_addr),
279 !listsplat(VGPR_32, num_addrs));
281 int VAddrCount = !if(!gt(num_addrs, max_addr), max_addr, num_addrs);
327 class MIMG_nsa_gfx10<int op, dag outs, int num_addrs, string dns="">
333 let VAddrOperands = num_addrs;
335 MIMGNSAHelper nsah = MIMGNSAHelper<num_addrs>;
358 class MIMG_nsa_gfx11<int op, dag outs, int num_addrs, string dns="",
366 let VAddrOperands = num_addrs;
369 PartialNSAHelper<num_addrs, 5, LastAddrRC>,
370 MIMGNSAHelper<num_addrs, addr_types>);
378 class VIMAGE_gfx12<int op, dag outs, int num_addrs, string dns="",
385 let VAddrOperands = num_addrs;
388 MIMGNSAHelper<num_addrs>,
389 MIMGNSAHelper<num_addrs, addr_types>);
391 string AddrAsm = !if(!eq(num_addrs, 1), "$vaddr0", nsah.AddrAsm);
394 let vaddr1 = !if(!lt(num_addrs, 2), 0, ?);
395 let vaddr2 = !if(!lt(num_addrs, 3), 0, ?);
396 let vaddr3 = !if(!lt(num_addrs, 4), 0, ?);
397 let vaddr4 = !if(!lt(num_addrs, 5), 0, ?);
400 class VSAMPLE_gfx12<int op, dag outs, int num_addrs, string dns="",
407 let VAddrOperands = num_addrs;
409 PartialNSAHelper nsah = PartialNSAHelper<num_addrs, 4, Addr3RC>;
412 string AddrAsm = !if(!eq(num_addrs, 1), "$vaddr0", nsah.AddrAsm);
415 let vaddr1 = !if(!lt(num_addrs, 2), 0, ?);
416 let vaddr2 = !if(!lt(num_addrs, 3), 0, ?);
417 let vaddr3 = !if(!lt(num_addrs, 4), 0, ?);
459 RegisterClass DataRC, int num_addrs,
461 : MIMG_nsa_gfx10<op.GFX10M, (outs DataRC:$vdata), num_addrs, dns> {
484 RegisterClass DataRC, int num_addrs,
486 : MIMG_nsa_gfx11<op.GFX11, (outs DataRC:$vdata), num_addrs, dns> {
497 RegisterClass DataRC, int num_addrs,
499 : VIMAGE_gfx12<op.GFX12, (outs DataRC:$vdata), num_addrs, dns> {
509 int num_addrs, RegisterClass Addr3RC = VGPR_32,
511 : VSAMPLE_gfx12<op.GFX12, (outs DataRC:$vdata), num_addrs, dns, Addr3RC> {
526 int num_addrs, RegisterClass Addr3RC = VGPR_32,
528 : VSAMPLE_gfx12<op.GFX12, (outs), num_addrs, dns, Addr3RC> {
718 RegisterClass DataRC, int num_addrs,
720 : MIMG_nsa_gfx10<op.GFX10M, (outs), num_addrs, dns> {
744 RegisterClass DataRC, int num_addrs,
746 : MIMG_nsa_gfx11<op.GFX11, (outs), num_addrs, dns> {
758 RegisterClass DataRC, int num_addrs,
760 : VIMAGE_gfx12<op.GFX12, (outs), num_addrs, dns> {
933 RegisterClass DataRC, int num_addrs,
935 : MIMG_nsa_gfx10<!cast<int>(op.GFX10M), (outs DataRC:$vdst), num_addrs,
961 RegisterClass DataRC, int num_addrs,
963 : MIMG_nsa_gfx11<!cast<int>(op.GFX11), (outs DataRC:$vdst), num_addrs,
976 int num_addrs, bit enableDisasm = 0>
977 : VIMAGE_gfx12<!cast<int>(op.GFX12), (outs DataRC:$vdst), num_addrs,
989 RegisterClass DataRC, int num_addrs,
991 : VIMAGE_Atomic_gfx12<op, renamed, DataRC, num_addrs, enableDisasm>;
1183 RegisterClass DataRC, int num_addrs,
1185 : MIMG_nsa_gfx10<op.GFX10M, (outs DataRC:$vdata), num_addrs, dns> {
1201 int num_addrs,
1203 : MIMG_nsa_gfx10<op.GFX10M, (outs), num_addrs, dns> {
1219 RegisterClass DataRC, int num_addrs,
1221 : MIMG_nsa_gfx11<op.GFX11, (outs DataRC:$vdata), num_addrs, dns, [],
1237 int num_addrs,
1239 : MIMG_nsa_gfx11<op.GFX11, (outs), num_addrs, dns, [], LastVAddrSize> {
1523 int num_addrs = !if(Is64, !if(IsA16, 9, 12), !if(IsA16, 8, 11));
1524 RegisterClass RegClass = MIMGAddrSize<num_addrs, 0>.RegClass;
1543 class MIMG_IntersectRay_nsa_gfx10<mimgopc op, string opcode, int num_addrs>
1544 : MIMG_nsa_gfx10<op.GFX10M, (outs VReg_128:$vdata), num_addrs, "GFX10"> {
1557 class MIMG_IntersectRay_nsa_gfx11<mimgopc op, string opcode, int num_addrs,
1559 : MIMG_nsa_gfx11<op.GFX11, (outs VReg_128:$vdata), num_addrs, "GFX11",
1565 class VIMAGE_IntersectRay_gfx12<mimgopc op, string opcode, int num_addrs,
1568 num_addrs, "GFX12", addr_types> {
1601 def _nsa_gfx10 : MIMG_IntersectRay_nsa_gfx10<op, opcode, info.num_addrs> {
1602 let VAddrDwords = info.num_addrs;
1608 let VAddrDwords = info.num_addrs;
1613 let VAddrDwords = info.num_addrs;