aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/testsuite/ChangeLog7
-rw-r--r--gas/testsuite/gas/i386/i386.exp1
-rw-r--r--gas/testsuite/gas/i386/x86-64-gidt.d17
-rw-r--r--gas/testsuite/gas/i386/x86-64-gidt.s14
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/i386-dis.c4
6 files changed, 45 insertions, 2 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 62e1ee2..870980a 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -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
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index 337ce51..fd5ea37 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -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
index 0000000..75d662d
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-gidt.d
@@ -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
index 0000000..dd20289
--- /dev/null
+++ b/gas/testsuite/gas/i386/x86-64-gidt.s
@@ -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
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 6a21c58..b3c5b6f 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -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
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index f73e883..4c8949f 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -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 },