gas/testsuite/
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 3 Nov 2008 19:38:09 +0000 (19:38 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 3 Nov 2008 19:38:09 +0000 (19:38 +0000)
2008-11-03  H.J. Lu  <hongjiu.lu@intel.com>

* gas/i386/intel.s: Add tests for cmovpe and cmovpo.
* gas/i386/opcode.s: Likewise.

* gas/i386/intel.d: Updated.
* gas/i386/opcode.d: Likewise.
* gas/i386/opcode-intel.d: Likewise.
* gas/i386/opcode-suffix.d: Likewise.

opcodes/

2008-11-03  H.J. Lu  <hongjiu.lu@intel.com>

* i386-opc.tbl: Add cmovpe and cmovpo.
* i386-tbl.h: Regenerated.

gas/testsuite/ChangeLog
gas/testsuite/gas/i386/intel.d
gas/testsuite/gas/i386/intel.s
gas/testsuite/gas/i386/opcode-intel.d
gas/testsuite/gas/i386/opcode-suffix.d
gas/testsuite/gas/i386/opcode.d
gas/testsuite/gas/i386/opcode.s
opcodes/ChangeLog
opcodes/i386-opc.tbl
opcodes/i386-tbl.h

index da3b928..51209ec 100644 (file)
@@ -1,3 +1,13 @@
+2008-11-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gas/i386/intel.s: Add tests for cmovpe and cmovpo.
+       * gas/i386/opcode.s: Likewise.
+
+       * gas/i386/intel.d: Updated.
+       * gas/i386/opcode.d: Likewise.
+       * gas/i386/opcode-intel.d: Likewise. 
+       * gas/i386/opcode-suffix.d: Likewise.
+
 2008-10-12  H.J. Lu  <hongjiu.lu@intel.com>
 
        * gas/i386/i386.exp: Run nops-5, nops-5-i686, x86-64-nops-5 and
index d2edbbd..1a13118 100644 (file)
@@ -694,4 +694,8 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    de e3                   fsubp  %st,%st\(3\)
 [      ]*[a-f0-9]+:    de 3b                   fidivr \(%ebx\)
 [      ]*[a-f0-9]+:    da 3b                   fidivrl \(%ebx\)
+[      ]*[a-f0-9]+:    0f 4a 90 90 90 90 90    cmovp  -0x6f6f6f70\(%eax\),%edx
+[      ]*[a-f0-9]+:    0f 4b 90 90 90 90 90    cmovnp -0x6f6f6f70\(%eax\),%edx
+[      ]*[a-f0-9]+:    66 0f 4a 90 90 90 90 90         cmovp  -0x6f6f6f70\(%eax\),%dx
+[      ]*[a-f0-9]+:    66 0f 4b 90 90 90 90 90         cmovnp -0x6f6f6f70\(%eax\),%dx
 #pass
index ae277bf..7c247e9 100644 (file)
@@ -693,3 +693,8 @@ fsubrp st,st(3)
 
 fidivr  word ptr [ebx]
 fidivr  dword ptr [ebx]
+
+ cmovpe  edx, 0x90909090[eax]
+ cmovpo edx, 0x90909090[eax]
+ cmovpe  dx, 0x90909090[eax]
+ cmovpo dx, 0x90909090[eax]
index 61607dd..dab99b0 100644 (file)
@@ -611,5 +611,8 @@ Disassembly of section .text:
  *[0-9a-f]+:   85 c3 [         ]*test[         ]+ebx,eax
  *[0-9a-f]+:   85 d8 [         ]*test[         ]+eax,ebx
  *[0-9a-f]+:   85 18 [         ]*test[         ]+(DWORD PTR )?\[eax\],ebx
+[      ]*[a-f0-9]+:    0f 4a 90 90 90 90 90    cmovp  edx,DWORD PTR \[eax-0x6f6f6f70\]
+[      ]*[a-f0-9]+:    0f 4b 90 90 90 90 90    cmovnp edx,DWORD PTR \[eax-0x6f6f6f70\]
+[      ]*[a-f0-9]+:    66 0f 4a 90 90 90 90 90         cmovp  dx,WORD PTR \[eax-0x6f6f6f70\]
+[      ]*[a-f0-9]+:    66 0f 4b 90 90 90 90 90         cmovnp dx,WORD PTR \[eax-0x6f6f6f70\]
 #pass
-       \.\.\.
index 1c9eaed..1c8f0a2 100644 (file)
@@ -588,4 +588,8 @@ Disassembly of section .text:
  *[0-9a-f]+:   85 c3 [         ]*testl[        ]+%eax,%ebx
  *[0-9a-f]+:   85 d8 [         ]*testl[        ]+%ebx,%eax
  *[0-9a-f]+:   85 18 [         ]*testl[        ]+%ebx,\(%eax\)
+[      ]*[a-f0-9]+:    0f 4a 90 90 90 90 90    cmovpl -0x6f6f6f70\(%eax\),%edx
+[      ]*[a-f0-9]+:    0f 4b 90 90 90 90 90    cmovnpl -0x6f6f6f70\(%eax\),%edx
+[      ]*[a-f0-9]+:    66 0f 4a 90 90 90 90 90         cmovpw -0x6f6f6f70\(%eax\),%dx
+[      ]*[a-f0-9]+:    66 0f 4b 90 90 90 90 90         cmovnpw -0x6f6f6f70\(%eax\),%dx
 #pass
index 5683895..279c571 100644 (file)
@@ -587,4 +587,8 @@ Disassembly of section .text:
  9f5:  85 c3 [         ]*test   %eax,%ebx
  9f7:  85 d8 [         ]*test   %ebx,%eax
  9f9:  85 18 [         ]*test   %ebx,\(%eax\)
+[      ]*[a-f0-9]+:    0f 4a 90 90 90 90 90    cmovp  -0x6f6f6f70\(%eax\),%edx
+[      ]*[a-f0-9]+:    0f 4b 90 90 90 90 90    cmovnp -0x6f6f6f70\(%eax\),%edx
+[      ]*[a-f0-9]+:    66 0f 4a 90 90 90 90 90         cmovp  -0x6f6f6f70\(%eax\),%dx
+[      ]*[a-f0-9]+:    66 0f 4b 90 90 90 90 90         cmovnp -0x6f6f6f70\(%eax\),%dx
 #pass
index b54b9fc..a07e423 100644 (file)
@@ -585,5 +585,7 @@ foo:
  test   %ebx,%eax
  test   (%eax),%ebx
 
-# Force a good alignment.
- .p2align 4,0
+ cmovpe  0x90909090(%eax),%edx
+ cmovpo 0x90909090(%eax),%edx
+ cmovpe  0x90909090(%eax),%dx
+ cmovpo 0x90909090(%eax),%dx
index b2d8a36..90052ae 100644 (file)
@@ -1,3 +1,8 @@
+2008-11-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * i386-opc.tbl: Add cmovpe and cmovpo.
+       * i386-tbl.h: Regenerated.
+
 2008-10-22  Nick Clifton  <nickc@redhat.com>
 
        PR 6937
index e898300..6482dc4 100644 (file)
@@ -876,6 +876,8 @@ cmovle, 2, 0xf4e, None, 2, Cpu686, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32
 cmovng, 2, 0xf4e, None, 2, Cpu686, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg16|Reg32|Reg64 }
 cmovg, 2, 0xf4f, None, 2, Cpu686, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg16|Reg32|Reg64 }
 cmovnle, 2, 0xf4f, None, 2, Cpu686, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg16|Reg32|Reg64 }
+cmovpe, 2, 0xf4a, None, 2, Cpu686, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg16|Reg32|Reg64 }
+cmovpo, 2, 0xf4b, None, 2, Cpu686, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg16|Reg32|Reg64 }
 
 fcmovb, 2, 0xdac0, None, 2, Cpu686, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg, FloatAcc }
 fcmovnae, 2, 0xdac0, None, 2, Cpu686, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { FloatReg, FloatAcc }
index f9ddc40..2295cdd 100644 (file)
@@ -6592,6 +6592,30 @@ const template i386_optab[] =
       { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
          0, 0, 0, 0, 0, 0 } } } },
+  { "cmovpe", 2, 0xf4a, None, 2,
+    { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 
+         0, 0, 1, 0, 0, 0 } },
+      { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
+  { "cmovpo", 2, 0xf4b, None, 2,
+    { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+    { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+    { { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 
+         0, 0, 1, 0, 0, 0 } },
+      { { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+         0, 0, 0, 0, 0, 0 } } } },
   { "fcmovb", 2, 0xdac0, None, 2,
     { { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },