AVX bugfix: when replacing 'all on' masked store with a store,
the rvalue is operand 2, not operand 1 (which is the mask!)
This commit is contained in:
2
opt.cpp
2
opt.cpp
@@ -630,7 +630,7 @@ IntrinsicsOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
|
||||
}
|
||||
else if (mask == 0xff) {
|
||||
// all lanes storing, so replace with a regular store
|
||||
llvm::Value *rvalue = callInst->getArgOperand(1);
|
||||
llvm::Value *rvalue = callInst->getArgOperand(2);
|
||||
llvm::Type *storeType = rvalue->getType();
|
||||
llvm::Value *castPtr =
|
||||
new llvm::BitCastInst(callInst->getArgOperand(0),
|
||||
|
||||
Reference in New Issue
Block a user