Fixed OpShuffleVector
This commit is contained in:
@@ -914,11 +914,11 @@ public:
|
||||
auto v2 = OP_VALUE(3);
|
||||
auto v1_len = llvm::dyn_cast<llvm::VectorType>(v1->getType())->getElementCount().getFixedValue();
|
||||
|
||||
|
||||
for (int i = 4; i < insn->num_operands; i++) {
|
||||
auto idx = OP_WORD(i);
|
||||
auto didx = idx - 4;
|
||||
auto el = idx > v1_len
|
||||
auto didx = i - 4;
|
||||
|
||||
auto el = idx < v1_len
|
||||
? builder->CreateExtractElement(v1, idx)
|
||||
: builder->CreateExtractElement(v2, idx-v1_len);
|
||||
builder->CreateInsertElement(result, el, didx);
|
||||
|
||||
Reference in New Issue
Block a user