Lines Matching full:nf
139 int NF = 1;
141 let Size = !if(IsVRegClass, !mul(VLMul, NF, 64), 0);
145 let TSFlags{6-4} = !sub(NF, 1);
371 // The set of legal NF for LMUL = lmul.
372 // LMUL <= 1, NF = 2, 3, 4, 5, 6, 7, 8
373 // LMUL == 2, NF = 2, 3, 4
374 // LMUL == 4, NF = 2
375 // LMUL == 8, no legal NF
384 class SubRegSet<int nf, int lmul> {
389 !if(!lt(i, nf),
394 // Collect the valid indexes into 'R' under NF and LMUL values from TUPLE_INDEX.
395 // When NF = 2, the valid TUPLE_INDEX is 0 and 1.
398 // NF = 2. For example, 28 is not valid under LMUL = 4, NF = 2 and TUPLE_INDEX = 0.
400 // (tuple_index + i) x lmul <= (tuple_index x lmul) + 32 - (nf x lmul)
402 // Use START = 0, LMUL = 4 and NF = 2 as the example,
405 // Use START = 1, LMUL = 4 and NF = 2 as the example,
409 class IndexSet<int tuple_index, int nf, int lmul, bit isV0 = false> {
420 !sub(!add(32, !mul(tuple_index, lmul)), !mul(nf, lmul))),
425 // For example, for NF = 2 and LMUL = 4,
430 class VRegList<list<dag> LIn, int start, int nf, int lmul, bit isV0> {
432 !if(!ge(start, nf),
436 !foreach(i, IndexSet<start, nf, lmul, isV0>.R,
441 !size(IndexSet<start, nf, lmul, isV0>.R)))],
442 VRegList<LIn, !add(start, 1), nf, lmul, isV0>.L));
611 foreach nf = NFList<m>.L in {
612 let NF = nf in {
613 def "VRN" # nf # "M" # m # "NoV0"
615 (add !cast<RegisterTuples>("VN" # nf # "M" # m # "NoV0")),
617 def "VRN" # nf # "M" # m
619 (add !cast<RegisterTuples>("VN" # nf # "M" # m # "NoV0"),
620 !cast<RegisterTuples>("VN" # nf # "M" # m # "V0")),