I am trying to determine the effect of FPSWAs on the execution time & performance of a code. I see a lot of FPSWA messages on the console. I tried to sample the FP_TRUE_SIRSTALL and FP_FALSE_SIRSTALL events. It shows a large number.
Is there a way to see the time spent in the routine fpswa_proc_stacked or EFI_fpswa, which are the routines that are called when a FPSWA fault occurs. These do not turn up in the hot spot analysis or modules list in vtl view.
I have heard that system time is the best measure of time taken by FPSWA. Evidently, that would be for a case where there is no other large consumer of system time. It would be confirmed if you can get repeatable measurements of system time when running both in -ftz and -ftz- modes.
You could lose a great deal of time to FALSE_SIRSTALL events, even when there aren't a significant number of FPSWA events (which would overshadow the TRUE_SIRSTALL time). 20%cycles lost to FALSE_SIRSTALL is not unusual in single precision code.