我想现在将一个整数存储到向量的第二个元素中。向量是<2 x i64>
,现在我只有它的指针<2 x i64>*
。
我已经尝试了几种方法来获取指向其第二个元素的指针,但它们都失败了。
我尝试使用getelementptr,但我无法将 Ty 参数设置为i64
或i64*
,否则会报告错误,其中包含&#34; {{1失败&#34;。如果我将其设置为NULL,我可以得到一个assert (PointeeType == cast<PointerType>(Ptr->getType()->getScalarType())->getElementType());
。
然后我尝试使用<2 x i64>*
首先提取向量的第二个元素。但在我得到IRBuilder.CreateExtractElement
后,我不知道如何获取指针,因为我必须将商店的第二个参数设置为i64
。
答案 0 :(得分:0)
嗯,你不能&#34;存储&#34;通常是向量的第二个元素(如果它在寄存器中会是什么 - 地址是什么?)。
使用insertelement指令(https://llvm.org/docs/LangRef.html#insertelement-instruction)将标量元素放入向量中。