Browse Source

+ NR_DEFAULTFLAGS and RS_DEFAULTFLAGS for all CPUs with flags added

git-svn-id: trunk@22181 -
florian 13 years ago
parent
commit
4dee21c60e
47 changed files with 135 additions and 76 deletions
  1. 3 0
      compiler/avr/avrreg.dat
  2. 3 0
      compiler/avr/cpubase.pas
  3. 1 0
      compiler/avr/ravrcon.inc
  4. 2 1
      compiler/avr/ravrdwa.inc
  5. 1 1
      compiler/avr/ravrnor.inc
  6. 2 1
      compiler/avr/ravrnum.inc
  7. 2 1
      compiler/avr/ravrrni.inc
  8. 2 1
      compiler/avr/ravrsri.inc
  9. 2 1
      compiler/avr/ravrsta.inc
  10. 2 1
      compiler/avr/ravrstd.inc
  11. 1 0
      compiler/avr/ravrsup.inc
  12. 8 7
      compiler/i386/r386ari.inc
  13. 1 0
      compiler/i386/r386att.inc
  14. 1 0
      compiler/i386/r386con.inc
  15. 1 0
      compiler/i386/r386dwrf.inc
  16. 1 0
      compiler/i386/r386int.inc
  17. 9 8
      compiler/i386/r386iri.inc
  18. 1 0
      compiler/i386/r386nasm.inc
  19. 1 1
      compiler/i386/r386nor.inc
  20. 9 8
      compiler/i386/r386nri.inc
  21. 1 0
      compiler/i386/r386num.inc
  22. 1 0
      compiler/i386/r386op.inc
  23. 1 0
      compiler/i386/r386ot.inc
  24. 4 3
      compiler/i386/r386rni.inc
  25. 9 8
      compiler/i386/r386sri.inc
  26. 1 0
      compiler/i386/r386stab.inc
  27. 1 0
      compiler/i386/r386std.inc
  28. 3 0
      compiler/m68k/cpubase.pas
  29. 3 0
      compiler/powerpc/cpubase.pas
  30. 3 0
      compiler/powerpc64/cpubase.pas
  31. 2 0
      compiler/sparc/cpubase.pas
  32. 5 0
      compiler/x86/cpubase.pas
  33. 1 0
      compiler/x86/x86reg.dat
  34. 10 9
      compiler/x86_64/r8664ari.inc
  35. 1 0
      compiler/x86_64/r8664att.inc
  36. 1 0
      compiler/x86_64/r8664con.inc
  37. 1 0
      compiler/x86_64/r8664dwrf.inc
  38. 1 0
      compiler/x86_64/r8664int.inc
  39. 11 10
      compiler/x86_64/r8664iri.inc
  40. 1 1
      compiler/x86_64/r8664nor.inc
  41. 1 0
      compiler/x86_64/r8664num.inc
  42. 1 0
      compiler/x86_64/r8664op.inc
  43. 1 0
      compiler/x86_64/r8664ot.inc
  44. 5 4
      compiler/x86_64/r8664rni.inc
  45. 11 10
      compiler/x86_64/r8664sri.inc
  46. 1 0
      compiler/x86_64/r8664stab.inc
  47. 1 0
      compiler/x86_64/r8664std.inc

+ 3 - 0
compiler/avr/avrreg.dat

@@ -39,3 +39,6 @@ R29,$01,$1d,r29,29,29
 R30,$01,$1e,r30,30,30
 R30,$01,$1e,r30,30,30
 R31,$01,$1f,r31,31,31
 R31,$01,$1f,r31,31,31
 
 
+SREG,$05,$00,sreg,0,0
+
+

+ 3 - 0
compiler/avr/cpubase.pas

@@ -262,6 +262,9 @@ unit cpubase;
       { Offset where the parent framepointer is pushed }
       { Offset where the parent framepointer is pushed }
       PARENT_FRAMEPOINTER_OFFSET = 0;
       PARENT_FRAMEPOINTER_OFFSET = 0;
 
 
