I am trying to count number of zeros in a register from left to right. For this i need a loop. Getting out of this loop is difficult as i do not know how to put if statement on llvm::value?
llvm::Value* intermediateValue = llvm::ConstantInt::get(llvm::Type::getInt32Ty(llvm::getGlobalContext()), 1, true);
for(int64_t i =31; i>=0; i--)
{
//Shifting the register right
CountFirstOne = irBuilder->CreateLShr(llvmRegFirstOperand,i,"CountFirstOneCal");
if(CountFirstOne == intermediateValue)
{
break;
}
count = count+1; // count has number of zeros
}