return *Entry = ArrayType::get(ElementTypes[0],
cast<ArrayType>(Ty)->getNumElements());
case Type::ScalableVectorTyID:
- // FIXME: handle scalable vectors
case Type::FixedVectorTyID:
- return *Entry = FixedVectorType::get(
- ElementTypes[0], cast<FixedVectorType>(Ty)->getNumElements());
+ return *Entry = VectorType::get(ElementTypes[0],
+ cast<VectorType>(Ty)->getElementCount());
case Type::PointerTyID:
return *Entry = PointerType::get(ElementTypes[0],
cast<PointerType>(Ty)->getAddressSpace());
--- /dev/null
+; RUN: llvm-link %p/Inputs/fixed-vector-type-construction.ll %s -S -o - | FileCheck %s
+%t = type {i32, float}
+; CHECK: define void @foo(<4 x
+; CHECK; define void @bar(<vscale x 4 x
+define void @bar(<vscale x 4 x %t*> %x) {
+ ret void
+}