Cycles: Add utility functions to print ssef, ssei and sseb

Nothing special, just really handy for debugging.
This commit is contained in:
Sergey Sharybin 2015-02-11 00:11:04 +05:00
parent 4e37b29631
commit 5646a9f759
3 changed files with 22 additions and 0 deletions

@ -155,6 +155,12 @@ __forceinline size_t movemask( const sseb& a ) { return _mm_movemask_ps(a); }
#endif #endif
ccl_device_inline void print_sseb(const char *label, const sseb &a)
{
printf("%s: %df %df %df %d\n",
label, a[0], a[1], a[2], a[3]);
}
CCL_NAMESPACE_END CCL_NAMESPACE_END
#endif #endif

@ -582,6 +582,16 @@ ccl_device_inline const ssef set_sign_bit(const ssef &a)
#endif #endif
ccl_device_inline void print_ssef(const char *label, const ssef &a)
{
printf("%s: %.8f %.8f %.8f %.8f\n",
label,
(double)a[0],
(double)a[1],
(double)a[2],
(double)a[3]);
}
CCL_NAMESPACE_END CCL_NAMESPACE_END
#endif #endif

@ -288,6 +288,12 @@ __forceinline void store4i_nt(void* ptr, const ssei& v) {
#endif #endif
ccl_device_inline void print_ssei(const char *label, const ssei &a)
{
printf("%s: %df %df %df %d\n",
label, a[0], a[1], a[2], a[3]);
}
CCL_NAMESPACE_END CCL_NAMESPACE_END
#endif #endif