swr/rast: Added ICLAMP builder function

Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
This commit is contained in:
George Kyriazis 2018-01-19 15:47:10 -06:00
parent f192502001
commit c719f62621
2 changed files with 3 additions and 3 deletions

View file

@ -1545,13 +1545,13 @@ namespace SwrJit
return result;
}
Value *Builder::ICLAMP(Value* src, Value* low, Value* high)
Value *Builder::ICLAMP(Value* src, Value* low, Value* high, const llvm::Twine& name)
{
Value *lowCmp = ICMP_SLT(src, low);
Value *ret = SELECT(lowCmp, low, src);
Value *highCmp = ICMP_SGT(ret, high);
ret = SELECT(highCmp, high, ret);
ret = SELECT(highCmp, high, ret, name);
return ret;
}

View file

@ -174,7 +174,7 @@ Value *VPCMPGTD(Value* a, Value* b)
return S_EXT(vIndexMask,VectorType::get(mInt32Ty,JM()->mVWidth));
}
Value *ICLAMP(Value* src, Value* low, Value* high);
Value *ICLAMP(Value* src, Value* low, Value* high, const llvm::Twine& name = "");
Value *FCLAMP(Value* src, Value* low, Value* high);
Value *FCLAMP(Value* src, float low, float high);