Explorar el Código

Merged revisions 836 via svnmerge from
/trunk

git-svn-id: branches/fixes_2_0@840 -

florian hace 20 años
padre
commit
3b39f07d27

+ 3 - 1
compiler/i386/i386att.inc

@@ -563,5 +563,7 @@
 'movddup',
 'movshdup',
 'movsldup',
-'movabs'
+'movabs',
+'movslq',
+'cqto'
 );

+ 2 - 0
compiler/i386/i386atts.inc

@@ -563,5 +563,7 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
+attsufNONE,
 attsufNONE
 );

+ 3 - 1
compiler/i386/i386int.inc

@@ -563,5 +563,7 @@
 'movddup',
 'movshdup',
 'movsldup',
-'movabs'
+'movabs',
+'movsxd',
+'cdo'
 );

+ 1 - 1
compiler/i386/i386nop.inc

@@ -1,2 +1,2 @@
 { don't edit, this file is generated from x86ins.dat }
-1651;
+1652;

+ 3 - 1
compiler/i386/i386op.inc

@@ -563,5 +563,7 @@ A_LDDQU,
 A_MOVDDUP,
 A_MOVSHDUP,
 A_MOVSLDUP,
-A_MOVABS
+A_MOVABS,
+A_MOVSXD,
+A_CDO
 );

+ 5 - 3
compiler/i386/i386prop.inc

@@ -430,7 +430,6 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
-(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
@@ -445,6 +444,7 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
+(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
@@ -525,7 +525,6 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
-(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
@@ -553,6 +552,7 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
+(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
@@ -563,5 +563,7 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_All, Ch_None, Ch_None)),
-(Ch: (Ch_Wop2, Ch_Rop1, Ch_None))
+(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
+(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
+(Ch: (Ch_MRAX, Ch_WRDX, Ch_None))
 );

+ 8 - 1
compiler/i386/i386tab.inc

@@ -7984,9 +7984,16 @@
     opcode  : A_STR;
     ops     : 1;
     optypes : (ot_reg16,ot_none,ot_none);
-    code    : #192#1#15#15#129;
+    code    : #208#1#15#15#129;
     flags   : if_286 or if_prot
   ),
+  (
+    opcode  : A_STR;
+    ops     : 1;
+    optypes : (ot_reg32,ot_none,ot_none);
+    code    : #209#1#15#15#129;
+    flags   : if_386 or if_prot
+  ),
   (
     opcode  : A_SUB;
     ops     : 2;

+ 2 - 1
compiler/x86/x86ins.dat

@@ -2224,7 +2224,8 @@ void                  \320\1\xAB                      8086
 (Ch_Wop1, Ch_None, Ch_None)
 mem                   \300\1\x0F\17\201               286,PROT
 mem16                 \300\1\x0F\17\201               286,PROT
-reg16                 \300\1\x0F\17\201               286,PROT
+reg16                 \320\1\x0F\17\201               286,PROT
+reg32                 \321\1\x0F\17\201               386,PROT
 
 [SUB,subX]
 (Ch_Mop2, Ch_Rop1, Ch_WFlags)

+ 8 - 1
compiler/x86_64/x8664tab.inc

@@ -7879,9 +7879,16 @@
     opcode  : A_STR;
     ops     : 1;
     optypes : (ot_reg16,ot_none,ot_none);
-    code    : #192#1#15#15#129;
+    code    : #208#1#15#15#129;
     flags   : if_286 or if_prot
   ),
+  (
+    opcode  : A_STR;
+    ops     : 1;
+    optypes : (ot_reg32,ot_none,ot_none);
+    code    : #209#1#15#15#129;
+    flags   : if_386 or if_prot
+  ),
   (
     opcode  : A_SUB;
     ops     : 2;