Сохранение регистров x87 / MMX / XMM / YMM может занять довольно много времени и вызвать значительную перегрузку кэша.Как правило, сохранение и восстановление состояния FP выполняется ленивым образом: при переключении контекста ядро запоминает текущий поток как «владельца» состояния FP и устанавливает флаг TS в CR0 и - это вызовет ловушку дляядро всякий раз, когда поток пытается выполнить FP insn.Состояние FP старого потока и состояние FP текущего выполняющегося потока сохраняются и восстанавливаются, соответственно, в это время.
Теперь, если в течение длительных периодов времени (несколько или несколько переключений контекста) нет другогопоток, чем ваш, использует FP insns - ленивая политика не приведет к сохранению / восстановлению состояния FP, и вы не получите снижение производительности.
Поскольку мы, очевидно, говорим о многопроцессорной системе, потоках,Выполнение вашего алгоритма параллельно не будет конфликтовать друг с другом, потому что они должны выполняться на своих собственных CPU / core / HT и иметь собственный набор регистров.
tl; dr
Вы не должныне заботиться о сохранении и восстановлении регистров FP.