Ticket #857 (closed defect: fixed)
ARM fp register tracking
|Reported by:||gb||Owned by:|
The ARM fp unit generally offers at least 32 single-float registers (s0-s31) and at least 16 double-float registers (d0-d15); modern VFP implementations offer more than 16 doubles.
s0 and s1 occupy the same 64 bits in a 128-bit vector register as does d0, s2 and s3 conflict with d1, etc.
The compiler thinks that (for instance) s1 and d0 are disjoint and thus (at least in theory) might try to keep distinct live values in conflicting FPRs.