Lines Matching refs:VLEN

29 /// Number of DLEN parts = (LMUL * VLEN) / DLEN.
30 /// Since DLEN = VLEN / 2, Num DLEN parts = 2 * LMUL.
76 // formula (2 * VLEN * LMUL) / DLEN = 4 * LMUL
92 defvar VLEN = 512;
94 // (VLEN * LMUL) / SEW
96 !eq(mx, "M1") : !div(VLEN, sew),
97 !eq(mx, "M2") : !div(!mul(VLEN, 2), sew),
98 !eq(mx, "M4") : !div(!mul(VLEN, 4), sew),
99 !eq(mx, "M8") : !div(!mul(VLEN, 8), sew),
100 !eq(mx, "MF2") : !div(!div(VLEN, 2), sew),
101 !eq(mx, "MF4") : !div(!div(VLEN, 4), sew),
102 !eq(mx, "MF8") : !div(!div(VLEN, 8), sew),
111 // FIXME: On SiFive7, VLEN is 512. Although a user can request the compiler
112 // to use a different VLEN, this model will not make scheduling decisions
113 // based on the user specified VLEN.
114 // c = ceil(VLEN / SEW) * LMUL
115 // Note: c >= 1 since the smallest VLEN is 512 / 8 = 8, and the
116 // largest division performed on VLEN is in MF8 case with division
118 int VLEN = !div(512, sew);
120 !eq(mx, "M1") : VLEN,
121 !eq(mx, "M2") : !mul(VLEN, 2),
122 !eq(mx, "M4") : !mul(VLEN, 4),
123 !eq(mx, "M8") : !mul(VLEN, 8),
124 !eq(mx, "MF2") : !div(VLEN, 2),
125 !eq(mx, "MF4") : !div(VLEN, 4),
126 !eq(mx, "MF8") : !div(VLEN, 8)
144 // VLUpperBound=(VLEN*LMUL)/SEW.
145 defvar VLEN = 512;
146 defvar DLEN = !div(VLEN, 2);
164 defvar VLEN = 512;
165 // (VLEN * LMUL) / SEW
167 !eq(mx, "M1") : !div(VLEN, sew),
168 !eq(mx, "M2") : !div(!mul(VLEN, 2), sew),
169 !eq(mx, "M4") : !div(!mul(VLEN, 4), sew),
170 !eq(mx, "M8") : !div(!mul(VLEN, 8), sew),
171 !eq(mx, "MF2") : !div(!div(VLEN, 2), sew),
172 !eq(mx, "MF4") : !div(!div(VLEN, 4), sew),
173 !eq(mx, "MF8") : !div(!div(VLEN, 8), sew),