From cb6d34334f9cbe5f741960c102e2beb8931d5394 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 9 May 2006 16:05:40 +0000 Subject: [PATCH] gas/testsuite/ 2006-05-09 H.J. Lu * 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 * i386-dis.c (grps): Update sgdt/sidt for 64bit. --- gas/testsuite/ChangeLog | 7 +++++++ gas/testsuite/gas/i386/i386.exp | 1 + gas/testsuite/gas/i386/x86-64-gidt.d | 17 +++++++++++++++++ gas/testsuite/gas/i386/x86-64-gidt.s | 14 ++++++++++++++ opcodes/ChangeLog | 4 ++++ opcodes/i386-dis.c | 4 ++-- 6 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 gas/testsuite/gas/i386/x86-64-gidt.d create mode 100644 gas/testsuite/gas/i386/x86-64-gidt.s 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 + + * 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 * 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 : + 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 + + * i386-dis.c (grps): Update sgdt/sidt for 64bit. + 2006-05-05 Julian Brown * 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 }, -- 2.7.4