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

时间:2012-05-02 09:50:17

标签: c++ casting llvm

我尝试使用BitCastInst

在LLVm中执行转换
 iType = dyn_cast<Type>(VectorType::get(iType, eleCount));

我的问题:是否可以从具有3个元素的Int16Ty的矢量类型转换为具有1个64位(Int64Ty)的矢量类型(如果需要,填充原始的16个零)?

由于上述示例中不同位的总位数看起来像是不可能进行这样的转换。 谢谢

1 个答案:

答案 0 :(得分:1)

是否可以使用dyn_cast与类型的位宽无关。

dyn_cast和al。用于在LLVM类型的继承层次结构中进行转换,更精确地说,用于从Base转换为Derived。