C++ 对于总位数不同的类型,LLVM类型强制转换失败

C++ 对于总位数不同的类型,LLVM类型强制转换失败,c++,casting,llvm,C++,Casting,Llvm,我尝试使用BitCastInst和 iType = dyn_cast<Type>(VectorType::get(iType, eleCount)); iType=dyn_cast(VectorType::get(iType,eleCount)); 我的问题:是否可以从具有3个Int16Ty元素的向量类型转换为具有1个64位元素(Int64Ty)的向量类型(如果需要,用16个零填充原始元素) 因为在上面的例子中,differnt中的总比特数看起来不可能进行这样的转换。 谢谢您是

我尝试使用
BitCastInst

 iType = dyn_cast<Type>(VectorType::get(iType, eleCount));
iType=dyn_cast(VectorType::get(iType,eleCount));
我的问题:是否可以从具有3个Int16Ty元素的向量类型转换为具有1个64位元素(Int64Ty)的向量类型(如果需要,用16个零填充原始元素)

因为在上面的例子中,differnt中的总比特数看起来不可能进行这样的转换。
谢谢

您是否可以使用
dyn\u cast
与类型的位宽度无关

dyn_cast
和al.用于在LLVM类型的继承层次结构中进行强制转换,更精确地说,用于从基类型强制转换为派生类型