On Thu, Feb 06, 2020 at 01:00:36AM +0000, JonY wrote: > On 2/4/20 11:42 AM, Jakub Jelinek wrote: > > Hi! > > > > On Tue, Feb 04, 2020 at 11:16:06AM +0100, Uros Bizjak wrote: > >> I guess that Comment #9 patch form the PR should be trivially correct, > >> but althouhg it looks obvious, I don't want to propose the patch since > >> I have no means of testing it. > > > > I don't have means of testing it either. > > https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2019 > > is quite explicit that [xyz]mm16-31 are call clobbered and only xmm6-15 (low > > 128-bits only) are call preserved. > > > > Jonathan, could you please test this if it is sufficient to just change > > CALL_USED_REGISTERS or if e.g. something in the pro/epilogue needs tweaking > > too? Thanks. > > Is this patch testing still required? I just got back from traveling.
Yes, our reading of the MS ABI docs show that xmm16-31 are to be call used (not preserved over calls), while in gcc they are currently handled as preserved across the calls. Jakub