Skip to content

Commit dd58bb7

Browse files
committed
fixup! change the name and representation for vector tuple type
1 parent 67384cd commit dd58bb7

File tree

4 files changed

+37
-47
lines changed

4 files changed

+37
-47
lines changed

llvm/include/llvm/CodeGen/ValueTypes.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,6 @@ namespace llvm {
8787
return getExtendedVectorVT(Context, VT, EC);
8888
}
8989

90-
/// Returns the EVT that represents a vector tuple type.
91-
static EVT getRISCVVectorTupleVT(int Log2LMUL, unsigned NFields) {
92-
// Sz = NF * LMUL * BitsPerBlock
93-
unsigned Sz =
94-
NFields * (Log2LMUL < 0 ? (64 >> -Log2LMUL) : (64 << Log2LMUL));
95-
return MVT::getRISCVVectorTupleVT(Sz, NFields);
96-
}
97-
9890
/// Return a vector with the same number of elements as this vector, but
9991
/// with the element type converted to an integer type with the same
10092
/// bitwidth.

llvm/include/llvm/CodeGen/ValueTypes.td

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -282,39 +282,39 @@ def nxv2f64 : VTScalableVec<2, f64, 187>; // n x 2 x f64 vector value
282282
def nxv4f64 : VTScalableVec<4, f64, 188>; // n x 4 x f64 vector value
283283
def nxv8f64 : VTScalableVec<8, f64, 189>; // n x 8 x f64 vector value
284284

