diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2005-06-20 23:18:39 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2005-06-20 23:18:39 +0000 |
commit | b300c311a0740cbe64b5781b34d2f3a9c778273f (patch) | |
tree | baa95ec6806b2a612df96a2de97ba3770f312e40 /gas/testsuite | |
parent | 973a3492d553c8b18c8a3257b4874253c0efa68a (diff) | |
download | gdb-b300c311a0740cbe64b5781b34d2f3a9c778273f.zip gdb-b300c311a0740cbe64b5781b34d2f3a9c778273f.tar.gz gdb-b300c311a0740cbe64b5781b34d2f3a9c778273f.tar.bz2 |
gas/
2005-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR 1013
* config/tc-i386.c (md_assemble): Don't call optimize_disp on
movabs.
(optimize_disp): Optimize only if possible. Don't use 64bit
displacement on non-constants and do same on constants if
possible.
gas/testsuite/
2005-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR 1013
* i386/x86_64.s: Add absolute 64bit addressing tests for mov.
* i386/x86_64.s: Updated.
include/opcode/
2005-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR 1013
* i386.h (i386_optab): Update comments for 64bit addressing on
mov. Allow 64bit addressing for mov and movq.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86_64.d | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86_64.s | 20 |
3 files changed, 44 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 1dd1ccf..3340bfb 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2005-06-20 H.J. Lu <hongjiu.lu@intel.com> + + PR 1013 + * i386/x86_64.s: Add absolute 64bit addressing tests for mov. + * i386/x86_64.s: Updated. + 2005-06-17 Jan Beulich <jbeulich@novell.com> * gas/i386/x86-64-pcrel.s: Add insn requiring 64-bit pc-relative diff --git a/gas/testsuite/gas/i386/x86_64.d b/gas/testsuite/gas/i386/x86_64.d index 7cea081..43b9132 100644 --- a/gas/testsuite/gas/i386/x86_64.d +++ b/gas/testsuite/gas/i386/x86_64.d @@ -122,4 +122,22 @@ Disassembly of section .text: 1f0: 8b 04 25 00 00 00 00 mov[ ]+0x0,%eax 1f7: 8b 80 00 00 00 00[ ]+mov[ ]+0x0\(%rax\),%eax 1fd: 8b 05 00 00 00 00[ ]+mov[ ]+0\(%rip\),%eax.* + +0+203 <foo>: + 203: a0 11 22 33 44 55 66 77 88 mov[ ]+0x8877665544332211,%al + 20c: 66 a1 11 22 33 44 55 66 77 88 mov[ ]+0x8877665544332211,%ax + 216: a1 11 22 33 44 55 66 77 88 mov[ ]+0x8877665544332211,%eax + 21f: 48 a1 11 22 33 44 55 66 77 88 mov[ ]+0x8877665544332211,%rax + 229: a2 11 22 33 44 55 66 77 88 mov[ ]+%al,0x8877665544332211 + 232: 66 a3 11 22 33 44 55 66 77 88 mov[ ]+%ax,0x8877665544332211 + 23c: a3 11 22 33 44 55 66 77 88 mov[ ]+%eax,0x8877665544332211 + 245: 48 a3 11 22 33 44 55 66 77 88 mov[ ]+%rax,0x8877665544332211 + 24f: a0 11 22 33 44 55 66 77 88 mov[ ]+0x8877665544332211,%al + 258: 66 a1 11 22 33 44 55 66 77 88 mov[ ]+0x8877665544332211,%ax + 262: a1 11 22 33 44 55 66 77 88 mov[ ]+0x8877665544332211,%eax + 26b: 48 a1 11 22 33 44 55 66 77 88 mov[ ]+0x8877665544332211,%rax + 275: a2 11 22 33 44 55 66 77 88 mov[ ]+%al,0x8877665544332211 + 27e: 66 a3 11 22 33 44 55 66 77 88 mov[ ]+%ax,0x8877665544332211 + 288: a3 11 22 33 44 55 66 77 88 mov[ ]+%eax,0x8877665544332211 + 291: 48 a3 11 22 33 44 55 66 77 88 mov[ ]+%rax,0x8877665544332211 #pass diff --git a/gas/testsuite/gas/i386/x86_64.s b/gas/testsuite/gas/i386/x86_64.s index 4e94a50..812007f 100644 --- a/gas/testsuite/gas/i386/x86_64.s +++ b/gas/testsuite/gas/i386/x86_64.s @@ -150,5 +150,25 @@ mov eax, [rax+symbol] #RIP relative mov eax, [rip+symbol] +foo: +.att_syntax +#absolute 64bit addressing +mov 0x8877665544332211,%al +mov 0x8877665544332211,%ax +mov 0x8877665544332211,%eax +mov 0x8877665544332211,%rax +mov %al,0x8877665544332211 +mov %ax,0x8877665544332211 +mov %eax,0x8877665544332211 +mov %rax,0x8877665544332211 +movb 0x8877665544332211,%al +movw 0x8877665544332211,%ax +movl 0x8877665544332211,%eax +movq 0x8877665544332211,%rax +movb %al,0x8877665544332211 +movw %ax,0x8877665544332211 +movl %eax,0x8877665544332211 +movq %rax,0x8877665544332211 + # Get a good alignment. .p2align 4,0 |