From a275d15da2642a4bd65835b0cf6c7d597c284725 Mon Sep 17 00:00:00 2001 From: nickysn Date: Wed, 23 May 2018 15:12:58 +0000 Subject: [PATCH] + added an i8086-specific column in x86reg.dat for the dwarf register numbers and filled it with the dwarf register mapping, used by Open Watcom (Watcom also uses this mapping on i386, but we don't need to support their debugger on i386 for now) git-svn-id: trunk@39097 - --- compiler/i8086/r8086dwrf.inc | 94 +++++------ compiler/utils/mkx86reg.pp | 6 +- compiler/x86/x86reg.dat | 306 +++++++++++++++++------------------ 3 files changed, 205 insertions(+), 201 deletions(-) diff --git a/compiler/i8086/r8086dwrf.inc b/compiler/i8086/r8086dwrf.inc index 1eb67c19fe..95d7c93afd 100644 --- a/compiler/i8086/r8086dwrf.inc +++ b/compiler/i8086/r8086dwrf.inc @@ -1,37 +1,37 @@ { don't edit, this file is generated from x86reg.dat } -1, +19, +20, +27, 0, -0, -0, -0, -1, -1, -1, +23, +24, +29, 1, +25, +26, +30, 2, -2, -2, -2, -3, -3, -3, +21, +22, +28, 3, +31, 6, -6, -7, +32, 7, +33, 5, -5, -4, +34, 4, +38, +35, +36, +37, +39, +40, -1, --1, --1, --1, --1, --1, --1, --1, +9, -1, -1, -1, @@ -65,27 +65,27 @@ 17, 18, 11, -29, -30, -31, -32, -33, -34, -35, -36, -21, -22, -23, -24, -25, -26, -27, -28, -21, -22, -23, -24, -25, -26, -27, -28 +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1, +-1 diff --git a/compiler/utils/mkx86reg.pp b/compiler/utils/mkx86reg.pp index 29fa8ff2f4..ce08afa3af 100644 --- a/compiler/utils/mkx86reg.pp +++ b/compiler/utils/mkx86reg.pp @@ -24,7 +24,7 @@ var s : string; line : longint; regcount:byte; regcount_bsstart:byte; - names,numbers,stdnames,intnames,nasmnames,attnames,stabs,dwarf32,dwarf64,ots,ops: + names,numbers,stdnames,intnames,nasmnames,attnames,stabs,dwarf16,dwarf32,dwarf64,ots,ops: array[0..max_regcount-1] of string[63]; regnumber_index,std_regname_index,int_regname_index,att_regname_index, nasm_regname_index:array[0..max_regcount-1] of byte; @@ -273,6 +273,8 @@ begin readcomma; stabs[regcount]:=readstr; readcomma; + dwarf16[regcount]:=readstr; + readcomma; dwarf32[regcount]:=readstr; readcomma; dwarf64[regcount]:=readstr; @@ -367,6 +369,8 @@ begin write(stabfile,stabs[i]); if x86_64 then write(dwrffile,dwarf64[i]) + else if i8086 then + write(dwrffile,dwarf16[i]) else write(dwrffile,dwarf32[i]); write(otfile,ots[i]); diff --git a/compiler/x86/x86reg.dat b/compiler/x86/x86reg.dat index 609a4828bb..c044c239d6 100644 --- a/compiler/x86/x86reg.dat +++ b/compiler/x86/x86reg.dat @@ -2,7 +2,7 @@ ; x86 registers ; ; layout -; ,,,,,,,,,,,[AMD64 specific] +; ,,,,,,,,,,,,[AMD64 specific] ; ; For stab/dwarf numbers see gdb/i386-tdep.c and gdb/amd64-tdep.c ; @@ -14,165 +14,165 @@ ; one is [eax ecx edx ebx esp ebp esi edi], ; this is due to asm optimizer coding style -NR_NO,$00000000,INVALID,INVALID,INVALID,INVALID,-1,-1,-1,OT_NONE,0 -NR_AL,$01010000,al,%al,al,al,0,0,0,OT_REG_AL,0 -NR_AH,$01020000,ah,%ah,ah,ah,0,0,0,OT_REG8,4 -NR_AX,$01030000,ax,%ax,ax,ax,0,0,0,OT_REG_AX,0 -NR_EAX,$01040000,eax,%eax,eax,eax,0,0,0,OT_REG_EAX,0 -NR_RAX,$01050000,rax,%rax,rax,rax,0,0,0,OT_REG_RAX,0,64 -NR_CL,$01010001,cl,%cl,cl,cl,1,1,2,OT_REG_CL,1 -NR_CH,$01020001,ch,%ch,ch,ch,1,1,2,OT_REG8,5 -NR_CX,$01030001,cx,%cx,cx,cx,1,1,2,OT_REG_CX,1 -NR_ECX,$01040001,ecx,%ecx,ecx,ecx,1,1,2,OT_REG_ECX,1 -NR_RCX,$01050001,rcx,%rcx,rcx,rcx,1,1,2,OT_REG_RCX,1,64 -NR_DL,$01010002,dl,%dl,dl,dl,2,2,1,OT_REG8,2 -NR_DH,$01020002,dh,%dh,dh,dh,2,2,1,OT_REG8,6 -NR_DX,$01030002,dx,%dx,dx,dx,2,2,1,OT_REG_DX,2 -NR_EDX,$01040002,edx,%edx,edx,edx,2,2,1,OT_REG32,2 -NR_RDX,$01050002,rdx,%rdx,rdx,rdx,2,2,1,OT_REG64,2,64 -NR_BL,$01010003,bl,%bl,bl,bl,3,3,3,OT_REG8,3 -NR_BH,$01020003,bh,%bh,bh,bh,3,3,3,OT_REG8,7 -NR_BX,$01030003,bx,%bx,bx,bx,3,3,3,OT_REG16,3 -NR_EBX,$01040003,ebx,%ebx,ebx,ebx,3,3,3,OT_REG32,3 -NR_RBX,$01050003,rbx,%rbx,rbx,rbx,3,3,3,OT_REG64,3,64 -NR_SIL,$01010004,sil,%sil,sil,sil,6,6,4,OT_REG8,6,64 -NR_SI,$01030004,si,%si,si,si,6,6,4,OT_REG16,6 -NR_ESI,$01040004,esi,%esi,esi,esi,6,6,4,OT_REG32,6 -NR_RSI,$01050004,rsi,%rsi,rsi,rsi,6,6,4,OT_REG64,6,64 -NR_DIL,$01010005,dil,%dil,dil,dil,7,7,5,OT_REG8,7,64 -NR_DI,$01030005,di,%di,di,di,7,7,5,OT_REG16,7 -NR_EDI,$01040005,edi,%edi,edi,edi,7,7,5,OT_REG32,7 -NR_RDI,$01050005,rdi,%rdi,rdi,rdi,7,7,5,OT_REG64,7,64 -NR_BPL,$01010006,bpl,%bpl,bpl,bpl,5,5,6,OT_REG8,5,64 -NR_BP,$01030006,bp,%bp,bp,bp,5,5,6,OT_REG16,5 -NR_EBP,$01040006,ebp,%ebp,ebp,ebp,5,5,6,OT_REG32,5 -NR_RBP,$01050006,rbp,%rbp,rbp,rbp,5,5,6,OT_REG64,5,64 -NR_SPL,$01010007,spl,%spl,spl,spl,4,4,7,OT_REG8,4,64 -NR_SP,$01030007,sp,%sp,sp,sp,4,4,7,OT_REG16,4 -NR_ESP,$01040007,esp,%esp,esp,esp,4,4,7,OT_REG32,4 -NR_RSP,$01050007,rsp,%rsp,rsp,rsp,4,4,7,OT_REG64,4,64 -NR_R8,$01050008,r8,%r8,r8,r8,-1,-1,8,OT_REG64,0,64 -NR_R8L,$01010008,r8b,%r8b,r8b,r8b,-1,-1,8,OT_REG8,0,64 -NR_R8W,$01030008,r8w,%r8w,r8w,r8w,-1,-1,8,OT_REG16,0,64 -NR_R8D,$01040008,r8d,%r8d,r8d,r8d,-1,-1,8,OT_REG32,0,64 -NR_R9,$01050009,r9,%r9,r9,r9,-1,-1,9,OT_REG64,1,64 -NR_R9L,$01010009,r9b,%r9b,r9b,r9b,-1,-1,9,OT_REG8,1,64 -NR_R9W,$01030009,r9w,%r9w,r9w,r9w,-1,-1,9,OT_REG16,1,64 -NR_R9D,$01040009,r9d,%r9d,r9d,r9d,-1,-1,9,OT_REG32,1,64 -NR_R10,$0105000a,r10,%r10,r10,r10,-1,-1,10,OT_REG64,2,64 -NR_R10L,$0101000a,r10b,%r10b,r10b,r10b,-1,-1,10,OT_REG8,2,64 -NR_R10W,$0103000a,r10w,%r10w,r10w,r10w,-1,-1,10,OT_REG16,2,64 -NR_R10D,$0104000a,r10d,%r10d,r10d,r10d,-1,-1,10,OT_REG32,2,64 -NR_R11,$0105000b,r11,%r11,r11,r11,-1,-1,11,OT_REG64,3,64 -NR_R11L,$0101000b,r11b,%r11b,r11b,r11b,-1,-1,11,OT_REG8,3,64 -NR_R11W,$0103000b,r11w,%r11w,r11w,r11w,-1,-1,11,OT_REG16,3,64 -NR_R11D,$0104000b,r11d,%r11d,r11d,r11d,-1,-1,11,OT_REG32,3,64 -NR_R12,$0105000c,r12,%r12,r12,r12,-1,-1,12,OT_REG64,4,64 -NR_R12L,$0101000c,r12b,%r12b,r12b,r12b,-1,-1,12,OT_REG8,4,64 -NR_R12W,$0103000c,r12w,%r12w,r12w,r12w,-1,-1,12,OT_REG16,4,64 -NR_R12D,$0104000c,r12d,%r12d,r12d,r12d,-1,-1,12,OT_REG32,4,64 -NR_R13,$0105000d,r13,%r13,r13,r13,-1,-1,13,OT_REG64,5,64 -NR_R13L,$0101000d,r13b,%r13b,r13b,r13b,-1,-1,13,OT_REG8,5,64 -NR_R13W,$0103000d,r13w,%r13w,r13w,r13w,-1,-1,13,OT_REG16,5,64 -NR_R13D,$0104000d,r13d,%r13d,r13d,r13d,-1,-1,13,OT_REG32,5,64 -NR_R14,$0105000e,r14,%r14,r14,r14,-1,-1,14,OT_REG64,6,64 -NR_R14L,$0101000e,r14b,%r14b,r14b,r14b,-1,-1,14,OT_REG8,6,64 -NR_R14W,$0103000e,r14w,%r14w,r14w,r14w,-1,-1,14,OT_REG16,6,64 -NR_R14D,$0104000e,r14d,%r14d,r14d,r14d,-1,-1,14,OT_REG32,6,64 -NR_R15,$0105000f,r15,%r15,r15,r15,-1,-1,15,OT_REG64,7,64 -NR_R15L,$0101000f,r15b,%r15b,r15b,r15b,-1,-1,15,OT_REG8,7,64 -NR_R15W,$0103000f,r15w,%r15w,r15w,r15w,-1,-1,15,OT_REG16,7,64 -NR_R15D,$0104000f,r15d,%r15d,r15d,r15d,-1,-1,15,OT_REG32,7,64 +NR_NO,$00000000,INVALID,INVALID,INVALID,INVALID,-1,-1,-1,-1,OT_NONE,0 +NR_AL,$01010000,al,%al,al,al,0,19,0,0,OT_REG_AL,0 +NR_AH,$01020000,ah,%ah,ah,ah,0,20,0,0,OT_REG8,4 +NR_AX,$01030000,ax,%ax,ax,ax,0,27,0,0,OT_REG_AX,0 +NR_EAX,$01040000,eax,%eax,eax,eax,0,0,0,0,OT_REG_EAX,0 +NR_RAX,$01050000,rax,%rax,rax,rax,0,0,0,0,OT_REG_RAX,0,64 +NR_CL,$01010001,cl,%cl,cl,cl,1,23,1,2,OT_REG_CL,1 +NR_CH,$01020001,ch,%ch,ch,ch,1,24,1,2,OT_REG8,5 +NR_CX,$01030001,cx,%cx,cx,cx,1,29,1,2,OT_REG_CX,1 +NR_ECX,$01040001,ecx,%ecx,ecx,ecx,1,1,1,2,OT_REG_ECX,1 +NR_RCX,$01050001,rcx,%rcx,rcx,rcx,1,1,1,2,OT_REG_RCX,1,64 +NR_DL,$01010002,dl,%dl,dl,dl,2,25,2,1,OT_REG8,2 +NR_DH,$01020002,dh,%dh,dh,dh,2,26,2,1,OT_REG8,6 +NR_DX,$01030002,dx,%dx,dx,dx,2,30,2,1,OT_REG_DX,2 +NR_EDX,$01040002,edx,%edx,edx,edx,2,2,2,1,OT_REG32,2 +NR_RDX,$01050002,rdx,%rdx,rdx,rdx,2,2,2,1,OT_REG64,2,64 +NR_BL,$01010003,bl,%bl,bl,bl,3,21,3,3,OT_REG8,3 +NR_BH,$01020003,bh,%bh,bh,bh,3,22,3,3,OT_REG8,7 +NR_BX,$01030003,bx,%bx,bx,bx,3,28,3,3,OT_REG16,3 +NR_EBX,$01040003,ebx,%ebx,ebx,ebx,3,3,3,3,OT_REG32,3 +NR_RBX,$01050003,rbx,%rbx,rbx,rbx,3,3,3,3,OT_REG64,3,64 +NR_SIL,$01010004,sil,%sil,sil,sil,6,6,6,4,OT_REG8,6,64 +NR_SI,$01030004,si,%si,si,si,6,31,6,4,OT_REG16,6 +NR_ESI,$01040004,esi,%esi,esi,esi,6,6,6,4,OT_REG32,6 +NR_RSI,$01050004,rsi,%rsi,rsi,rsi,6,6,6,4,OT_REG64,6,64 +NR_DIL,$01010005,dil,%dil,dil,dil,7,7,7,5,OT_REG8,7,64 +NR_DI,$01030005,di,%di,di,di,7,32,7,5,OT_REG16,7 +NR_EDI,$01040005,edi,%edi,edi,edi,7,7,7,5,OT_REG32,7 +NR_RDI,$01050005,rdi,%rdi,rdi,rdi,7,7,7,5,OT_REG64,7,64 +NR_BPL,$01010006,bpl,%bpl,bpl,bpl,5,5,5,6,OT_REG8,5,64 +NR_BP,$01030006,bp,%bp,bp,bp,5,33,5,6,OT_REG16,5 +NR_EBP,$01040006,ebp,%ebp,ebp,ebp,5,5,5,6,OT_REG32,5 +NR_RBP,$01050006,rbp,%rbp,rbp,rbp,5,5,5,6,OT_REG64,5,64 +NR_SPL,$01010007,spl,%spl,spl,spl,4,4,4,7,OT_REG8,4,64 +NR_SP,$01030007,sp,%sp,sp,sp,4,34,4,7,OT_REG16,4 +NR_ESP,$01040007,esp,%esp,esp,esp,4,4,4,7,OT_REG32,4 +NR_RSP,$01050007,rsp,%rsp,rsp,rsp,4,4,4,7,OT_REG64,4,64 +NR_R8,$01050008,r8,%r8,r8,r8,-1,-1,-1,8,OT_REG64,0,64 +NR_R8L,$01010008,r8b,%r8b,r8b,r8b,-1,-1,-1,8,OT_REG8,0,64 +NR_R8W,$01030008,r8w,%r8w,r8w,r8w,-1,-1,-1,8,OT_REG16,0,64 +NR_R8D,$01040008,r8d,%r8d,r8d,r8d,-1,-1,-1,8,OT_REG32,0,64 +NR_R9,$01050009,r9,%r9,r9,r9,-1,-1,-1,9,OT_REG64,1,64 +NR_R9L,$01010009,r9b,%r9b,r9b,r9b,-1,-1,-1,9,OT_REG8,1,64 +NR_R9W,$01030009,r9w,%r9w,r9w,r9w,-1,-1,-1,9,OT_REG16,1,64 +NR_R9D,$01040009,r9d,%r9d,r9d,r9d,-1,-1,-1,9,OT_REG32,1,64 +NR_R10,$0105000a,r10,%r10,r10,r10,-1,-1,-1,10,OT_REG64,2,64 +NR_R10L,$0101000a,r10b,%r10b,r10b,r10b,-1,-1,-1,10,OT_REG8,2,64 +NR_R10W,$0103000a,r10w,%r10w,r10w,r10w,-1,-1,-1,10,OT_REG16,2,64 +NR_R10D,$0104000a,r10d,%r10d,r10d,r10d,-1,-1,-1,10,OT_REG32,2,64 +NR_R11,$0105000b,r11,%r11,r11,r11,-1,-1,-1,11,OT_REG64,3,64 +NR_R11L,$0101000b,r11b,%r11b,r11b,r11b,-1,-1,-1,11,OT_REG8,3,64 +NR_R11W,$0103000b,r11w,%r11w,r11w,r11w,-1,-1,-1,11,OT_REG16,3,64 +NR_R11D,$0104000b,r11d,%r11d,r11d,r11d,-1,-1,-1,11,OT_REG32,3,64 +NR_R12,$0105000c,r12,%r12,r12,r12,-1,-1,-1,12,OT_REG64,4,64 +NR_R12L,$0101000c,r12b,%r12b,r12b,r12b,-1,-1,-1,12,OT_REG8,4,64 +NR_R12W,$0103000c,r12w,%r12w,r12w,r12w,-1,-1,-1,12,OT_REG16,4,64 +NR_R12D,$0104000c,r12d,%r12d,r12d,r12d,-1,-1,-1,12,OT_REG32,4,64 +NR_R13,$0105000d,r13,%r13,r13,r13,-1,-1,-1,13,OT_REG64,5,64 +NR_R13L,$0101000d,r13b,%r13b,r13b,r13b,-1,-1,-1,13,OT_REG8,5,64 +NR_R13W,$0103000d,r13w,%r13w,r13w,r13w,-1,-1,-1,13,OT_REG16,5,64 +NR_R13D,$0104000d,r13d,%r13d,r13d,r13d,-1,-1,-1,13,OT_REG32,5,64 +NR_R14,$0105000e,r14,%r14,r14,r14,-1,-1,-1,14,OT_REG64,6,64 +NR_R14L,$0101000e,r14b,%r14b,r14b,r14b,-1,-1,-1,14,OT_REG8,6,64 +NR_R14W,$0103000e,r14w,%r14w,r14w,r14w,-1,-1,-1,14,OT_REG16,6,64 +NR_R14D,$0104000e,r14d,%r14d,r14d,r14d,-1,-1,-1,14,OT_REG32,6,64 +NR_R15,$0105000f,r15,%r15,r15,r15,-1,-1,-1,15,OT_REG64,7,64 +NR_R15L,$0101000f,r15b,%r15b,r15b,r15b,-1,-1,-1,15,OT_REG8,7,64 +NR_R15W,$0103000f,r15w,%r15w,r15w,r15w,-1,-1,-1,15,OT_REG16,7,64 +NR_R15D,$0104000f,r15d,%r15d,r15d,r15d,-1,-1,-1,15,OT_REG32,7,64 -NR_ES,$05000000,es,%es,es,es,-1,-1,-1,OT_REG_DESS,0 -NR_CS,$05000001,cs,%cs,cs,cs,-1,-1,-1,OT_REG_CS,1 -NR_SS,$05000002,ss,%ss,ss,ss,-1,-1,-1,OT_REG_DESS,2 -NR_DS,$05000003,ds,%ds,ds,ds,-1,-1,-1,OT_REG_DESS,3 -NR_FS,$05000004,fs,%fs,fs,fs,-1,-1,-1,OT_REG_FSGS,4 -NR_GS,$05000005,gs,%gs,gs,gs,-1,-1,-1,OT_REG_FSGS,5 +NR_ES,$05000000,es,%es,es,es,-1,38,-1,-1,OT_REG_DESS,0 +NR_CS,$05000001,cs,%cs,cs,cs,-1,35,-1,-1,OT_REG_CS,1 +NR_SS,$05000002,ss,%ss,ss,ss,-1,36,-1,-1,OT_REG_DESS,2 +NR_DS,$05000003,ds,%ds,ds,ds,-1,37,-1,-1,OT_REG_DESS,3 +NR_FS,$05000004,fs,%fs,fs,fs,-1,39,-1,-1,OT_REG_FSGS,4 +NR_GS,$05000005,gs,%gs,gs,gs,-1,40,-1,-1,OT_REG_FSGS,5 -NR_FLAGS,$05030006,flags,%flags,flags,flags,-1,-1,-1,OT_NONE,0 -NR_EFLAGS,$05040006,eflags,%eflags,eflags,eflags,-1,-1,-1,OT_NONE,0 -NR_RFLAGS,$05050006,rflags,%rflags,rflags,rflags,-1,-1,-1,OT_NONE,0,64 -NR_CARRYFLAG,$050f0006,carryflag,%carryflag,carryflag,carryflag,-1,-1,-1,OT_NONE,0 -NR_PARITYFLAG,$05100006,parityflag,%parityflag,parityflag,parityflag,-1,-1,-1,OT_NONE,0 -NR_AUXILIARYFLAG,$05110006,auxiliaryflag,%auxiliaryflag,auxiliaryflag,auxiliaryflag,-1,-1,-1,OT_NONE,0 -NR_ZEROFLAG,$05120006,zeroflag,%zeroflag,zeroflag,zeroflag,-1,-1,-1,OT_NONE,0 -NR_SIGNFLAG,$05130006,signflag,%signflag,signflag,signflag,-1,-1,-1,OT_NONE,0 -NR_OVERFLOWFLAG,$05140006,overflowflag,%overflowflag,overflowflag,overflowflag,-1,-1,-1,OT_NONE,0 -NR_INTERRUPTFLAG,$05150006,interruptflag,%interruptflag,interruptflag,interruptflag,-1,-1,-1,OT_NONE,0 -NR_DIRECTIONFLAG,$05160006,directionflag,%directionflag,directionflag,directionflag,-1,-1,-1,OT_NONE,0 +NR_FLAGS,$05030006,flags,%flags,flags,flags,-1,-1,-1,-1,OT_NONE,0 +NR_EFLAGS,$05040006,eflags,%eflags,eflags,eflags,-1,9,-1,-1,OT_NONE,0 +NR_RFLAGS,$05050006,rflags,%rflags,rflags,rflags,-1,-1,-1,-1,OT_NONE,0,64 +NR_CARRYFLAG,$050f0006,carryflag,%carryflag,carryflag,carryflag,-1,-1,-1,-1,OT_NONE,0 +NR_PARITYFLAG,$05100006,parityflag,%parityflag,parityflag,parityflag,-1,-1,-1,-1,OT_NONE,0 +NR_AUXILIARYFLAG,$05110006,auxiliaryflag,%auxiliaryflag,auxiliaryflag,auxiliaryflag,-1,-1,-1,-1,OT_NONE,0 +NR_ZEROFLAG,$05120006,zeroflag,%zeroflag,zeroflag,zeroflag,-1,-1,-1,-1,OT_NONE,0 +NR_SIGNFLAG,$05130006,signflag,%signflag,signflag,signflag,-1,-1,-1,-1,OT_NONE,0 +NR_OVERFLOWFLAG,$05140006,overflowflag,%overflowflag,overflowflag,overflowflag,-1,-1,-1,-1,OT_NONE,0 +NR_INTERRUPTFLAG,$05150006,interruptflag,%interruptflag,interruptflag,interruptflag,-1,-1,-1,-1,OT_NONE,0 +NR_DIRECTIONFLAG,$05160006,directionflag,%directionflag,directionflag,directionflag,-1,-1,-1,-1,OT_NONE,0 ; EIP is needed for DWARF call frame info return address (RA) -NR_RIP,$05050007,rip,%rip,rip,rip,-1,8,16,OT_NONE,0,64 -NR_EIP,$05040007,eip,%eip,eip,eip,-1,8,16,OT_NONE,0 +NR_RIP,$05050007,rip,%rip,rip,rip,-1,-1,8,16,OT_NONE,0,64 +NR_EIP,$05040007,eip,%eip,eip,eip,-1,8,8,16,OT_NONE,0 -NR_DR0,$05000008,dr0,%dr0,dr0,dr0,-1,-1,-1,OT_REG_DREG,0 -NR_DR1,$05000009,dr1,%dr1,dr1,dr1,-1,-1,-1,OT_REG_DREG,1 -NR_DR2,$0500000a,dr2,%dr2,dr2,dr2,-1,-1,-1,OT_REG_DREG,2 -NR_DR3,$0500000b,dr3,%dr3,dr3,dr3,-1,-1,-1,OT_REG_DREG,3 -NR_DR6,$0500000e,dr6,%dr6,dr6,dr6,-1,-1,-1,OT_REG_DREG,6 -NR_DR7,$0500000f,dr7,%dr7,dr7,dr7,-1,-1,-1,OT_REG_DREG,7 -NR_CR0,$05000010,cr0,%cr0,cr0,cr0,-1,-1,-1,OT_REG_CREG,0 -NR_CR2,$05000012,cr2,%cr2,cr2,cr2,-1,-1,-1,OT_REG_CREG,2 -NR_CR3,$05000013,cr3,%cr3,cr3,cr3,-1,-1,-1,OT_REG_CREG,3 -NR_CR4,$05000014,cr4,%cr4,cr4,cr4,-1,-1,-1,OT_REG_CR4,4 -NR_TR3,$0500001b,tr3,%tr3,tr3,tr3,-1,-1,-1,OT_REG_TREG,3 -NR_TR4,$0500001c,tr4,%tr4,tr4,tr4,-1,-1,-1,OT_REG_TREG,4 -NR_TR5,$0500001d,tr5,%tr5,tr5,tr5,-1,-1,-1,OT_REG_TREG,5 -NR_TR6,$0500001e,tr6,%tr6,tr6,tr6,-1,-1,-1,OT_REG_TREG,6 -NR_TR7,$0500001f,tr7,%tr7,tr7,tr7,-1,-1,-1,OT_REG_TREG,7 +NR_DR0,$05000008,dr0,%dr0,dr0,dr0,-1,-1,-1,-1,OT_REG_DREG,0 +NR_DR1,$05000009,dr1,%dr1,dr1,dr1,-1,-1,-1,-1,OT_REG_DREG,1 +NR_DR2,$0500000a,dr2,%dr2,dr2,dr2,-1,-1,-1,-1,OT_REG_DREG,2 +NR_DR3,$0500000b,dr3,%dr3,dr3,dr3,-1,-1,-1,-1,OT_REG_DREG,3 +NR_DR6,$0500000e,dr6,%dr6,dr6,dr6,-1,-1,-1,-1,OT_REG_DREG,6 +NR_DR7,$0500000f,dr7,%dr7,dr7,dr7,-1,-1,-1,-1,OT_REG_DREG,7 +NR_CR0,$05000010,cr0,%cr0,cr0,cr0,-1,-1,-1,-1,OT_REG_CREG,0 +NR_CR2,$05000012,cr2,%cr2,cr2,cr2,-1,-1,-1,-1,OT_REG_CREG,2 +NR_CR3,$05000013,cr3,%cr3,cr3,cr3,-1,-1,-1,-1,OT_REG_CREG,3 +NR_CR4,$05000014,cr4,%cr4,cr4,cr4,-1,-1,-1,-1,OT_REG_CR4,4 +NR_TR3,$0500001b,tr3,%tr3,tr3,tr3,-1,-1,-1,-1,OT_REG_TREG,3 +NR_TR4,$0500001c,tr4,%tr4,tr4,tr4,-1,-1,-1,-1,OT_REG_TREG,4 +NR_TR5,$0500001d,tr5,%tr5,tr5,tr5,-1,-1,-1,-1,OT_REG_TREG,5 +NR_TR6,$0500001e,tr6,%tr6,tr6,tr6,-1,-1,-1,-1,OT_REG_TREG,6 +NR_TR7,$0500001f,tr7,%tr7,tr7,tr7,-1,-1,-1,-1,OT_REG_TREG,7 -NR_ST0,$02000000,st(0),%st(0),st(0),st0,12,11,33,OT_FPU0,0 -NR_ST1,$02000001,st(1),%st(1),st(1),st1,13,12,34,OT_FPUREG,1 -NR_ST2,$02000002,st(2),%st(2),st(2),st2,14,13,35,OT_FPUREG,2 -NR_ST3,$02000003,st(3),%st(3),st(3),st3,15,14,36,OT_FPUREG,3 -NR_ST4,$02000004,st(4),%st(4),st(4),st4,16,15,37,OT_FPUREG,4 -NR_ST5,$02000005,st(5),%st(5),st(5),st5,17,16,38,OT_FPUREG,5 -NR_ST6,$02000006,st(6),%st(6),st(6),st6,18,17,39,OT_FPUREG,6 -NR_ST7,$02000007,st(7),%st(7),st(7),st7,19,18,40,OT_FPUREG,7 +NR_ST0,$02000000,st(0),%st(0),st(0),st0,12,11,11,33,OT_FPU0,0 +NR_ST1,$02000001,st(1),%st(1),st(1),st1,13,12,12,34,OT_FPUREG,1 +NR_ST2,$02000002,st(2),%st(2),st(2),st2,14,13,13,35,OT_FPUREG,2 +NR_ST3,$02000003,st(3),%st(3),st(3),st3,15,14,14,36,OT_FPUREG,3 +NR_ST4,$02000004,st(4),%st(4),st(4),st4,16,15,15,37,OT_FPUREG,4 +NR_ST5,$02000005,st(5),%st(5),st(5),st5,17,16,16,38,OT_FPUREG,5 +NR_ST6,$02000006,st(6),%st(6),st(6),st6,18,17,17,39,OT_FPUREG,6 +NR_ST7,$02000007,st(7),%st(7),st(7),st7,19,18,18,40,OT_FPUREG,7 ; Special code to that will map to %st(0) -NR_ST,$02000008,st,%st,st,st0,12,11,33,OT_FPU0,0 +NR_ST,$02000008,st,%st,st,st0,12,11,11,33,OT_FPU0,0 -NR_MM0,$03000000,mm0,%mm0,mm0,mm0,29,29,41,OT_MMXREG,0 -NR_MM1,$03000001,mm1,%mm1,mm1,mm1,30,30,42,OT_MMXREG,1 -NR_MM2,$03000002,mm2,%mm2,mm2,mm2,31,31,43,OT_MMXREG,2 -NR_MM3,$03000003,mm3,%mm3,mm3,mm3,32,32,44,OT_MMXREG,3 -NR_MM4,$03000004,mm4,%mm4,mm4,mm4,33,33,45,OT_MMXREG,4 -NR_MM5,$03000005,mm5,%mm5,mm5,mm5,34,34,46,OT_MMXREG,5 -NR_MM6,$03000006,mm6,%mm6,mm6,mm6,35,35,47,OT_MMXREG,6 -NR_MM7,$03000007,mm7,%mm7,mm7,mm7,36,36,48,OT_MMXREG,7 +NR_MM0,$03000000,mm0,%mm0,mm0,mm0,29,-1,29,41,OT_MMXREG,0 +NR_MM1,$03000001,mm1,%mm1,mm1,mm1,30,-1,30,42,OT_MMXREG,1 +NR_MM2,$03000002,mm2,%mm2,mm2,mm2,31,-1,31,43,OT_MMXREG,2 +NR_MM3,$03000003,mm3,%mm3,mm3,mm3,32,-1,32,44,OT_MMXREG,3 +NR_MM4,$03000004,mm4,%mm4,mm4,mm4,33,-1,33,45,OT_MMXREG,4 +NR_MM5,$03000005,mm5,%mm5,mm5,mm5,34,-1,34,46,OT_MMXREG,5 +NR_MM6,$03000006,mm6,%mm6,mm6,mm6,35,-1,35,47,OT_MMXREG,6 +NR_MM7,$03000007,mm7,%mm7,mm7,mm7,36,-1,36,48,OT_MMXREG,7 -NR_XMM0,$040C0000,xmm0,%xmm0,xmm0,xmm0,21,21,17,OT_XMMREG,0 -NR_XMM1,$040C0001,xmm1,%xmm1,xmm1,xmm1,22,22,18,OT_XMMREG,1 -NR_XMM2,$040C0002,xmm2,%xmm2,xmm2,xmm2,23,23,19,OT_XMMREG,2 -NR_XMM3,$040C0003,xmm3,%xmm3,xmm3,xmm3,24,24,20,OT_XMMREG,3 -NR_XMM4,$040C0004,xmm4,%xmm4,xmm4,xmm4,25,25,21,OT_XMMREG,4 -NR_XMM5,$040C0005,xmm5,%xmm5,xmm5,xmm5,26,26,22,OT_XMMREG,5 -NR_XMM6,$040C0006,xmm6,%xmm6,xmm6,xmm6,27,27,23,OT_XMMREG,6 -NR_XMM7,$040C0007,xmm7,%xmm7,xmm7,xmm7,28,28,24,OT_XMMREG,7 -NR_XMM8,$040C0008,xmm8,%xmm8,xmm8,xmm8,-1,-1,25,OT_XMMREG,0,64 -NR_XMM9,$040C0009,xmm9,%xmm9,xmm9,xmm9,-1,-1,26,OT_XMMREG,1,64 -NR_XMM10,$040C000a,xmm10,%xmm10,xmm10,xmm10,-1,-1,27,OT_XMMREG,2,64 -NR_XMM11,$040C000b,xmm11,%xmm11,xmm11,xmm11,-1,-1,28,OT_XMMREG,3,64 -NR_XMM12,$040C000c,xmm12,%xmm12,xmm12,xmm12,-1,-1,29,OT_XMMREG,4,64 -NR_XMM13,$040C000d,xmm13,%xmm13,xmm13,xmm13,-1,-1,30,OT_XMMREG,5,64 -NR_XMM14,$040C000e,xmm14,%xmm14,xmm14,xmm14,-1,-1,31,OT_XMMREG,6,64 -NR_XMM15,$040C000f,xmm15,%xmm15,xmm15,xmm15,-1,-1,32,OT_XMMREG,7,64 +NR_XMM0,$040C0000,xmm0,%xmm0,xmm0,xmm0,21,-1,21,17,OT_XMMREG,0 +NR_XMM1,$040C0001,xmm1,%xmm1,xmm1,xmm1,22,-1,22,18,OT_XMMREG,1 +NR_XMM2,$040C0002,xmm2,%xmm2,xmm2,xmm2,23,-1,23,19,OT_XMMREG,2 +NR_XMM3,$040C0003,xmm3,%xmm3,xmm3,xmm3,24,-1,24,20,OT_XMMREG,3 +NR_XMM4,$040C0004,xmm4,%xmm4,xmm4,xmm4,25,-1,25,21,OT_XMMREG,4 +NR_XMM5,$040C0005,xmm5,%xmm5,xmm5,xmm5,26,-1,26,22,OT_XMMREG,5 +NR_XMM6,$040C0006,xmm6,%xmm6,xmm6,xmm6,27,-1,27,23,OT_XMMREG,6 +NR_XMM7,$040C0007,xmm7,%xmm7,xmm7,xmm7,28,-1,28,24,OT_XMMREG,7 +NR_XMM8,$040C0008,xmm8,%xmm8,xmm8,xmm8,-1,-1,-1,25,OT_XMMREG,0,64 +NR_XMM9,$040C0009,xmm9,%xmm9,xmm9,xmm9,-1,-1,-1,26,OT_XMMREG,1,64 +NR_XMM10,$040C000a,xmm10,%xmm10,xmm10,xmm10,-1,-1,-1,27,OT_XMMREG,2,64 +NR_XMM11,$040C000b,xmm11,%xmm11,xmm11,xmm11,-1,-1,-1,28,OT_XMMREG,3,64 +NR_XMM12,$040C000c,xmm12,%xmm12,xmm12,xmm12,-1,-1,-1,29,OT_XMMREG,4,64 +NR_XMM13,$040C000d,xmm13,%xmm13,xmm13,xmm13,-1,-1,-1,30,OT_XMMREG,5,64 +NR_XMM14,$040C000e,xmm14,%xmm14,xmm14,xmm14,-1,-1,-1,31,OT_XMMREG,6,64 +NR_XMM15,$040C000f,xmm15,%xmm15,xmm15,xmm15,-1,-1,-1,32,OT_XMMREG,7,64 -NR_YMM0,$040D0000,ymm0,%ymm0,ymm0,ymm0,21,21,17,OT_YMMREG,0 -NR_YMM1,$040D0001,ymm1,%ymm1,ymm1,ymm1,22,22,18,OT_YMMREG,1 -NR_YMM2,$040D0002,ymm2,%ymm2,ymm2,ymm2,23,23,19,OT_YMMREG,2 -NR_YMM3,$040D0003,ymm3,%ymm3,ymm3,ymm3,24,24,20,OT_YMMREG,3 -NR_YMM4,$040D0004,ymm4,%ymm4,ymm4,ymm4,25,25,21,OT_YMMREG,4 -NR_YMM5,$040D0005,ymm5,%ymm5,ymm5,ymm5,26,26,22,OT_YMMREG,5 -NR_YMM6,$040D0006,ymm6,%ymm6,ymm6,ymm6,27,27,23,OT_YMMREG,6 -NR_YMM7,$040D0007,ymm7,%ymm7,ymm7,ymm7,28,28,24,OT_YMMREG,7 -NR_YMM8,$040D0008,ymm8,%ymm8,ymm8,ymm8,-1,-1,25,OT_YMMREG,0,64 -NR_YMM9,$040D0009,ymm9,%ymm9,ymm9,ymm9,-1,-1,26,OT_YMMREG,1,64 -NR_YMM10,$040D000a,ymm10,%ymm10,ymm10,ymm10,-1,-1,27,OT_YMMREG,2,64 -NR_YMM11,$040D000b,ymm11,%ymm11,ymm11,ymm11,-1,-1,28,OT_YMMREG,3,64 -NR_YMM12,$040D000c,ymm12,%ymm12,ymm12,ymm12,-1,-1,29,OT_YMMREG,4,64 -NR_YMM13,$040D000d,ymm13,%ymm13,ymm13,ymm13,-1,-1,30,OT_YMMREG,5,64 -NR_YMM14,$040D000e,ymm14,%ymm14,ymm14,ymm14,-1,-1,31,OT_YMMREG,6,64 -NR_YMM15,$040D000f,ymm15,%ymm15,ymm15,ymm15,-1,-1,32,OT_YMMREG,7,64 +NR_YMM0,$040D0000,ymm0,%ymm0,ymm0,ymm0,21,-1,21,17,OT_YMMREG,0 +NR_YMM1,$040D0001,ymm1,%ymm1,ymm1,ymm1,22,-1,22,18,OT_YMMREG,1 +NR_YMM2,$040D0002,ymm2,%ymm2,ymm2,ymm2,23,-1,23,19,OT_YMMREG,2 +NR_YMM3,$040D0003,ymm3,%ymm3,ymm3,ymm3,24,-1,24,20,OT_YMMREG,3 +NR_YMM4,$040D0004,ymm4,%ymm4,ymm4,ymm4,25,-1,25,21,OT_YMMREG,4 +NR_YMM5,$040D0005,ymm5,%ymm5,ymm5,ymm5,26,-1,26,22,OT_YMMREG,5 +NR_YMM6,$040D0006,ymm6,%ymm6,ymm6,ymm6,27,-1,27,23,OT_YMMREG,6 +NR_YMM7,$040D0007,ymm7,%ymm7,ymm7,ymm7,28,-1,28,24,OT_YMMREG,7 +NR_YMM8,$040D0008,ymm8,%ymm8,ymm8,ymm8,-1,-1,-1,25,OT_YMMREG,0,64 +NR_YMM9,$040D0009,ymm9,%ymm9,ymm9,ymm9,-1,-1,-1,26,OT_YMMREG,1,64 +NR_YMM10,$040D000a,ymm10,%ymm10,ymm10,ymm10,-1,-1,-1,27,OT_YMMREG,2,64 +NR_YMM11,$040D000b,ymm11,%ymm11,ymm11,ymm11,-1,-1,-1,28,OT_YMMREG,3,64 +NR_YMM12,$040D000c,ymm12,%ymm12,ymm12,ymm12,-1,-1,-1,29,OT_YMMREG,4,64 +NR_YMM13,$040D000d,ymm13,%ymm13,ymm13,ymm13,-1,-1,-1,30,OT_YMMREG,5,64 +NR_YMM14,$040D000e,ymm14,%ymm14,ymm14,ymm14,-1,-1,-1,31,OT_YMMREG,6,64 +NR_YMM15,$040D000f,ymm15,%ymm15,ymm15,ymm15,-1,-1,-1,32,OT_YMMREG,7,64