X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/ca6a6ec74c7db2849068f819951dd8b3375582f0..HEAD:/base/dispatch-x86ish.S diff --git a/base/dispatch-x86ish.S b/base/dispatch-x86ish.S index 3a14c396..67ec05e6 100644 --- a/base/dispatch-x86ish.S +++ b/base/dispatch-x86ish.S @@ -44,25 +44,25 @@ FUNC(dispatch_x86ish_cpuid) // return zero if we can; otherwise fill with zero and return -1. #if CPUFAM_X86 +# define OUT edi pushreg ebx pushreg edi - mov edi, [SP + 12] + mov OUT, [SP + 12] mov eax, [SP + 16] mov ecx, [SP + 20] -# define OUT edi #endif #if CPUFAM_AMD64 && ABI_SYSV +# define OUT rdi pushreg rbx mov eax, esi mov ecx, edx -# define OUT rdi #endif #if CPUFAM_AMD64 && ABI_WIN +# define OUT r9 pushreg rbx - mov r9, rcx + mov OUT, rcx mov eax, edx mov ecx, r8d -# define OUT r9 #endif endprologue @@ -120,6 +120,8 @@ FUNC(dispatch_x86ish_cpuid) mov eax, -1 jmp 9b #endif + +#undef OUT ENDFUNC ///-------------------------------------------------------------------------- @@ -170,7 +172,7 @@ FUNC(dispatch_x86ish_xgetbv) #if CPUFAM_X86 # define Z_OUT edi pushreg edi - mov edi, [esp + 8] + mov Z_OUT, [esp + 8] mov ecx, [esp + 12] #endif #if CPUFAM_AMD64 && ABI_SYSV