Re:ARM Launches DynamIQ: big.Little to Eight Cores Per Cluster
by gpderetta on Tuesday March 21, 2017 @06:17PM
(#13926796)
In practice any non trivial program will end up touching xmm registers as even plain memcpy ends up expanding to vectorized load/stores.
Apparently lazy FPU restore in Linux is deprecated and eager restore is the default [1]
[1] https://tthtlc.wordpress.com/2016/12/17/understanding-fpu-us...
You can set a flag causing an exception when an FPU instruction is used, and handle it by setting a flag saying you need to backup those registers.
You can also handle Undefined Operation exceptions by moving the thread to a core that can handle the specific instruction.