diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 1 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/rex.d | 24 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/rex.s | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-io-intel.d | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-io-suffix.d | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-io.d | 20 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-opcode.d | 2 |
9 files changed, 83 insertions, 33 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 3d1f337..030c145 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2003-03-23 H.J. Lu <hongjiu.lu@intel.com> + + * config/tc-i386.c (md_begin): Allow '.' in mnemonic. + 2007-03-23 Mark Shinwell <shinwell@codesourcery.com> * config/tc-arm.c (md_apply_fix): Turn CBZ instructions that diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index eba6400..f0b65b2 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1294,6 +1294,7 @@ md_begin () #endif digit_chars['-'] = '-'; mnemonic_chars['-'] = '-'; + mnemonic_chars['.'] = '.'; identifier_chars['_'] = '_'; identifier_chars['.'] = '.'; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 48425b1..b410871 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2003-03-23 H.J. Lu <hongjiu.lu@intel.com> + + * gas/i386/rex.s: Add tests for rex.WRXB. + * gas/i386/rex.d: Updated. + + * gas/i386/rex.d: Replace rex64XYZ with rex.WRXB. + * gas/i386/x86-64-io-intel.d : Likewise. + * gas/i386/x86-64-io-suffix.d: Likewise. + * gas/i386/x86-64-io.d: Likewise. + * gas/i386/x86-64-opcode.d: Likewise. + 2003-03-21 H.J. Lu <hongjiu.lu@intel.com> PR binutils/4218 diff --git a/gas/testsuite/gas/i386/rex.d b/gas/testsuite/gas/i386/rex.d index 285e1dc..9023b49 100644 --- a/gas/testsuite/gas/i386/rex.d +++ b/gas/testsuite/gas/i386/rex.d @@ -7,11 +7,27 @@ Disassembly of section .text: 0+ <_start>: [ ]*[0-9a-f]+:[ ]+40 0f ae 00[ ]+rex fxsavel?[ ]+\(%rax\) -[ ]*[0-9a-f]+:[ ]+48 0f ae 00[ ]+(rex64 )?fxsaveq?[ ]+\(%rax\) +[ ]*[0-9a-f]+:[ ]+48 0f ae 00[ ]+(rex.W )?fxsaveq?[ ]+\(%rax\) [ ]*[0-9a-f]+:[ ]+41 0f ae 00[ ]+fxsavel?[ ]+\(%r8\) -[ ]*[0-9a-f]+:[ ]+49 0f ae 00[ ]+(rex64Z? )?fxsaveq?[ ]+\(%r8\) +[ ]*[0-9a-f]+:[ ]+49 0f ae 00[ ]+(rex.WB? )?fxsaveq?[ ]+\(%r8\) [ ]*[0-9a-f]+:[ ]+42 0f ae 04 05 00 00 00 00[ ]+fxsavel?[ ]+(0x0)?\(,%r8(,1)?\) -[ ]*[0-9a-f]+:[ ]+4a 0f ae 04 05 00 00 00 00[ ]+(rex64Y? )?fxsaveq?[ ]+(0x0)?\(,%r8(,1)?\) +[ ]*[0-9a-f]+:[ ]+4a 0f ae 04 05 00 00 00 00[ ]+(rex.WX? )?fxsaveq?[ ]+(0x0)?\(,%r8(,1)?\) [ ]*[0-9a-f]+:[ ]+43 0f ae 04 00[ ]+fxsavel?[ ]+\(%r8,%r8(,1)?\) -[ ]*[0-9a-f]+:[ ]+4b 0f ae 04 00[ ]+(rex64(YZ)? )?fxsaveq?[ ]+\(%r8,%r8(,1)?\) +[ ]*[0-9a-f]+:[ ]+4b 0f ae 04 00[ ]+(rex.W(XB)? )?fxsaveq?[ ]+\(%r8,%r8(,1)?\) +[ ]*[0-9a-f]+:[ ]+40[ ]+rex +[ ]*[0-9a-f]+:[ ]+41[ ]+rex.B +[ ]*[0-9a-f]+:[ ]+42[ ]+rex.X +[ ]*[0-9a-f]+:[ ]+43[ ]+rex.XB +[ ]*[0-9a-f]+:[ ]+44[ ]+rex.R +[ ]*[0-9a-f]+:[ ]+45[ ]+rex.RB +[ ]*[0-9a-f]+:[ ]+46[ ]+rex.RX +[ ]*[0-9a-f]+:[ ]+47[ ]+rex.RXB +[ ]*[0-9a-f]+:[ ]+48[ ]+rex.W +[ ]*[0-9a-f]+:[ ]+49[ ]+rex.WB +[ ]*[0-9a-f]+:[ ]+4a[ ]+rex.WX +[ ]*[0-9a-f]+:[ ]+4b[ ]+rex.WXB +[ ]*[0-9a-f]+:[ ]+4c[ ]+rex.WR +[ ]*[0-9a-f]+:[ ]+4d[ ]+rex.WRB +[ ]*[0-9a-f]+:[ ]+4e[ ]+rex.WRX +[ ]*[0-9a-f]+:[ ]+4f[ ]+rex.WRXB #pass diff --git a/gas/testsuite/gas/i386/rex.s b/gas/testsuite/gas/i386/rex.s index a142312..6f1e38a 100644 --- a/gas/testsuite/gas/i386/rex.s +++ b/gas/testsuite/gas/i386/rex.s @@ -9,3 +9,21 @@ _start: rex64/fxsave (,%r8) rex/fxsave (%r8,%r8) rex64/fxsave (%r8,%r8) + +# Test prefixes family. + rex + rex.B + rex.X + rex.XB + rex.R + rex.RB + rex.RX + rex.RXB + rex.W + rex.WB + rex.WX + rex.WXB + rex.WR + rex.WRB + rex.WRX + rex.WRXB diff --git a/gas/testsuite/gas/i386/x86-64-io-intel.d b/gas/testsuite/gas/i386/x86-64-io-intel.d index a8787a0..c6df6e6 100644 --- a/gas/testsuite/gas/i386/x86-64-io-intel.d +++ b/gas/testsuite/gas/i386/x86-64-io-intel.d @@ -1,28 +1,28 @@ #source: x86-64-io.s #objdump: -dwMintel -#name: x86-64 rex64 in/out (Intel disassembly) +#name: x86-64 rex.W in/out (Intel disassembly) .*: +file format .* Disassembly of section .text: 0+000 <_in>: - 0: 48 ed rex64 in eax,dx + 0: 48 ed rex.W in eax,dx 2: 66 data16 - 3: 48 ed rex64 in eax,dx + 3: 48 ed rex.W in eax,dx 0+005 <_out>: - 5: 48 ef rex64 out dx,eax + 5: 48 ef rex.W out dx,eax 7: 66 data16 - 8: 48 ef rex64 out dx,eax + 8: 48 ef rex.W out dx,eax 0+00a <_ins>: - a: 48 6d rex64 ins DWORD PTR es:\[rdi\],dx + a: 48 6d rex.W ins DWORD PTR es:\[rdi\],dx c: 66 data16 - d: 48 6d rex64 ins DWORD PTR es:\[rdi\],dx + d: 48 6d rex.W ins DWORD PTR es:\[rdi\],dx 0+00f <_outs>: - f: 48 6f rex64 outs dx,DWORD PTR ds:\[rsi\] + f: 48 6f rex.W outs dx,DWORD PTR ds:\[rsi\] 11: 66 data16 - 12: 48 6f rex64 outs dx,DWORD PTR ds:\[rsi\] + 12: 48 6f rex.W outs dx,DWORD PTR ds:\[rsi\] #pass diff --git a/gas/testsuite/gas/i386/x86-64-io-suffix.d b/gas/testsuite/gas/i386/x86-64-io-suffix.d index f83b162..a0ee9d0 100644 --- a/gas/testsuite/gas/i386/x86-64-io-suffix.d +++ b/gas/testsuite/gas/i386/x86-64-io-suffix.d @@ -1,28 +1,28 @@ #source: x86-64-io.s #objdump: -dwMsuffix -#name: x86-64 rex64 in/out w/ suffix +#name: x86-64 rex.W in/out w/ suffix .*: +file format .* Disassembly of section .text: 0+000 <_in>: - 0: 48 ed rex64 inl \(%dx\),%eax + 0: 48 ed rex.W inl \(%dx\),%eax 2: 66 data16 - 3: 48 ed rex64 inl \(%dx\),%eax + 3: 48 ed rex.W inl \(%dx\),%eax 0+005 <_out>: - 5: 48 ef rex64 outl %eax,\(%dx\) + 5: 48 ef rex.W outl %eax,\(%dx\) 7: 66 data16 - 8: 48 ef rex64 outl %eax,\(%dx\) + 8: 48 ef rex.W outl %eax,\(%dx\) 0+00a <_ins>: - a: 48 6d rex64 insl \(%dx\),%es:\(%rdi\) + a: 48 6d rex.W insl \(%dx\),%es:\(%rdi\) c: 66 data16 - d: 48 6d rex64 insl \(%dx\),%es:\(%rdi\) + d: 48 6d rex.W insl \(%dx\),%es:\(%rdi\) 0+00f <_outs>: - f: 48 6f rex64 outsl %ds:\(%rsi\),\(%dx\) + f: 48 6f rex.W outsl %ds:\(%rsi\),\(%dx\) 11: 66 data16 - 12: 48 6f rex64 outsl %ds:\(%rsi\),\(%dx\) + 12: 48 6f rex.W outsl %ds:\(%rsi\),\(%dx\) #pass diff --git a/gas/testsuite/gas/i386/x86-64-io.d b/gas/testsuite/gas/i386/x86-64-io.d index 7158b75..3e3b7e7 100644 --- a/gas/testsuite/gas/i386/x86-64-io.d +++ b/gas/testsuite/gas/i386/x86-64-io.d @@ -1,27 +1,27 @@ #objdump: -dw -#name: x86-64 rex64 in/out +#name: x86-64 rex.W in/out .*: +file format .* Disassembly of section .text: 0+000 <_in>: - 0: 48 ed rex64 in \(%dx\),%eax + 0: 48 ed rex.W in \(%dx\),%eax 2: 66 data16 - 3: 48 ed rex64 in \(%dx\),%eax + 3: 48 ed rex.W in \(%dx\),%eax 0+005 <_out>: - 5: 48 ef rex64 out %eax,\(%dx\) + 5: 48 ef rex.W out %eax,\(%dx\) 7: 66 data16 - 8: 48 ef rex64 out %eax,\(%dx\) + 8: 48 ef rex.W out %eax,\(%dx\) 0+00a <_ins>: - a: 48 6d rex64 insl \(%dx\),%es:\(%rdi\) + a: 48 6d rex.W insl \(%dx\),%es:\(%rdi\) c: 66 data16 - d: 48 6d rex64 insl \(%dx\),%es:\(%rdi\) + d: 48 6d rex.W insl \(%dx\),%es:\(%rdi\) 0+00f <_outs>: - f: 48 6f rex64 outsl %ds:\(%rsi\),\(%dx\) + f: 48 6f rex.W outsl %ds:\(%rsi\),\(%dx\) 11: 66 data16 - 12: 48 6f rex64 outsl %ds:\(%rsi\),\(%dx\) -#pass
\ No newline at end of file + 12: 48 6f rex.W outsl %ds:\(%rsi\),\(%dx\) +#pass diff --git a/gas/testsuite/gas/i386/x86-64-opcode.d b/gas/testsuite/gas/i386/x86-64-opcode.d index 126b363..912075e 100644 --- a/gas/testsuite/gas/i386/x86-64-opcode.d +++ b/gas/testsuite/gas/i386/x86-64-opcode.d @@ -272,7 +272,7 @@ Disassembly of section .text: [ ]*[0-9a-f]+:[ ]+66 90[ ]+xchg[ ]+%ax,%ax[ ]*(#.*)* [ ]*[0-9a-f]+:[ ]+87 c0[ ]+xchg[ ]+%eax,%eax[ ]*(#.*)* [ ]*[0-9a-f]+:[ ]+90[ ]+nop[ ]*(#.*)* -[ ]*[0-9a-f]+:[ ]+48 90[ ]+rex64 nop[ ]*(#.*)* +[ ]*[0-9a-f]+:[ ]+48 90[ ]+rex.W nop[ ]*(#.*)* [ ]*[0-9a-f]+:[ ]+49 90[ ]+xchg[ ]+%rax,%r8[ ]*(#.*)* [ ]*[0-9a-f]+:[ ]+41 90[ ]+xchg[ ]+%eax,%r8d[ ]*(#.*)* [ ]*[0-9a-f]+:[ ]+41 90[ ]+xchg[ ]+%eax,%r8d[ ]*(#.*)* |