__fltused whats the difference

i found out ntstrsafe.lib and libcntpr.lib fix the error LNK2001: unresolved external symbol _fltused whats the difference between those two how they handle __fltused is it true ntstrsafe.lib reduce the buffer overruns?

__fltused is nothing more than a flag the compiler adds that signals that your driver uses floating point, to force the C runtime to initialize things. And please note that if you ARE using floating point, you must take special precautions, because the floating point registers are not saved on kernel transitions.

im using SSE floating point operations in kernel is it not saved automatically? i know x86 had issues with it

SSE is fine in x64 systems. If your driver runs in x86 systems, then you must save and restore the state yourself.

i found out to use libcntpr we need also define /D "USE_LIBCNTPR=1" so its use that library then we do for example
#ifdef USE_LIBCNTPR

#include <xmmintrin.h>
#include <wdm.h>

void performFloatingPointOperations() {
__m128 a = _mm_set_ps(1.0f, 2.0f, 3.0f, 4.0f);
__m128 b = _mm_set_ps(4.0f, 3.0f, 2.0f, 1.0f);
__m128 c = _mm_add_ps(a, b);

float results[4];
_mm_store_ps(results, c);
for (int i = 0; i < 4; i++) {
    DbgPrint("Result[%d] = %f\n", i, results[i]);
}

}
#endif