Browse Source

* several imul variants, featuring 32-bit or 64-bit registers marked 386+, instead of 286+

git-svn-id: trunk@32889 -
nickysn 9 years ago
parent
commit
6037976202

+ 4 - 4
compiler/i386/i386tab.inc

@@ -2308,28 +2308,28 @@
     ops     : 3;
     ops     : 3;
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate or ot_bits8 or ot_signed,ot_none);
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate or ot_bits8 or ot_signed,ot_none);
     code    : #208#1#107#72#14;
     code    : #208#1#107#72#14;
-    flags   : if_286 or if_sm
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;
     ops     : 3;
     ops     : 3;
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate,ot_none);
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate,ot_none);
     code    : #208#1#105#72#34;
     code    : #208#1#105#72#34;
-    flags   : if_286 or if_sm or if_sd or if_ar2
+    flags   : if_386 or if_sm or if_sd or if_ar2
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none,ot_none);
     optypes : (ot_reg32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none,ot_none);
     code    : #208#1#107#64#13;
     code    : #208#1#107#64#13;
-    flags   : if_286
+    flags   : if_386
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg32,ot_immediate,ot_none,ot_none);
     optypes : (ot_reg32,ot_immediate,ot_none,ot_none);
     code    : #213#1#105#64#33;
     code    : #213#1#105#64#33;
-    flags   : if_286 or if_sd
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;

+ 4 - 4
compiler/i8086/i8086tab.inc

@@ -2315,28 +2315,28 @@
     ops     : 3;
     ops     : 3;
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate or ot_bits8 or ot_signed,ot_none);
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate or ot_bits8 or ot_signed,ot_none);
     code    : #208#1#107#72#14;
     code    : #208#1#107#72#14;
-    flags   : if_286 or if_sm
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;
     ops     : 3;
     ops     : 3;
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate,ot_none);
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate,ot_none);
     code    : #208#1#105#72#34;
     code    : #208#1#105#72#34;
-    flags   : if_286 or if_sm or if_sd or if_ar2
+    flags   : if_386 or if_sm or if_sd or if_ar2
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none,ot_none);
     optypes : (ot_reg32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none,ot_none);
     code    : #208#1#107#64#13;
     code    : #208#1#107#64#13;
-    flags   : if_286
+    flags   : if_386
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg32,ot_immediate,ot_none,ot_none);
     optypes : (ot_reg32,ot_immediate,ot_none,ot_none);
     code    : #213#1#105#64#33;
     code    : #213#1#105#64#33;
-    flags   : if_286 or if_sd
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;

+ 4 - 4
compiler/x86/x86ins.dat

@@ -790,10 +790,10 @@ rm8                   \1\xF6\207                      8086
 (Ch_RWEAX, Ch_WEDX, Ch_WFlags)
 (Ch_RWEAX, Ch_WEDX, Ch_WFlags)
 reg16|32|64,regmem    \320\2\x0F\xAF\110              386,SM
 reg16|32|64,regmem    \320\2\x0F\xAF\110              386,SM
 rm16|32|64            \320\1\xF7\205                  8086
 rm16|32|64            \320\1\xF7\205                  8086
-reg32|64,regmem,imm8  \320\1\x6B\110\16               286,SM
-reg32|64,regmem,imm   \320\1\x69\110\42               286,SM,SD,AR2
-reg32|64,imm8         \320\1\x6B\100\15               286
-reg32,imm             \325\1\x69\100\41               286,SD
+reg32|64,regmem,imm8  \320\1\x6B\110\16               386,SM
+reg32|64,regmem,imm   \320\1\x69\110\42               386,SM,SD,AR2
+reg32|64,imm8         \320\1\x6B\100\15               386
+reg32,imm             \325\1\x69\100\41               386,SD
 reg64,imm             \326\1\x69\100\255              X86_64
 reg64,imm             \326\1\x69\100\255              X86_64
 reg16,regmem,imm8     \324\1\x6B\110\16               286,SM
 reg16,regmem,imm8     \324\1\x6B\110\16               286,SM
 reg16,regmem,imm      \324\1\x69\110\32               286,SM,SW,AR2
 reg16,regmem,imm      \324\1\x69\110\32               286,SM,SW,AR2

+ 4 - 4
compiler/x86_64/x8664tab.inc

@@ -2238,28 +2238,28 @@
     ops     : 3;
     ops     : 3;
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate or ot_bits8 or ot_signed,ot_none);
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate or ot_bits8 or ot_signed,ot_none);
     code    : #208#1#107#72#14;
     code    : #208#1#107#72#14;
-    flags   : if_286 or if_sm
+    flags   : if_386 or if_sm
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;
     ops     : 3;
     ops     : 3;
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate,ot_none);
     optypes : (ot_reg32 or ot_bits64,ot_rm_gpr,ot_immediate,ot_none);
     code    : #208#1#105#72#34;
     code    : #208#1#105#72#34;
-    flags   : if_286 or if_sm or if_sd or if_ar2
+    flags   : if_386 or if_sm or if_sd or if_ar2
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none,ot_none);
     optypes : (ot_reg32 or ot_bits64,ot_immediate or ot_bits8 or ot_signed,ot_none,ot_none);
     code    : #208#1#107#64#13;
     code    : #208#1#107#64#13;
-    flags   : if_286
+    flags   : if_386
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;
     ops     : 2;
     ops     : 2;
     optypes : (ot_reg32,ot_immediate,ot_none,ot_none);
     optypes : (ot_reg32,ot_immediate,ot_none,ot_none);
     code    : #213#1#105#64#33;
     code    : #213#1#105#64#33;
-    flags   : if_286 or if_sd
+    flags   : if_386 or if_sd
   ),
   ),
   (
   (
     opcode  : A_IMUL;
     opcode  : A_IMUL;