gas/testsuite/
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 9 May 2006 16:05:40 +0000 (16:05 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 9 May 2006 16:05:40 +0000 (16:05 +0000)
2006-05-09  H.J. Lu  <hongjiu.lu@intel.com>

* gas/i386/i386.exp: Run x86-64-gidt.

* gas/i386/x86-64-gidt.d: New file.
* gas/i386/x86-64-gidt.s: Likewise.

opcodes/

2006-05-09  H.J. Lu  <hongjiu.lu@intel.com>

* i386-dis.c (grps): Update sgdt/sidt for 64bit.

gas/testsuite/ChangeLog
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/x86-64-gidt.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-gidt.s [new file with mode: 0644]
opcodes/ChangeLog
opcodes/i386-dis.c

index 62e1ee213f9fe9132f0a60ac90109ce8b597e520..870980ab3823e6ec5f58801bb3a03f0d1073ba70 100644 (file)
@@ -1,3 +1,10 @@
+2006-05-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gas/i386/i386.exp: Run x86-64-gidt.
+
+       * gas/i386/x86-64-gidt.d: New file.
+       * gas/i386/x86-64-gidt.s: Likewise.
+
 2006-05-09  David Ung  <davidu@mips.com>
 
        * gas/mips/jal-range.l: Only warn about an out-of-range j or jal
index 337ce514597d363026b9f4062b0439529d864492..fd5ea377b29a9d29ade5f0895eb0ebbea102acbc 100644 (file)
@@ -143,6 +143,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86-64-merom"
     run_dump_test "x86-64-rep"
     run_dump_test "x86-64-rep-suffix"
+    run_dump_test "x86-64-gidt"
 
     if { ![istarget "*-*-aix*"]
       && ![istarget "*-*-beos*"]
diff --git a/gas/testsuite/gas/i386/x86-64-gidt.d b/gas/testsuite/gas/i386/x86-64-gidt.d
new file mode 100644 (file)
index 0000000..75d662d
--- /dev/null
@@ -0,0 +1,17 @@
+#objdump: -dw
+#name: 64bit load/store global/interrupt description table register.
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+000 <foo>:
+   0:  0f 01 08 [      ]*sidt  \(%rax\)
+   3:  0f 01 18 [      ]*sgdt  \(%rax\)
+   6:  0f 01 00 [      ]*lidt  \(%rax\)
+   9:  0f 01 10 [      ]*lgdt  \(%rax\)
+   c:  0f 01 08 [      ]*sidt  \(%rax\)
+   f:  0f 01 18 [      ]*sgdt  \(%rax\)
+  12:  0f 01 00 [      ]*lidt  \(%rax\)
+  15:  0f 01 10 [      ]*lgdt  \(%rax\)
+       ...
diff --git a/gas/testsuite/gas/i386/x86-64-gidt.s b/gas/testsuite/gas/i386/x86-64-gidt.s
new file mode 100644 (file)
index 0000000..dd20289
--- /dev/null
@@ -0,0 +1,14 @@
+# Instructions to load/store global/interrupt description table
+# register.
+
+       .text
+foo:
+       sidt (%rax)
+       lidt (%rax)
+       sgdt (%rax)
+       lgdt (%rax)
+       sidtq (%rax)
+       lidtq (%rax)
+       sgdtq (%rax)
+       lgdtq (%rax)
+       .p2align        4,0
index 6a21c58dba6f4caf2fb63594ef2474b4a9403d94..b3c5b6f16d4f388a00d09f674d852615742cd324 100644 (file)
@@ -1,3 +1,7 @@
+2006-05-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * i386-dis.c (grps): Update sgdt/sidt for 64bit.
+
 2006-05-05  Julian Brown  <julian@codesourcery.com>
 
        * arm-dis.c (coprocessor_opcodes): Don't interpret fldmx/fstmx as
index f73e883e779c475b6efc1ee0a073746fbb5587e7..4c8949f9a7a2e11f32d4e8a12117176cd1ca288a 100644 (file)
@@ -1400,8 +1400,8 @@ static const struct dis386 grps[][8] = {
   },
   /* GRP7 */
   {
-    { "sgdtIQ", VMX_Fixup, 0, XX, XX },
-    { "sidtIQ", PNI_Fixup, 0, XX, XX },
+    { "sgdt{Q|IQ||}", VMX_Fixup, 0, XX, XX },
+    { "sidt{Q|IQ||}", PNI_Fixup, 0, XX, XX },
     { "lgdt{Q|Q||}",    M, XX, XX },
     { "lidt{Q|Q||}",    SVME_Fixup, 0, XX, XX },
     { "smswQ", Ev, XX, XX },