285-
// Sz = NF * LMUL * BitsPerBlock
286-
def riscv_mf8x2 : VTVecTup<16, 2, i8, 190>; // RISCV vector tuple(lmul=mf8, nf=2)
287-
def riscv_mf8x3 : VTVecTup<24, 3, i8, 191>; // RISCV vector tuple(lmul=mf8, nf=3)
288-
def riscv_mf8x4 : VTVecTup<32, 4, i8, 192>; // RISCV vector tuple(lmul=mf8, nf=4)
289-
def riscv_mf8x5 : VTVecTup<40, 5, i8, 193>; // RISCV vector tuple(lmul=mf8, nf=5)
290-
def riscv_mf8x6 : VTVecTup<48, 6, i8, 194>; // RISCV vector tuple(lmul=mf8, nf=6)
291-
def riscv_mf8x7 : VTVecTup<56, 7, i8, 195>; // RISCV vector tuple(lmul=mf8, nf=7)
292-
def riscv_mf8x8 : VTVecTup<64, 8, i8, 196>; // RISCV vector tuple(lmul=mf8, nf=8)
293-
def riscv_mf4x2 : VTVecTup<32, 2, i8, 197>; // RISCV vector tuple(lmul=mf4, nf=2)
294-
def riscv_mf4x3 : VTVecTup<48, 3, i8, 198>; // RISCV vector tuple(lmul=mf4, nf=3)
295-
def riscv_mf4x4 : VTVecTup<64, 4, i8, 199>; // RISCV vector tuple(lmul=mf4, nf=4)
296-
def riscv_mf4x5 : VTVecTup<80, 5, i8, 200>; // RISCV vector tuple(lmul=mf4, nf=5)
297-
def riscv_mf4x6 : VTVecTup<96, 6, i8, 201>; // RISCV vector tuple(lmul=mf4, nf=6)
298-
def riscv_mf4x7 : VTVecTup<112, 7, i8, 202>; // RISCV vector tuple(lmul=mf4, nf=7)
299-
def riscv_mf4x8 : VTVecTup<128, 8, i8, 203>; // RISCV vector tuple(lmul=mf4, nf=8)
300-
def riscv_mf2x2 : VTVecTup<64, 2, i8, 204>; // RISCV vector tuple(lmul=mf2, nf=2)
301-
def riscv_mf2x3 : VTVecTup<96, 3, i8, 205>; // RISCV vector tuple(lmul=mf2, nf=3)
302-
def riscv_mf2x4 : VTVecTup<128, 4, i8, 206>; // RISCV vector tuple(lmul=mf2, nf=4)
303-
def riscv_mf2x5 : VTVecTup<160, 5, i8, 207>; // RISCV vector tuple(lmul=mf2, nf=5)
304-
def riscv_mf2x6 : VTVecTup<192, 6, i8, 208>; // RISCV vector tuple(lmul=mf2, nf=6)
305-
def riscv_mf2x7 : VTVecTup<224, 7, i8, 209>; // RISCV vector tuple(lmul=mf2, nf=7)
306-
def riscv_mf2x8 : VTVecTup<256, 8, i8, 210>; // RISCV vector tuple(lmul=mf2, nf=8)
307-
def riscv_m1x2 : VTVecTup<128, 2, i8, 211>; // RISCV vector tuple(lmul=1, nf=2)
308-
def riscv_m1x3 : VTVecTup<192, 3, i8, 212>; // RISCV vector tuple(lmul=1, nf=3)
309-
def riscv_m1x4 : VTVecTup<256, 4, i8, 213>; // RISCV vector tuple(lmul=1, nf=4)
310-
def riscv_m1x5 : VTVecTup<320, 5, i8, 214>; // RISCV vector tuple(lmul=1, nf=5)
311-
def riscv_m1x6 : VTVecTup<384, 6, i8, 215>; // RISCV vector tuple(lmul=1, nf=6)
312-
def riscv_m1x7 : VTVecTup<448, 7, i8, 216>; // RISCV vector tuple(lmul=1, nf=7)
313-
def riscv_m1x8 : VTVecTup<512, 8, i8, 217>; // RISCV vector tuple(lmul=1, nf=8)
314-
def riscv_m2x2 : VTVecTup<256, 2, i8, 218>; // RISCV vector tuple(lmul=2, nf=2)
315-
def riscv_m2x3 : VTVecTup<384, 3, i8, 219>; // RISCV vector tuple(lmul=2, nf=3)
316-
def riscv_m2x4 : VTVecTup<512, 4, i8, 220>; // RISCV vector tuple(lmul=2, nf=4)
317-
def riscv_m4x2 : VTVecTup<512, 2, i8, 221>; // RISCV vector tuple(lmul=4, nf=2)
285+
// Sz = NF * MinNumElts * 8(bits)
286+
def riscv_nxv1i8x2 : VTVecTup<16, 2, i8, 190>; // RISCV vector tuple(min_num_elts=1, nf=2)
287+
def riscv_nxv1i8x3 : VTVecTup<24, 3, i8, 191>; // RISCV vector tuple(min_num_elts=1, nf=3)
288+
def riscv_nxv1i8x4 : VTVecTup<32, 4, i8, 192>; // RISCV vector tuple(min_num_elts=1, nf=4)
289+
def riscv_nxv1i8x5 : VTVecTup<40, 5, i8, 193>; // RISCV vector tuple(min_num_elts=1, nf=5)
290+
def riscv_nxv1i8x6 : VTVecTup<48, 6, i8, 194>; // RISCV vector tuple(min_num_elts=1, nf=6)
291+
def riscv_nxv1i8x7 : VTVecTup<56, 7, i8, 195>; // RISCV vector tuple(min_num_elts=1, nf=7)
292+
def riscv_nxv1i8x8 : VTVecTup<64, 8, i8, 196>; // RISCV vector tuple(min_num_elts=1, nf=8)
293+
def riscv_nxv2i8x2 : VTVecTup<32, 2, i8, 197>; // RISCV vector tuple(min_num_elts=2, nf=2)
294+
def riscv_nxv2i8x3 : VTVecTup<48, 3, i8, 198>; // RISCV vector tuple(min_num_elts=2, nf=3)
295+
def riscv_nxv2i8x4 : VTVecTup<64, 4, i8, 199>; // RISCV vector tuple(min_num_elts=2, nf=4)
296+
def riscv_nxv2i8x5 : VTVecTup<80, 5, i8, 200>; // RISCV vector tuple(min_num_elts=2, nf=5)
297+
def riscv_nxv2i8x6 : VTVecTup<96, 6, i8, 201>; // RISCV vector tuple(min_num_elts=2, nf=6)
298+
def riscv_nxv2i8x7 : VTVecTup<112, 7, i8, 202>; // RISCV vector tuple(min_num_elts=2, nf=7)
299+
def riscv_nxv2i8x8 : VTVecTup<128, 8, i8, 203>; // RISCV vector tuple(min_num_elts=2, nf=8)
300+
def riscv_nxv4i8x2 : VTVecTup<64, 2, i8, 204>; // RISCV vector tuple(min_num_elts=4, nf=2)
301+
def riscv_nxv4i8x3 : VTVecTup<96, 3, i8, 205>; // RISCV vector tuple(min_num_elts=4, nf=3)
302+
def riscv_nxv4i8x4 : VTVecTup<128, 4, i8, 206>; // RISCV vector tuple(min_num_elts=4, nf=4)
303+
def riscv_nxv4i8x5 : VTVecTup<160, 5, i8, 207>; // RISCV vector tuple(min_num_elts=4, nf=5)
304+
def riscv_nxv4i8x6 : VTVecTup<192, 6, i8, 208>; // RISCV vector tuple(min_num_elts=4, nf=6)
305+
def riscv_nxv4i8x7 : VTVecTup<224, 7, i8, 209>; // RISCV vector tuple(min_num_elts=4, nf=7)
306+
def riscv_nxv4i8x8 : VTVecTup<256, 8, i8, 210>; // RISCV vector tuple(min_num_elts=4, nf=8)
307+
def riscv_nxv8i8x2 : VTVecTup<128, 2, i8, 211>; // RISCV vector tuple(min_num_elts=8, nf=2)
308+
def riscv_nxv8i8x3 : VTVecTup<192, 3, i8, 212>; // RISCV vector tuple(min_num_elts=8, nf=3)
309+
def riscv_nxv8i8x4 : VTVecTup<256, 4, i8, 213>; // RISCV vector tuple(min_num_elts=8, nf=4)
310+
def riscv_nxv8i8x5 : VTVecTup<320, 5, i8, 214>; // RISCV vector tuple(min_num_elts=8, nf=5)
311+
def riscv_nxv8i8x6 : VTVecTup<384, 6, i8, 215>; // RISCV vector tuple(min_num_elts=8, nf=6)
312+
def riscv_nxv8i8x7 : VTVecTup<448, 7, i8, 216>; // RISCV vector tuple(min_num_elts=8, nf=7)
313+
def riscv_nxv8i8x8 : VTVecTup<512, 8, i8, 217>; // RISCV vector tuple(min_num_elts=8, nf=8)
314+
def riscv_nxv16i8x2 : VTVecTup<256, 2, i8, 218>; // RISCV vector tuple(min_num_elts=16, nf=2)
315+
def riscv_nxv16i8x3 : VTVecTup<384, 3, i8, 219>; // RISCV vector tuple(min_num_elts=16, nf=3)
316+
def riscv_nxv16i8x4 : VTVecTup<512, 4, i8, 220>; // RISCV vector tuple(min_num_elts=16, nf=4)
317+
def riscv_nxv32i8x2 : VTVecTup<512, 2, i8, 221>; // RISCV vector tuple(min_num_elts=32, nf=2)
318318