+      NR_DEFAULTFLAGS = NR_SREG;
+      RS_DEFAULTFLAGS = RS_SREG;
+
 {*****************************************************************************
 {*****************************************************************************
                        GCC /ABI linking information
                        GCC /ABI linking information
 *****************************************************************************}
 *****************************************************************************}

+ 1 - 0
compiler/avr/ravrcon.inc

@@ -32,3 +32,4 @@ NR_R28 = tregister($0100001c);
 NR_R29 = tregister($0100001d);
 NR_R29 = tregister($0100001d);
 NR_R30 = tregister($0100001e);
 NR_R30 = tregister($0100001e);
 NR_R31 = tregister($0100001f);
 NR_R31 = tregister($0100001f);
+NR_SREG = tregister($05000000);

+ 2 - 1
compiler/avr/ravrdwa.inc

@@ -31,4 +31,5 @@
 28,
 28,
 29,
 29,
 30,
 30,
-31
+31,
+0

+ 1 - 1
compiler/avr/ravrnor.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from avrreg.dat }
 { don't edit, this file is generated from avrreg.dat }
-33
+34

+ 2 - 1
compiler/avr/ravrnum.inc

@@ -31,4 +31,5 @@ tregister($0100001b),
 tregister($0100001c),
 tregister($0100001c),
 tregister($0100001d),
 tregister($0100001d),
 tregister($0100001e),
 tregister($0100001e),
-tregister($0100001f)
+tregister($0100001f),
+tregister($05000000)

+ 2 - 1
compiler/avr/ravrrni.inc

@@ -31,4 +31,5 @@
 29,
 29,
 30,
 30,
 31,
 31,
-32
+32,
+33

+ 2 - 1
compiler/avr/ravrsri.inc

@@ -31,4 +31,5 @@
 7,
 7,
 8,
 8,
 9,
 9,
-10
+10,
+33

+ 2 - 1
compiler/avr/ravrsta.inc

@@ -31,4 +31,5 @@
 28,
 28,
 29,
 29,
 30,
 30,
-31
+31,
+0

+ 2 - 1
compiler/avr/ravrstd.inc

@@ -31,4 +31,5 @@
 'r28',
 'r28',
 'r29',
 'r29',
 'r30',
 'r30',
-'r31'
+'r31',
+'sreg'

+ 1 - 0
compiler/avr/ravrsup.inc

@@ -32,3 +32,4 @@ RS_R28 = $1c;
 RS_R29 = $1d;
 RS_R29 = $1d;
 RS_R30 = $1e;
 RS_R30 = $1e;
 RS_R31 = $1f;
 RS_R31 = $1f;
+RS_SREG = $00;

+ 8 - 7
compiler/i386/r386ari.inc

@@ -8,21 +8,21 @@
 15,
 15,
 6,
 6,
 5,
 5,
-38,
 39,
 39,
 40,
 40,
 41,
 41,
+42,
 26,
 26,
 7,
 7,
 10,
 10,
 19,
 19,
 9,
 9,
-32,
 33,
 33,
 34,
 34,
 35,
 35,
 36,
 36,
 37,
 37,
+38,
 27,
 27,
 11,
 11,
 4,
 4,
@@ -35,9 +35,9 @@
 28,
 28,
 18,
 18,
 24,
 24,
+32,
 30,
 30,
 31,
 31,
-56,
 57,
 57,
 58,
 58,
 59,
 59,
@@ -45,11 +45,11 @@
 61,
 61,
 62,
 62,
 63,
 63,
+64,
 17,
 17,
 23,
 23,
 29,
 29,
-55,
-47,
+56,
 48,
 48,
 49,
 49,
 50,
 50,
@@ -57,12 +57,12 @@
 52,
 52,
 53,
 53,
 54,
 54,
-42,
+55,
 43,
 43,
 44,
 44,
 45,
 45,
 46,
 46,
-64,
+47,
 65,
 65,
 66,
 66,
 67,
 67,
@@ -70,4 +70,5 @@
 69,
 69,
 70,
 70,
 71,
 71,
+72,
 0
 0

+ 1 - 0
compiler/i386/r386att.inc

@@ -31,6 +31,7 @@
 '%ss',
 '%ss',
 '%fs',
 '%fs',
 '%gs',
 '%gs',
+'%flags',
 '%dr0',
 '%dr0',
 '%dr1',
 '%dr1',
 '%dr2',
 '%dr2',

+ 1 - 0
compiler/i386/r386con.inc

@@ -31,6 +31,7 @@ NR_ES = tregister($05000003);
 NR_SS = tregister($05000004);
 NR_SS = tregister($05000004);
 NR_FS = tregister($05000005);
 NR_FS = tregister($05000005);
 NR_GS = tregister($05000006);
 NR_GS = tregister($05000006);
+NR_FLAGS = tregister($05000007);
 NR_DR0 = tregister($05000007);
 NR_DR0 = tregister($05000007);
 NR_DR1 = tregister($05000008);
 NR_DR1 = tregister($05000008);
 NR_DR2 = tregister($05000009);
 NR_DR2 = tregister($05000009);

+ 1 - 0
compiler/i386/r386dwrf.inc

@@ -46,6 +46,7 @@
 -1,
 -1,
 -1,
 -1,
 -1,
 -1,
+-1,
 11,
 11,
 12,
 12,
 13,
 13,

+ 1 - 0
compiler/i386/r386int.inc

@@ -31,6 +31,7 @@
 'ss',
 'ss',
 'fs',
 'fs',
 'gs',
 'gs',
+'flags',
 'dr0',
 'dr0',
 'dr1',
 'dr1',
 'dr2',
 'dr2',

+ 9 - 8
compiler/i386/r386iri.inc

@@ -9,21 +9,21 @@
 15,
 15,
 6,
 6,
 5,
 5,
-38,
 39,
 39,
 40,
 40,
 41,
 41,
+42,
 26,
 26,
 7,
 7,
 10,
 10,
 19,
 19,
 9,
 9,
-32,
 33,
 33,
 34,
 34,
 35,
 35,
 36,
 36,
 37,
 37,
+38,
 27,
 27,
 11,
 11,
 4,
 4,
@@ -36,9 +36,9 @@
 28,
 28,
 18,
 18,
 24,
 24,
+32,
 30,
 30,
 31,
 31,
-56,
 57,
 57,
 58,
 58,
 59,
 59,
@@ -46,11 +46,11 @@
 61,
 61,
 62,
 62,
 63,
 63,
+64,
 17,
 17,
 23,
 23,
 29,
 29,
-55,
-47,
+56,
 48,
 48,
 49,
 49,
 50,
 50,
@@ -58,16 +58,17 @@
 52,
 52,
 53,
 53,
 54,
 54,
-42,
+55,
 43,
 43,
 44,
 44,
 45,
 45,
 46,
 46,
-64,
+47,
 65,
 65,
 66,
 66,
 67,
 67,
 68,
 68,
 69,
 69,
 70,
 70,
-71
+71,
+72

+ 1 - 0
compiler/i386/r386nasm.inc

@@ -31,6 +31,7 @@
 'ss',
 'ss',
 'fs',
 'fs',
 'gs',
 'gs',
+'flags',
 'dr0',
 'dr0',
 'dr1',
 'dr1',
 'dr2',
 'dr2',

+ 1 - 1
compiler/i386/r386nor.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86reg.dat }
 { don't edit, this file is generated from x86reg.dat }
-72
+73

+ 9 - 8
compiler/i386/r386nri.inc

@@ -9,21 +9,21 @@
 15,
 15,
 6,
 6,
 5,
 5,
-38,
 39,
 39,
 40,
 40,
 41,
 41,
+42,
 26,
 26,
 7,
 7,
 10,
 10,
 19,
 19,
 9,
 9,
-32,
 33,
 33,
 34,
 34,
 35,
 35,
 36,
 36,
 37,
 37,
+38,
 27,
 27,
 11,
 11,
 4,
 4,
@@ -36,9 +36,9 @@
 28,
 28,
 18,
 18,
 24,
 24,
+32,
 30,
 30,
 31,
 31,
-56,
 57,
 57,
 58,
 58,
 59,
 59,
@@ -46,11 +46,11 @@
 61,
 61,
 62,
 62,
 63,
 63,
+64,
 17,
 17,
 23,
 23,
 29,
 29,
-55,
-47,
+56,
 48,
 48,
 49,
 49,
 50,
 50,
@@ -58,16 +58,17 @@
 52,
 52,
 53,
 53,
 54,
 54,
-42,
+55,
 43,
 43,
 44,
 44,
 45,
 45,
 46,
 46,
-64,
+47,
 65,
 65,
 66,
 66,
 67,
 67,
 68,
 68,
 69,
 69,
 70,
 70,
-71
+71,
+72

+ 1 - 0
compiler/i386/r386num.inc

@@ -32,6 +32,7 @@ tregister($05000004),
 tregister($05000005),
 tregister($05000005),
 tregister($05000006),
 tregister($05000006),
 tregister($05000007),
 tregister($05000007),
+tregister($05000007),
 tregister($05000008),
 tregister($05000008),
 tregister($05000009),
 tregister($05000009),
 tregister($0500000a),
 tregister($0500000a),

+ 1 - 0
compiler/i386/r386op.inc

@@ -32,6 +32,7 @@
 4,
 4,
 5,
 5,
 0,
 0,
+0,
 1,
 1,
 2,
 2,
 3,
 3,

+ 1 - 0
compiler/i386/r386ot.inc

@@ -31,6 +31,7 @@ OT_REG_DESS,
 OT_REG_DESS,
 OT_REG_DESS,
 OT_REG_FSGS,
 OT_REG_FSGS,
 OT_REG_FSGS,
 OT_REG_FSGS,
+OT_NONE,
 OT_REG_DREG,
 OT_REG_DREG,
 OT_REG_DREG,
 OT_REG_DREG,
 OT_REG_DREG,
 OT_REG_DREG,

+ 4 - 3
compiler/i386/r386rni.inc

@@ -24,7 +24,6 @@
 20,
 20,
 22,
 22,
 24,
 24,
-47,
 48,
 48,
 49,
 49,
 50,
 50,
@@ -49,6 +48,7 @@
 69,
 69,
 70,
 70,
 71,
 71,
+72,
 25,
 25,
 26,
 26,
 27,
 27,
@@ -56,8 +56,8 @@
 29,
 29,
 30,
 30,
 31,
 31,
-32,
 33,
 33,
+32,
 34,
 34,
 35,
 35,
 36,
 36,
@@ -70,4 +70,5 @@
 43,
 43,
 44,
 44,
 45,
 45,
-46
+46,
+47

+ 9 - 8
compiler/i386/r386sri.inc

@@ -9,21 +9,21 @@
 15,
 15,
 6,
 6,
 5,
 5,
-38,
 39,
 39,
 40,
 40,
 41,
 41,
+42,
 26,
 26,
 7,
 7,
 10,
 10,
 19,
 19,
 9,
 9,
-32,
 33,
 33,
 34,
 34,
 35,
 35,
 36,
 36,
 37,
 37,
+38,
 27,
 27,
 11,
 11,
 4,
 4,
@@ -36,9 +36,9 @@
 28,
 28,
 18,
 18,
 24,
 24,
+32,
 30,
 30,
 31,
 31,
-56,
 57,
 57,
 58,
 58,
 59,
 59,
@@ -46,11 +46,11 @@
 61,
 61,
 62,
 62,
 63,
 63,
+64,
 17,
 17,
 23,
 23,
 29,
 29,
-55,
-47,
+56,
 48,
 48,
 49,
 49,
 50,
 50,
@@ -58,16 +58,17 @@
 52,
 52,
 53,
 53,
 54,
 54,
-42,
+55,
 43,
 43,
 44,
 44,
 45,
 45,
 46,
 46,
-64,
+47,
 65,
 65,
 66,
 66,
 67,
 67,
 68,
 68,
 69,
 69,
 70,
 70,
-71
+71,
+72

+ 1 - 0
compiler/i386/r386stab.inc

@@ -46,6 +46,7 @@
 -1,
 -1,
 -1,
 -1,
 -1,
 -1,
+-1,
 12,
 12,
 13,
 13,
 14,
 14,

+ 1 - 0
compiler/i386/r386std.inc

@@ -31,6 +31,7 @@
 'ss',
 'ss',
 'fs',
 'fs',
 'gs',
 'gs',
+'flags',
 'dr0',
 'dr0',
 'dr1',
 'dr1',
 'dr2',
 'dr2',

+ 3 - 0
compiler/m68k/cpubase.pas

@@ -289,6 +289,9 @@ unit cpubase;
       {# Floating point results will be placed into this register }
       {# Floating point results will be placed into this register }
       NR_FPU_RESULT_REG = NR_FP0;
       NR_FPU_RESULT_REG = NR_FP0;
 
 
+      NR_DEFAULTFLAGS = NR_SR;
+      RS_DEFAULTFLAGS = RS_SR;
+
 {*****************************************************************************
 {*****************************************************************************
                        GCC /ABI linking information
                        GCC /ABI linking information
 *****************************************************************************}
 *****************************************************************************}

+ 3 - 0
compiler/powerpc/cpubase.pas

@@ -333,6 +333,9 @@ uses
       NR_FPU_RESULT_REG = NR_F1;
       NR_FPU_RESULT_REG = NR_F1;
       NR_MM_RESULT_REG = NR_M0;
       NR_MM_RESULT_REG = NR_M0;
 
 
+      NR_DEFAULTFLAGS = NR_CR;
+      RS_DEFAULTFLAGS = RS_CR;
+
 
 
 {*****************************************************************************
 {*****************************************************************************
                        GCC /ABI linking information
                        GCC /ABI linking information

+ 3 - 0
compiler/powerpc64/cpubase.pas

@@ -332,6 +332,9 @@ const
   NR_FPU_RESULT_REG = NR_F1;
   NR_FPU_RESULT_REG = NR_F1;
   NR_MM_RESULT_REG = NR_M0;
   NR_MM_RESULT_REG = NR_M0;
 
 
+  NR_DEFAULTFLAGS = NR_CR;
+  RS_DEFAULTFLAGS = RS_CR;
+
   {*****************************************************************************
   {*****************************************************************************
                          GCC /ABI linking information
                          GCC /ABI linking information
   *****************************************************************************}
   *****************************************************************************}

+ 2 - 0
compiler/sparc/cpubase.pas

@@ -237,6 +237,8 @@ uses
 
 
       PARENT_FRAMEPOINTER_OFFSET = 68; { o0 }
       PARENT_FRAMEPOINTER_OFFSET = 68; { o0 }
 
 
+      NR_DEFAULTFLAGS = NR_PSR;
+      RS_DEFAULTFLAGS = RS_PSR;
 
 
 {*****************************************************************************
 {*****************************************************************************
                        GCC /ABI linking information
                        GCC /ABI linking information

+ 5 - 0
compiler/x86/cpubase.pas

@@ -126,6 +126,8 @@ uses
       RS_XMM14       = $0e;
       RS_XMM14       = $0e;
       RS_XMM15       = $0f;
       RS_XMM15       = $0f;
 
 
+      RS_FLAGS       = $07;
+
       { Number of first imaginary register }
       { Number of first imaginary register }
 {$ifdef x86_64}
 {$ifdef x86_64}
       first_mm_imreg     = $10;
       first_mm_imreg     = $10;
@@ -187,6 +189,9 @@ uses
 {$endif x86_64}
 {$endif x86_64}
       );
       );
 
 
+      RS_DEFAULTFLAGS = RS_FLAGS;
+      NR_DEFAULTFLAGS = NR_FLAGS;
+
    type
    type
       totherregisterset = set of tregisterindex;
       totherregisterset = set of tregisterindex;
 
 

+ 1 - 0
compiler/x86/x86reg.dat

@@ -85,6 +85,7 @@ NR_ES,$05000003,es,%es,es,es,-1,-1,-1,OT_REG_DESS,0
 NR_SS,$05000004,ss,%ss,ss,ss,-1,-1,-1,OT_REG_DESS,2
 NR_SS,$05000004,ss,%ss,ss,ss,-1,-1,-1,OT_REG_DESS,2
 NR_FS,$05000005,fs,%fs,fs,fs,-1,-1,-1,OT_REG_FSGS,4
 NR_FS,$05000005,fs,%fs,fs,fs,-1,-1,-1,OT_REG_FSGS,4
 NR_GS,$05000006,gs,%gs,gs,gs,-1,-1,-1,OT_REG_FSGS,5
 NR_GS,$05000006,gs,%gs,gs,gs,-1,-1,-1,OT_REG_FSGS,5
+NR_FLAGS,$05000007,flags,%flags,flags,flags,-1,-1,-1,OT_NONE,0
 
 
 NR_DR0,$05000007,dr0,%dr0,dr0,dr0,-1,-1,-1,OT_REG_DREG,0
 NR_DR0,$05000007,dr0,%dr0,dr0,dr0,-1,-1,-1,OT_REG_DREG,0
 NR_DR1,$05000008,dr1,%dr1,dr1,dr1,-1,-1,-1,OT_REG_DREG,1
 NR_DR1,$05000008,dr1,%dr1,dr1,dr1,-1,-1,-1,OT_REG_DREG,1

+ 10 - 9
compiler/x86_64/r8664ari.inc

@@ -9,22 +9,22 @@
 18,
 18,
 7,
 7,
 6,
 6,
-83,
 84,
 84,
 85,
 85,
 86,
 86,
+87,
 71,
 71,
 8,
 8,
 12,
 12,
 26,
 26,
 25,
 25,
 11,
 11,
-77,
 78,
 78,
 79,
 79,
 80,
 80,
 81,
 81,
 82,
 82,
+83,
 72,
 72,
 13,
 13,
 4,
 4,
@@ -37,9 +37,9 @@
 73,
 73,
 23,
 23,
 35,
 35,
+77,
 75,
 75,
 76,
 76,
-101,
 102,
 102,
 103,
 103,
 104,
 104,
@@ -47,6 +47,7 @@
 106,
 106,
 107,
 107,
 108,
 108,
+109,
 45,
 45,
 46,
 46,
 48,
 48,
@@ -93,8 +94,7 @@
 34,
 34,
 33,
 33,
 74,
 74,
-100,
-92,
+101,
 93,
 93,
 94,
 94,
 95,
 95,
@@ -102,20 +102,20 @@
 97,
 97,
 98,
 98,
 99,
 99,
-87,
+100,
 88,
 88,
 89,
 89,
 90,
 90,
 91,
 91,
-109,
+92,
 110,
 110,
-119,
+111,
 120,
 120,
 121,
 121,
 122,
 122,
 123,
 123,
 124,
 124,
-111,
+125,
 112,
 112,
 113,
 113,
 114,
 114,
@@ -123,4 +123,5 @@
 116,
 116,
 117,
 117,
 118,
 118,
+119,
 0
 0

+ 1 - 0
compiler/x86_64/r8664att.inc

@@ -76,6 +76,7 @@
 '%ss',
 '%ss',
 '%fs',
 '%fs',
 '%gs',
 '%gs',
+'%flags',
 '%dr0',
 '%dr0',
 '%dr1',
 '%dr1',
 '%dr2',
 '%dr2',

+ 1 - 0
compiler/x86_64/r8664con.inc

@@ -76,6 +76,7 @@ NR_ES = tregister($05000003);
 NR_SS = tregister($05000004);
 NR_SS = tregister($05000004);
 NR_FS = tregister($05000005);
 NR_FS = tregister($05000005);
 NR_GS = tregister($05000006);
 NR_GS = tregister($05000006);
+NR_FLAGS = tregister($05000007);
 NR_DR0 = tregister($05000007);
 NR_DR0 = tregister($05000007);
 NR_DR1 = tregister($05000008);
 NR_DR1 = tregister($05000008);
 NR_DR2 = tregister($05000009);
 NR_DR2 = tregister($05000009);

+ 1 - 0
compiler/x86_64/r8664dwrf.inc

@@ -91,6 +91,7 @@
 -1,
 -1,
 -1,
 -1,
 -1,
 -1,
+-1,
 33,
 33,
 34,
 34,
 35,
 35,

+ 1 - 0
compiler/x86_64/r8664int.inc

@@ -76,6 +76,7 @@
 'ss',
 'ss',
 'fs',
 'fs',
 'gs',
 'gs',
+'flags',
 'dr0',
 'dr0',
 'dr1',
 'dr1',
 'dr2',
 'dr2',

+ 11 - 10
compiler/x86_64/r8664iri.inc

@@ -10,22 +10,22 @@
 18,
 18,
 7,
 7,
 6,
 6,
-83,
 84,
 84,
 85,
 85,
 86,
 86,
+87,
 71,
 71,
 8,
 8,
 12,
 12,
 26,
 26,
 25,
 25,
 11,
 11,
-77,
 78,
 78,
 79,
 79,
 80,
 80,
 81,
 81,
 82,
 82,
+83,
 72,
 72,
 13,
 13,
 4,
 4,
@@ -38,9 +38,9 @@
 73,
 73,
 23,
 23,
 35,
 35,
+77,
 75,
 75,
 76,
 76,
-101,
 102,
 102,
 103,
 103,
 104,
 104,
@@ -48,6 +48,7 @@
 106,
 106,
 107,
 107,
 108,
 108,
+109,
 45,
 45,
 46,
 46,
 48,
 48,
@@ -94,8 +95,7 @@
 34,
 34,
 33,
 33,
 74,
 74,
-100,
-92,
+101,
 93,
 93,
 94,
 94,
 95,
 95,
@@ -103,24 +103,25 @@
 97,
 97,
 98,
 98,
 99,
 99,
-87,
+100,
 88,
 88,
 89,
 89,
 90,
 90,
 91,
 91,
-109,
+92,
 110,
 110,
-119,
+111,
 120,
 120,
 121,
 121,
 122,
 122,
 123,
 123,
 124,
 124,
-111,
+125,
 112,
 112,
 113,
 113,
 114,
 114,
 115,
 115,
 116,
 116,
 117,
 117,
-118
+118,
+119

+ 1 - 1
compiler/x86_64/r8664nor.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86reg.dat }
 { don't edit, this file is generated from x86reg.dat }
-125
+126

+ 1 - 0
compiler/x86_64/r8664num.inc

@@ -77,6 +77,7 @@ tregister($05000004),
 tregister($05000005),
 tregister($05000005),
 tregister($05000006),
 tregister($05000006),
 tregister($05000007),
 tregister($05000007),
+tregister($05000007),
 tregister($05000008),
 tregister($05000008),
 tregister($05000009),
 tregister($05000009),
 tregister($0500000a),
 tregister($0500000a),

+ 1 - 0
compiler/x86_64/r8664op.inc

@@ -77,6 +77,7 @@
 4,
 4,
 5,
 5,
 0,
 0,
+0,
 1,
 1,
 2,
 2,
 3,
 3,

+ 1 - 0
compiler/x86_64/r8664ot.inc

@@ -76,6 +76,7 @@ OT_REG_DESS,
 OT_REG_DESS,
 OT_REG_DESS,
 OT_REG_FSGS,
 OT_REG_FSGS,
 OT_REG_FSGS,
 OT_REG_FSGS,
+OT_NONE,
 OT_REG_DREG,
 OT_REG_DREG,
 OT_REG_DREG,
 OT_REG_DREG,
 OT_REG_DREG,
 OT_REG_DREG,

+ 5 - 4
compiler/x86_64/r8664rni.inc

@@ -68,7 +68,6 @@
 57,
 57,
 61,
 61,
 65,
 65,
-92,
 93,
 93,
 94,
 94,
 95,
 95,
@@ -101,16 +100,17 @@
 122,
 122,
 123,
 123,
 124,
 124,
-69,
+125,
 70,
 70,
+69,
 71,
 71,
 72,
 72,
 73,
 73,
 74,
 74,
 75,
 75,
 76,
 76,
-77,
 78,
 78,
+77,
 79,
 79,
 80,
 80,
 81,
 81,
@@ -123,4 +123,5 @@
 88,
 88,
 89,
 89,
 90,
 90,
-91
+91,
+92

+ 11 - 10
compiler/x86_64/r8664sri.inc

@@ -10,22 +10,22 @@
 18,
 18,
 7,
 7,
 6,
 6,
-83,
 84,
 84,
 85,
 85,
 86,
 86,
+87,
 71,
 71,
 8,
 8,
 12,
 12,
 26,
 26,
 25,
 25,
 11,
 11,
-77,
 78,
 78,
 79,
 79,
 80,
 80,
 81,
 81,
 82,
 82,
+83,
 72,
 72,
 13,
 13,
 4,
 4,
@@ -38,9 +38,9 @@
 73,
 73,
 23,
 23,
 35,
 35,
+77,
 75,
 75,
 76,
 76,
-101,
 102,
 102,
 103,
 103,
 104,
 104,
@@ -48,6 +48,7 @@
 106,
 106,
 107,
 107,
 108,
 108,
+109,
 45,
 45,
 46,
 46,
 48,
 48,
@@ -94,8 +95,7 @@
 34,
 34,
 33,
 33,
 74,
 74,
-100,
-92,
+101,
 93,
 93,
 94,
 94,
 95,
 95,
@@ -103,24 +103,25 @@
 97,
 97,
 98,
 98,
 99,
 99,
-87,
+100,
 88,
 88,
 89,
 89,
 90,
 90,
 91,
 91,
-109,
+92,
 110,
 110,
-119,
+111,
 120,
 120,
 121,
 121,
 122,
 122,
 123,
 123,
 124,
 124,
-111,
+125,
 112,
 112,
 113,
 113,
 114,
 114,
 115,
 115,
 116,
 116,
 117,
 117,
-118
+118,
+119

+ 1 - 0
compiler/x86_64/r8664stab.inc

@@ -91,6 +91,7 @@
 -1,
 -1,
 -1,
 -1,
 -1,
 -1,
+-1,
 33,
 33,
 34,
 34,
 35,
 35,

+ 1 - 0
compiler/x86_64/r8664std.inc

@@ -76,6 +76,7 @@
 'ss',
 'ss',
 'fs',
 'fs',
 'gs',
 'gs',
+'flags',
 'dr0',
 'dr0',
 'dr1',
 'dr1',
 'dr2',
 'dr2',