MxCsr
Stan rejestru obejmuje również MxCsr.Konwencja wywoływania dzieli ten rejestr na części lotnych i nieulotna część.Części lotne składa się z 6 status flagi, MXCSR [0: 5], podczas gdy pozostałą część rejestru, MXCSR [6: 15], uznaje się za nieulotnej.
Część nieulotna jest równa wartości standardowych w chwili rozpoczęcia wykonywania programu:
MXCSR[6] : Denormals are zeros - 0
MXCSR[7:12] : Exception masks all 1's (all exceptions masked)
MXCSR[13:14] : Rounding control - 0 (round to nearest)
MXCSR[15] : Flush to zero for masked underflow - 0 (off)
Wywoływany, modyfikująca nieulotna pól w MXCSR, należy przywrócić je przed powrotem do miejsca wywołania.Ponadto obiektu wywołującego, który zmodyfikował tych pól należy przywrócić je do ich wartości standardowych zanim wywoływanie wywoływany, chyba że za porozumieniem wywoływany oczekuje, że zmodyfikowane wartości.
Istnieją dwa wyjątki od zasad dotyczących innych niż zmienności flag kontroli:
W funkcjach, gdzie udokumentowane celem dana funkcja jest zmodyfikowanie nieulotna MxCsr flagi.
Kiedy jest zgodność poprawnego, że złamanie zasad powoduje programy, które zachowuje się/oznacza taki sam, jak program, gdzie reguły te nie były naruszane, na przykład, poprzez analizę całego programu.
Nie można wykonać o stanie lotnych część MXCSR na granicy funkcji, o ile nie zostały opisane w dokumentacji funkcji.