319319
def x86mmx : ValueType<64, 222>; // X86 MMX value
320320
def Glue : ValueType<0, 223>; // Pre-RA sched glue

llvm/lib/CodeGen/ValueTypes.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,8 @@ std::string EVT::getEVTString() const {
164164
if (isRISCVVectorTuple()) {
165165
unsigned Sz = getSizeInBits();
166166
unsigned NF = getVectorMinNumElements();
167-
int Log2LMUL = Log2_64(Sz / NF) - 6;
168-
return "riscv_m" +
169-
((Log2LMUL < 0 ? "f" : "") + utostr(1 << std::abs(Log2LMUL))) +
170-
"x" + utostr(getVectorMinNumElements());
167+
unsigned MinNumElts = Sz / (NF * 8);
168+
return "riscv_nxv" + utostr(MinNumElts) + "i8";
171169
}
172170
if (isVector())
173171
return (isScalableVector() ? "nxv" : "v") +
@@ -257,7 +255,7 @@ MVT MVT::getVT(Type *Ty, bool HandleUnknown){
257255
return MVT(MVT::aarch64svcount);
258256
else if (TargetExtTy->getName().starts_with("spirv."))
259257
return MVT(MVT::spirvbuiltin);
260-
if (TargetExtTy->getName() == "riscv_vec_tuple") {
258+
if (TargetExtTy->getName() == "riscv.vector.tuple") {
261259
unsigned Sz = cast<ScalableVectorType>(TargetExtTy->getTypeParameter(0))
262260
->getMinNumElements() *
263261
8;

llvm/utils/TableGen/VTEmitter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ static void VTtoGetLLVMTyString(raw_ostream &OS, const Record *VT) {
3636
if (IsRISCVVecTuple) {
3737
unsigned NElem = VT->getValueAsInt("nElem");
3838
unsigned Sz = VT->getValueAsInt("Size");
39-
OS << "TargetExtType::get(Context, \"riscv_vec_tuple\", "
39+
OS << "TargetExtType::get(Context, \"riscv.vector.tuple\", "
4040
"ScalableVectorType::get(Type::getInt8Ty(Context), "
4141
<< (Sz / (NElem * 8)) << "), " << NElem << ")";
4242
return;

0 commit comments

Comments
 (0)