diff options
-rw-r--r-- | gas/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-crx-suffix.d | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-drx-suffix.d | 21 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-drx.d | 20 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-drx.s | 18 | ||||
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 4 |
8 files changed, 78 insertions, 3 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 193a0184fbf..570fe147175 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,15 @@ 2006-02-11 H.J. Lu <hongjiu.lu@intel.com> + * gas/i386/i386.exp: Add "x86-64-drx" and "x86-64-drx-suffix". + + * gas/i386/x86-64-crx-suffix.d: Minor update. + + * gas/i386/x86-64-drx-suffix.d: New file. + * gas/i386/x86-64-drx.d: Likewise. + * gas/i386/x86-64-drx.s: Likewise. + +2006-02-11 H.J. Lu <hongjiu.lu@intel.com> + * gas/i386/i386.exp: Add "x86-64-crx" and "x86-64-crx-suffix". * gas/i386/x86-64-crx-suffix.d: New file. diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 91a5e9b0791..7bf459580be 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -134,6 +134,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-prescott" run_dump_test "x86-64-crx" run_dump_test "x86-64-crx-suffix" + run_dump_test "x86-64-drx" + run_dump_test "x86-64-drx-suffix" if { ![istarget "*-*-aix*"] && ![istarget "*-*-beos*"] diff --git a/gas/testsuite/gas/i386/x86-64-crx-suffix.d b/gas/testsuite/gas/i386/x86-64-crx-suffix.d index 1dc3584219e..bb462fe49d6 100644 --- a/gas/testsuite/gas/i386/x86-64-crx-suffix.d +++ b/gas/testsuite/gas/i386/x86-64-crx-suffix.d @@ -1,6 +1,5 @@ #objdump: -dwMsuffix #name: x86-64 control register related opcodes (with suffixes) -#source: x86-64-crx.s .*: +file format elf64-x86-64 diff --git a/gas/testsuite/gas/i386/x86-64-drx-suffix.d b/gas/testsuite/gas/i386/x86-64-drx-suffix.d new file mode 100644 index 00000000000..1f76b8b163b --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-drx-suffix.d @@ -0,0 +1,21 @@ +#objdump: -dwMsuffix +#name: x86-64 debug register related opcodes (with suffixes) +#source: x86-64-drx.s + +.*: +file format elf64-x86-64 + +Disassembly of section .text: + +0+ <_start>: +[ ]*[0-9a-f]+: 44 0f 21 c0[ ]+movq[ ]+?%db8,%rax +[ ]*[0-9a-f]+: 44 0f 21 c7[ ]+movq[ ]+?%db8,%rdi +[ ]*[0-9a-f]+: 44 0f 23 c0[ ]+movq[ ]+?%rax,%db8 +[ ]*[0-9a-f]+: 44 0f 23 c7[ ]+movq[ ]+?%rdi,%db8 +[ ]*[0-9a-f]+: 44 0f 21 c0[ ]+movq[ ]+?%db8,%rax +[ ]*[0-9a-f]+: 44 0f 21 c7[ ]+movq[ ]+?%db8,%rdi +[ ]*[0-9a-f]+: 44 0f 23 c0[ ]+movq[ ]+?%rax,%db8 +[ ]*[0-9a-f]+: 44 0f 23 c7[ ]+movq[ ]+?%rdi,%db8 +[ ]*[0-9a-f]+: 44 0f 21 c0[ ]+movq[ ]+?%db8,%rax +[ ]*[0-9a-f]+: 44 0f 21 c7[ ]+movq[ ]+?%db8,%rdi +[ ]*[0-9a-f]+: 44 0f 23 c0[ ]+movq[ ]+?%rax,%db8 +[ ]*[0-9a-f]+: 44 0f 23 c7[ ]+movq[ ]+?%rdi,%db8 diff --git a/gas/testsuite/gas/i386/x86-64-drx.d b/gas/testsuite/gas/i386/x86-64-drx.d new file mode 100644 index 00000000000..879ce50a5ef --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-drx.d @@ -0,0 +1,20 @@ +#objdump: -dw +#name: x86-64 debug register related opcodes + +.*: +file format elf64-x86-64 + +Disassembly of section .text: + +0+ <_start>: +[ ]*[0-9a-f]+: 44 0f 21 c0[ ]+movq?[ ]+?%db8,%rax +[ ]*[0-9a-f]+: 44 0f 21 c7[ ]+movq?[ ]+?%db8,%rdi +[ ]*[0-9a-f]+: 44 0f 23 c0[ ]+movq?[ ]+?%rax,%db8 +[ ]*[0-9a-f]+: 44 0f 23 c7[ ]+movq?[ ]+?%rdi,%db8 +[ ]*[0-9a-f]+: 44 0f 21 c0[ ]+movq?[ ]+?%db8,%rax +[ ]*[0-9a-f]+: 44 0f 21 c7[ ]+movq?[ ]+?%db8,%rdi +[ ]*[0-9a-f]+: 44 0f 23 c0[ ]+movq?[ ]+?%rax,%db8 +[ ]*[0-9a-f]+: 44 0f 23 c7[ ]+movq?[ ]+?%rdi,%db8 +[ ]*[0-9a-f]+: 44 0f 21 c0[ ]+movq?[ ]+?%db8,%rax +[ ]*[0-9a-f]+: 44 0f 21 c7[ ]+movq?[ ]+?%db8,%rdi +[ ]*[0-9a-f]+: 44 0f 23 c0[ ]+movq?[ ]+?%rax,%db8 +[ ]*[0-9a-f]+: 44 0f 23 c7[ ]+movq?[ ]+?%rdi,%db8 diff --git a/gas/testsuite/gas/i386/x86-64-drx.s b/gas/testsuite/gas/i386/x86-64-drx.s new file mode 100644 index 00000000000..16801d18931 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-drx.s @@ -0,0 +1,18 @@ +.text +_start: + movq %dr8, %rax + movq %dr8, %rdi + movq %rax, %dr8 + movq %rdi, %dr8 + +.att_syntax noprefix + movq dr8, rax + movq dr8, rdi + movq rax, dr8 + movq rdi, dr8 + +.intel_syntax noprefix + mov rax, dr8 + mov rdi, dr8 + mov dr8, rax + mov dr8, rdi diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 629ab5e9bf7..f36656c9840 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,10 @@ 2006-02-11 H.J. Lu <hongjiu.lu@intel.com> + * i386-dis.c (dis386_twobyte): Use "movZ" for debug register + moves. + +2006-02-11 H.J. Lu <hongjiu.lu@intel.com> + * i386-dis.c ('Z'): Add a new macro. (dis386_twobyte): Use "movZ" for control register moves. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 65cb43ce651..4fb487d5a49 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -832,9 +832,9 @@ static const struct dis386 dis386_twobyte[] = { { "(bad)", XX, XX, XX }, /* 20 */ { "movZ", Rm, Cm, XX }, - { "movL", Rm, Dm, XX }, + { "movZ", Rm, Dm, XX }, { "movZ", Cm, Rm, XX }, - { "movL", Dm, Rm, XX }, + { "movZ", Dm, Rm, XX }, { "movL", Rd, Td, XX }, { "(bad)", XX, XX, XX }, { "movL", Td, Rd, XX }, |