Fix bugs in declarations of __any, __all, and __none in examples/intrinsics.

They return bool, not vector of bool.
This commit is contained in:
Matt Pharr
2012-10-17 10:55:50 -07:00
parent 09dc217f8c
commit 406fbab40e
4 changed files with 12 additions and 12 deletions

View File

@@ -343,15 +343,15 @@ static FORCEINLINE uint64_t __movmsk(__vec16_i1 mask) {
return (uint64_t)mask.v; return (uint64_t)mask.v;
} }
static FORCEINLINE __vec16_i1 __any(__vec16_i1 mask) { static FORCEINLINE bool __any(__vec16_i1 mask) {
return (mask.v!=0); return (mask.v!=0);
} }
static FORCEINLINE __vec16_i1 __all(__vec16_i1 mask) { static FORCEINLINE bool __all(__vec16_i1 mask) {
return (mask.v==0xFFFF); return (mask.v==0xFFFF);
} }
static FORCEINLINE __vec16_i1 __none(__vec16_i1 mask) { static FORCEINLINE bool __none(__vec16_i1 mask) {
return (mask.v==0); return (mask.v==0);
} }

View File

@@ -473,15 +473,15 @@ static FORCEINLINE __vec16_i1 __movmsk(__vec16_i1 mask) {
return _mm512_kmov(mask); return _mm512_kmov(mask);
} }
static FORCEINLINE __vec16_i1 __any(__vec16_i1 mask) { static FORCEINLINE bool __any(__vec16_i1 mask) {
return !_mm512_kortestz(mask, mask); return !_mm512_kortestz(mask, mask);
} }
static FORCEINLINE __vec16_i1 __all(__vec16_i1 mask) { static FORCEINLINE bool __all(__vec16_i1 mask) {
return (mask=0xFFFF); return (mask=0xFFFF);
} }
static FORCEINLINE __vec16_i1 __none(__vec16_i1 mask) { static FORCEINLINE bool __none(__vec16_i1 mask) {
return !__any(mask); return !__any(mask);
} }

View File

@@ -296,15 +296,15 @@ static FORCEINLINE uint32_t __movmsk(__vec32_i1 mask) {
return ((m1<<16)|m2); return ((m1<<16)|m2);
} }
static FORCEINLINE uint32_t __any(__vec32_i1 mask) { static FORCEINLINE bool __any(__vec32_i1 mask) {
return !_mm512_kortestz(mask.m16.m1, mask.m16.m2); return !_mm512_kortestz(mask.m16.m1, mask.m16.m2);
} }
static FORCEINLINE uint32_t __all(__vec32_i1 mask) { static FORCEINLINE bool __all(__vec32_i1 mask) {
return (mask.m==0xFFFFFFFF); return (mask.m==0xFFFFFFFF);
} }
static FORCEINLINE uint32_t __none(__vec32_i1 mask) { static FORCEINLINE bool __none(__vec32_i1 mask) {
return !__any(mask); return !__any(mask);
} }

View File

@@ -269,15 +269,15 @@ static FORCEINLINE uint64_t __movmsk(__vec4_i1 mask) {
return (uint64_t)_mm_movemask_ps(mask.v); return (uint64_t)_mm_movemask_ps(mask.v);
} }
static FORCEINLINE __vec4_i1 __any(__vec4_i1 mask) { static FORCEINLINE bool __any(__vec4_i1 mask) {
return (_mm_movemask_ps(mask.v)!=0); return (_mm_movemask_ps(mask.v)!=0);
} }
static FORCEINLINE __vec4_i1 __all(__vec4_i1 mask) { static FORCEINLINE bool __all(__vec4_i1 mask) {
return (_mm_movemask_ps(mask.v)=0xF); return (_mm_movemask_ps(mask.v)=0xF);
} }
static FORCEINLINE __vec4_i1 __none(__vec4_i1 mask) { static FORCEINLINE bool __none(__vec4_i1 mask) {
return (_mm_movemask_ps(mask.v)==0); return (_mm_movemask_ps(mask.v)==0);
} }