// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. /*****************************************************************************/ #ifndef PAIRBEG #define PAIRBEG(reg) #endif #ifndef PAIRDEF #define PAIRDEF(r1, r2) #endif #ifndef PAIRSTK #define PAIRSTK(r1, r2) PAIRDEF(r1, r2) #endif #if defined(_TARGET_X86_) /*****************************************************************************/ /* The following is for x86 */ /*****************************************************************************/ // rlo rhi PAIRBEG(EAX) PAIRDEF(EAX, ECX) PAIRDEF(EAX, EDX) PAIRDEF(EAX, EBX) PAIRDEF(EAX, EBP) PAIRDEF(EAX, ESI) PAIRDEF(EAX, EDI) PAIRSTK(EAX, STK) PAIRBEG(ECX) PAIRDEF(ECX, EAX) PAIRDEF(ECX, EDX) PAIRDEF(ECX, EBX) PAIRDEF(ECX, EBP) PAIRDEF(ECX, ESI) PAIRDEF(ECX, EDI) PAIRSTK(ECX, STK) PAIRBEG(EDX) PAIRDEF(EDX, EAX) PAIRDEF(EDX, ECX) PAIRDEF(EDX, EBX) PAIRDEF(EDX, EBP) PAIRDEF(EDX, ESI) PAIRDEF(EDX, EDI) PAIRSTK(EDX, STK) PAIRBEG(EBX) PAIRDEF(EBX, EAX) PAIRDEF(EBX, EDX) PAIRDEF(EBX, ECX) PAIRDEF(EBX, EBP) PAIRDEF(EBX, ESI) PAIRDEF(EBX, EDI) PAIRSTK(EBX, STK) PAIRBEG(EBP) PAIRDEF(EBP, EAX) PAIRDEF(EBP, EDX) PAIRDEF(EBP, ECX) PAIRDEF(EBP, EBX) PAIRDEF(EBP, ESI) PAIRDEF(EBP, EDI) PAIRSTK(EBP, STK) PAIRBEG(ESI) PAIRDEF(ESI, EAX) PAIRDEF(ESI, EDX) PAIRDEF(ESI, ECX) PAIRDEF(ESI, EBX) PAIRDEF(ESI, EBP) PAIRDEF(ESI, EDI) PAIRSTK(ESI, STK) PAIRBEG(EDI) PAIRDEF(EDI, EAX) PAIRDEF(EDI, EDX) PAIRDEF(EDI, ECX) PAIRDEF(EDI, EBX) PAIRDEF(EDI, EBP) PAIRDEF(EDI, ESI) PAIRSTK(EDI, STK) PAIRBEG(STK) PAIRSTK(STK, EAX) PAIRSTK(STK, EDX) PAIRSTK(STK, ECX) PAIRSTK(STK, EBX) PAIRSTK(STK, EBP) PAIRSTK(STK, ESI) PAIRSTK(STK, EDI) #endif /*****************************************************************************/ #ifdef _TARGET_ARM_ /*****************************************************************************/ /* The following is for ARM */ /*****************************************************************************/ // rlo rhi PAIRBEG(R0) PAIRDEF(R0, R1) PAIRDEF(R0, R2) PAIRDEF(R0, R3) PAIRDEF(R0, R4) PAIRDEF(R0, R5) PAIRDEF(R0, R6) PAIRDEF(R0, R7) PAIRDEF(R0, R8) PAIRDEF(R0, R9) PAIRDEF(R0, R10) PAIRDEF(R0, R11) PAIRDEF(R0, R12) PAIRDEF(R0, LR) PAIRSTK(R0, STK) PAIRBEG(R1) PAIRDEF(R1, R0) PAIRDEF(R1, R2) PAIRDEF(R1, R3) PAIRDEF(R1, R4) PAIRDEF(R1, R5) PAIRDEF(R1, R6) PAIRDEF(R1, R7) PAIRDEF(R1, R8) PAIRDEF(R1, R9) PAIRDEF(R1, R10) PAIRDEF(R1, R11) PAIRDEF(R1, R12) PAIRDEF(R1, LR) PAIRSTK(R1, STK) PAIRBEG(R2) PAIRDEF(R2, R0) PAIRDEF(R2, R1) PAIRDEF(R2, R3) PAIRDEF(R2, R4) PAIRDEF(R2, R5) PAIRDEF(R2, R6) PAIRDEF(R2, R7) PAIRDEF(R2, R8) PAIRDEF(R2, R9) PAIRDEF(R2, R10) PAIRDEF(R2, R11) PAIRDEF(R2, R12) PAIRDEF(R2, LR) PAIRSTK(R2, STK) PAIRBEG(R3) PAIRDEF(R3, R0) PAIRDEF(R3, R1) PAIRDEF(R3, R2) PAIRDEF(R3, R4) PAIRDEF(R3, R5) PAIRDEF(R3, R6) PAIRDEF(R3, R7) PAIRDEF(R3, R8) PAIRDEF(R3, R9) PAIRDEF(R3, R10) PAIRDEF(R3, R11) PAIRDEF(R3, R12) PAIRDEF(R3, LR) PAIRSTK(R3, STK) PAIRBEG(R4) PAIRDEF(R4, R0) PAIRDEF(R4, R1) PAIRDEF(R4, R2) PAIRDEF(R4, R3) PAIRDEF(R4, R5) PAIRDEF(R4, R6) PAIRDEF(R4, R7) PAIRDEF(R4, R8) PAIRDEF(R4, R9) PAIRDEF(R4, R10) PAIRDEF(R4, R11) PAIRDEF(R4, R12) PAIRDEF(R4, LR) PAIRSTK(R4, STK) PAIRBEG(R5) PAIRDEF(R5, R0) PAIRDEF(R5, R1) PAIRDEF(R5, R2) PAIRDEF(R5, R3) PAIRDEF(R5, R4) PAIRDEF(R5, R6) PAIRDEF(R5, R7) PAIRDEF(R5, R8) PAIRDEF(R5, R9) PAIRDEF(R5, R10) PAIRDEF(R5, R11) PAIRDEF(R5, R12) PAIRDEF(R5, LR) PAIRSTK(R5, STK) PAIRBEG(R6) PAIRDEF(R6, R0) PAIRDEF(R6, R1) PAIRDEF(R6, R2) PAIRDEF(R6, R3) PAIRDEF(R6, R4) PAIRDEF(R6, R5) PAIRDEF(R6, R7) PAIRDEF(R6, R8) PAIRDEF(R6, R9) PAIRDEF(R6, R10) PAIRDEF(R6, R11) PAIRDEF(R6, R12) PAIRDEF(R6, LR) PAIRSTK(R6, STK) PAIRBEG(R7) PAIRDEF(R7, R0) PAIRDEF(R7, R1) PAIRDEF(R7, R2) PAIRDEF(R7, R3) PAIRDEF(R7, R4) PAIRDEF(R7, R5) PAIRDEF(R7, R6) PAIRDEF(R7, R8) PAIRDEF(R7, R9) PAIRDEF(R7, R10) PAIRDEF(R7, R11) PAIRDEF(R7, R12) PAIRDEF(R7, LR) PAIRSTK(R7, STK) PAIRBEG(R8) PAIRDEF(R8, R0) PAIRDEF(R8, R1) PAIRDEF(R8, R2) PAIRDEF(R8, R3) PAIRDEF(R8, R4) PAIRDEF(R8, R5) PAIRDEF(R8, R6) PAIRDEF(R8, R7) PAIRDEF(R8, R9) PAIRDEF(R8, R10) PAIRDEF(R8, R11) PAIRDEF(R8, R12) PAIRDEF(R8, LR) PAIRSTK(R8, STK) PAIRBEG(R9) PAIRDEF(R9, R0) PAIRDEF(R9, R1) PAIRDEF(R9, R2) PAIRDEF(R9, R3) PAIRDEF(R9, R4) PAIRDEF(R9, R5) PAIRDEF(R9, R6) PAIRDEF(R9, R7) PAIRDEF(R9, R8) PAIRDEF(R9, R10) PAIRDEF(R9, R11) PAIRDEF(R9, R12) PAIRDEF(R9, LR) PAIRSTK(R9, STK) PAIRBEG(R10) PAIRDEF(R10, R0) PAIRDEF(R10, R1) PAIRDEF(R10, R2) PAIRDEF(R10, R3) PAIRDEF(R10, R4) PAIRDEF(R10, R5) PAIRDEF(R10, R6) PAIRDEF(R10, R7) PAIRDEF(R10, R8) PAIRDEF(R10, R9) PAIRDEF(R10, R11) PAIRDEF(R10, R12) PAIRDEF(R10, LR) PAIRSTK(R10, STK) PAIRBEG(R11) PAIRDEF(R11, R0) PAIRDEF(R11, R1) PAIRDEF(R11, R2) PAIRDEF(R11, R3) PAIRDEF(R11, R4) PAIRDEF(R11, R5) PAIRDEF(R11, R6) PAIRDEF(R11, R7) PAIRDEF(R11, R8) PAIRDEF(R11, R9) PAIRDEF(R11, R10) PAIRDEF(R11, R12) PAIRDEF(R11, LR) PAIRSTK(R11, STK) PAIRBEG(R12) PAIRDEF(R12, R0) PAIRDEF(R12, R1) PAIRDEF(R12, R2) PAIRDEF(R12, R3) PAIRDEF(R12, R4) PAIRDEF(R12, R5) PAIRDEF(R12, R6) PAIRDEF(R12, R7) PAIRDEF(R12, R8) PAIRDEF(R12, R9) PAIRDEF(R12, R10) PAIRDEF(R12, R11) PAIRDEF(R12, LR) PAIRSTK(R12, STK) PAIRBEG(LR) PAIRDEF(LR, R0) PAIRDEF(LR, R1) PAIRDEF(LR, R2) PAIRDEF(LR, R3) PAIRDEF(LR, R4) PAIRDEF(LR, R5) PAIRDEF(LR, R6) PAIRDEF(LR, R7) PAIRDEF(LR, R8) PAIRDEF(LR, R9) PAIRDEF(LR, R10) PAIRDEF(LR, R11) PAIRDEF(LR, R12) PAIRSTK(LR, STK) PAIRBEG(STK) PAIRSTK(STK, R0) PAIRSTK(STK, R1) PAIRSTK(STK, R2) PAIRSTK(STK, R3) PAIRSTK(STK, R4) PAIRSTK(STK, R5) PAIRSTK(STK, R6) PAIRSTK(STK, R7) PAIRSTK(STK, R8) PAIRSTK(STK, R9) PAIRSTK(STK, R10) PAIRSTK(STK, R11) PAIRSTK(STK, R12) PAIRSTK(STK, LR) #endif /*****************************************************************************/ #undef PAIRBEG #undef PAIRDEF #undef PAIRSTK /*****************************************************************************/