Browse Source

+ cmpxchg16b

git-svn-id: trunk@6095 -
florian 18 years ago
parent
commit
2da51bce72

+ 4 - 0
compiler/x86/x86ins.dat

@@ -3235,3 +3235,7 @@ reg64,reg32           \326\301\1\x63\110              X86_64
 [CQO,cqto]
 (Ch_MRAX, Ch_WRDX, Ch_None)
 void                  \326\1\x99                      X86_64
+
+[CMPXCHG16B,cmpxchg16bX]
+(Ch_All, Ch_None, Ch_None)
+mem                   \320\323\2\x0F\xC7\201          X86_64

+ 2 - 1
compiler/x86_64/x8664ats.inc

@@ -592,5 +592,6 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
-attsufNONE
+attsufNONE,
+attsufINT
 );

+ 2 - 1
compiler/x86_64/x8664att.inc

@@ -592,5 +592,6 @@
 'rdm',
 'movabs',
 'movslq',
-'cqto'
+'cqto',
+'cmpxchg16b'
 );

+ 2 - 1
compiler/x86_64/x8664int.inc

@@ -592,5 +592,6 @@
 'rdm',
 'movabs',
 'movsxd',
-'cqo'
+'cqo',
+'cmpxchg16b'
 );

+ 1 - 1
compiler/x86_64/x8664nop.inc

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

+ 2 - 1
compiler/x86_64/x8664op.inc

@@ -592,5 +592,6 @@ A_DMINT,
 A_RDM,
 A_MOVABS,
 A_MOVSXD,
-A_CQO
+A_CQO,
+A_CMPXCHG16B
 );

+ 2 - 1
compiler/x86_64/x8664pro.inc

@@ -592,5 +592,6 @@
 (Ch: (Ch_All, Ch_None, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
 (Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
-(Ch: (Ch_MRAX, Ch_WRDX, Ch_None))
+(Ch: (Ch_MRAX, Ch_WRDX, Ch_None)),
+(Ch: (Ch_All, Ch_None, Ch_None))
 );

+ 7 - 0
compiler/x86_64/x8664tab.inc

@@ -9575,5 +9575,12 @@
     optypes : (ot_none,ot_none,ot_none);
     code    : #214#1#153;
     flags   : if_x86_64
+  ),
+  (
+    opcode  : A_CMPXCHG16B;
+    ops     : 1;
+    optypes : (ot_memory,ot_none,ot_none);
+    code    : #208#211#2#15#199#129;
+    flags   : if_x86_64
   )
 );