mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-04-01 12:43:47 +00:00
libclc: Add clamp(vec, scalar, scalar) and max(vec, scalar)
For any GENTYPE that isn't scalar, we need to implement a mixed vector/scalar version of clamp/max. This depends on the min() patches I sent to the list a few minutes ago. Patch by: Aaron Watry llvm-svn: 185003
This commit is contained in:
parent
075b31a2fa
commit
34f513df7c
@ -1 +1,5 @@
|
||||
_CLC_OVERLOAD _CLC_DECL GENTYPE clamp(GENTYPE x, GENTYPE y, GENTYPE z);
|
||||
|
||||
#ifndef SCALAR
|
||||
_CLC_OVERLOAD _CLC_DECL GENTYPE clamp(GENTYPE x, SCALAR_GENTYPE y, SCALAR_GENTYPE z);
|
||||
#endif
|
||||
|
@ -1 +1,5 @@
|
||||
_CLC_OVERLOAD _CLC_DECL GENTYPE max(GENTYPE a, GENTYPE b);
|
||||
|
||||
#ifndef SCALAR
|
||||
_CLC_OVERLOAD _CLC_DECL GENTYPE max(GENTYPE a, SCALAR_GENTYPE b);
|
||||
#endif
|
||||
|
@ -1,3 +1,9 @@
|
||||
_CLC_OVERLOAD _CLC_DEF GENTYPE clamp(GENTYPE x, GENTYPE y, GENTYPE z) {
|
||||
return (x > z ? z : (x < y ? y : x));
|
||||
}
|
||||
|
||||
#ifndef SCALAR
|
||||
_CLC_OVERLOAD _CLC_DEF GENTYPE clamp(GENTYPE x, SCALAR_GENTYPE y, SCALAR_GENTYPE z) {
|
||||
return (x > (GENTYPE)z ? (GENTYPE)z : (x < (GENTYPE)y ? (GENTYPE)y : x));
|
||||
}
|
||||
#endif
|
@ -1,3 +1,9 @@
|
||||
_CLC_OVERLOAD _CLC_DEF GENTYPE max(GENTYPE a, GENTYPE b) {
|
||||
return (a > b ? a : b);
|
||||
}
|
||||
|
||||
#ifndef SCALAR
|
||||
_CLC_OVERLOAD _CLC_DEF GENTYPE max(GENTYPE a, SCALAR_GENTYPE b) {
|
||||
return (a > (GENTYPE)b ? a : (GENTYPE)b);
|
||||
}
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user