diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2010-08-31 21:56:57 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2010-08-31 21:56:57 +0000 |
commit | d9e3625e3784394e084ea08b52ee13178b00bd09 (patch) | |
tree | 8ceb8714d00ac0deac3bcf187fc92390e416916b /gas | |
parent | 710e1a31c41cfebe0c425d54efa309bb7054cbc2 (diff) | |
download | fsf-binutils-gdb-d9e3625e3784394e084ea08b52ee13178b00bd09.zip fsf-binutils-gdb-d9e3625e3784394e084ea08b52ee13178b00bd09.tar.gz fsf-binutils-gdb-d9e3625e3784394e084ea08b52ee13178b00bd09.tar.bz2 |
Fix "pushw imm16" for x86-64 disassembler.
gas/testsuite/
2010-08-31 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/11960
* gas/i386/opcode-intel.d: Updated.
* gas/i386/x86-64-opcode.d: Likewise.
* gas/i386/x86-64-opcode.s: Add a "pushw imm16" test.
opcodes/
2010-08-31 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/11960
* i386-dis.c (sIv): New.
(dis386): Replace Iq with sIv on "pushT".
(reg_table): Replace T with {T|} on callT, JcallT, jmpT and JjmpT.
(x86_64_table): Replace {T|}/{P|} with P.
(putop): Add 'w' to 'T'/'P' if needed for Intel syntax.
(OP_sI): Update v_mode. Remove w_mode.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/opcode-intel.d | 73 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-opcode.d | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-opcode.s | 2 |
4 files changed, 35 insertions, 50 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 4c5e015..335da7d 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2010-08-31 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/11960 + * gas/i386/opcode-intel.d: Updated. + * gas/i386/x86-64-opcode.d: Likewise. + + * gas/i386/x86-64-opcode.s: Add a "pushw imm16" test. + 2010-08-25 Jie Zhang <jie@codesourcery.com> * gas/arm/ldst-pc.d: New test. diff --git a/gas/testsuite/gas/i386/opcode-intel.d b/gas/testsuite/gas/i386/opcode-intel.d index 9c866d8..28a07b7 100644 --- a/gas/testsuite/gas/i386/opcode-intel.d +++ b/gas/testsuite/gas/i386/opcode-intel.d @@ -406,29 +406,22 @@ Disassembly of section .text: *[0-9a-f]+: 66 01 90 90 90 90 90[ ]+add[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx *[0-9a-f]+: 66 03 90 90 90 90 90[ ]+add[ ]+dx,(WORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 66 05 90 90[ ]+add[ ]+ax,0x9090 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 06[ ]+push[ ]+es - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 07[ ]+pop[ ]+es + *[0-9a-f]+: 66 06[ ]+pushw[ ]+es + *[0-9a-f]+: 66 07[ ]+popw[ ]+es *[0-9a-f]+: 66 09 90 90 90 90 90[ ]+or[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx *[0-9a-f]+: 66 0b 90 90 90 90 90[ ]+or[ ]+dx,(WORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 66 0d 90 90[ ]+or[ ]+ax,0x9090 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 0e[ ]+push[ ]+cs + *[0-9a-f]+: 66 0e[ ]+pushw[ ]+cs *[0-9a-f]+: 66 11 90 90 90 90 90[ ]+adc[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx *[0-9a-f]+: 66 13 90 90 90 90 90[ ]+adc[ ]+dx,(WORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 66 15 90 90[ ]+adc[ ]+ax,0x9090 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 16[ ]+push[ ]+ss - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 17[ ]+pop[ ]+ss + *[0-9a-f]+: 66 16[ ]+pushw[ ]+ss + *[0-9a-f]+: 66 17[ ]+popw[ ]+ss *[0-9a-f]+: 66 19 90 90 90 90 90[ ]+sbb[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx *[0-9a-f]+: 66 1b 90 90 90 90 90[ ]+sbb[ ]+dx,(WORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 66 1d 90 90[ ]+sbb[ ]+ax,0x9090 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 1e[ ]+push[ ]+ds - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 1f[ ]+pop[ ]+ds + *[0-9a-f]+: 66 1e[ ]+pushw[ ]+ds + *[0-9a-f]+: 66 1f[ ]+popw[ ]+ds *[0-9a-f]+: 66 21 90 90 90 90 90[ ]+and[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx *[0-9a-f]+: 66 23 90 90 90 90 90[ ]+and[ ]+dx,(WORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 66 25 90 90[ ]+and[ ]+ax,0x9090 @@ -473,15 +466,12 @@ Disassembly of section .text: *[0-9a-f]+: 66 5d[ ]+pop[ ]+bp *[0-9a-f]+: 66 5e[ ]+pop[ ]+si *[0-9a-f]+: 66 5f[ ]+pop[ ]+di - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 60[ ]+pusha[ ]* - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 61[ ]+popa[ ]* + *[0-9a-f]+: 66 60[ ]+pushaw[ ]* + *[0-9a-f]+: 66 61[ ]+popaw[ ]* *[0-9a-f]+: 66 62 90 90 90 90 90[ ]+bound[ ]+dx,(DWORD PTR )?\[eax-0x6f6f6f70\] - *[0-9a-f]+: 66 68 90 90[ ]+push[ ]+0x9090 + *[0-9a-f]+: 66 68 90 90[ ]+pushw[ ]+0x9090 *[0-9a-f]+: 66 69 90 90 90 90 90 90 90[ ]+imul[ ]+dx,(WORD PTR )?\[eax-0x6f6f6f70\],0x9090 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 6a 90[ ]+push[ ]+0xffffff90 + *[0-9a-f]+: 66 6a 90[ ]+pushw[ ]+0xffffff90 *[0-9a-f]+: 66 6b 90 90 90 90 90 90[ ]+imul[ ]+dx,(WORD PTR )?\[eax-0x6f6f6f70\],0xffffff90 *[0-9a-f]+: 66 6d[ ]+ins[ ]+WORD PTR es:\[edi\],dx *[0-9a-f]+: 66 6f[ ]+outs[ ]+dx,WORD PTR ds:\[esi\] @@ -504,10 +494,8 @@ Disassembly of section .text: *[0-9a-f]+: 66 98[ ]+cbw[ ]* *[0-9a-f]+: 66 99[ ]+cwd[ ]* *[0-9a-f]+: 66 9a 90 90 90 90[ ]+call[ ]+0x9090:0x9090 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 9c[ ]+pushf[ ]* - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 9d[ ]+popf[ ]* + *[0-9a-f]+: 66 9c[ ]+pushfw[ ]* + *[0-9a-f]+: 66 9d[ ]+popfw[ ]* *[0-9a-f]+: 66 a1 90 90 90 90[ ]+mov[ ]+ax,ds:0x90909090 *[0-9a-f]+: 66 a3 90 90 90 90[ ]+mov[ ]+ds:0x90909090,ax *[0-9a-f]+: 66 a5[ ]+movs[ ]+WORD PTR es:\[edi\],(WORD PTR )?ds:\[esi\] @@ -525,28 +513,21 @@ Disassembly of section .text: *[0-9a-f]+: 66 be 90 90[ ]+mov[ ]+si,0x9090 *[0-9a-f]+: 66 bf 90 90[ ]+mov[ ]+di,0x9090 *[0-9a-f]+: 66 c1 90 90 90 90 90 90[ ]+rcl[ ]+WORD PTR \[eax-0x6f6f6f70\],0x90 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: c2 90 90[ ]+ret[ ]+0x9090 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: c3[ ]+ret[ ]* + *[0-9a-f]+: 66 c2 90 90[ ]+retw[ ]+0x9090 + *[0-9a-f]+: 66 c3[ ]+retw[ ]* *[0-9a-f]+: 66 c4 90 90 90 90 90[ ]+les[ ]+dx,(DWORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 66 c5 90 90 90 90 90[ ]+lds[ ]+dx,(DWORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 66 c7 80 90 90 90 90 90 90[ ]+mov[ ]+WORD PTR \[eax-0x6f6f6f70\],0x9090 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: c8 90 90 90[ ]+enter[ ]+0x9090,0x90 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: c9[ ]+leave[ ]* - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: ca 90 90[ ]+retf[ ]+0x9090 - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: cb[ ]+retf[ ]* - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: cf[ ]+iret[ ]* + *[0-9a-f]+: 66 c8 90 90 90[ ]+enterw[ ]+0x9090,0x90 + *[0-9a-f]+: 66 c9[ ]+leavew[ ]* + *[0-9a-f]+: 66 ca 90 90[ ]+retfw[ ]+0x9090 + *[0-9a-f]+: 66 cb[ ]+retfw[ ]* + *[0-9a-f]+: 66 cf[ ]+iretw[ ]* *[0-9a-f]+: 66 d1 90 90 90 90 90[ ]+rcl[ ]+WORD PTR \[eax-0x6f6f6f70\],1 *[0-9a-f]+: 66 d3 90 90 90 90 90[ ]+rcl[ ]+WORD PTR \[eax-0x6f6f6f70\],cl *[0-9a-f]+: 66 e5 90[ ]+in[ ]+ax,0x90 *[0-9a-f]+: 66 e7 90[ ]+out[ ]+0x90,ax - *[0-9a-f]+: 66 e8 8f 90[ ]+call[ ]+(0x)?9918.* + *[0-9a-f]+: 66 e8 8f 90[ ]+callw[ ]+(0x)?9918.* *[0-9a-f]+: 66 ea 90 90 90 90[ ]+jmp[ ]+0x9090:0x9090 *[0-9a-f]+: 66 ed[ ]+in[ ]+ax,dx *[0-9a-f]+: 66 ef[ ]+out[ ]+dx,ax @@ -570,17 +551,13 @@ Disassembly of section .text: *[0-9a-f]+: 66 0f 4d 90 90 90 90 90[ ]+cmovge[ ]+dx,(WORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 66 0f 4e 90 90 90 90 90[ ]+cmovle[ ]+dx,(WORD PTR )?\[eax-0x6f6f6f70\] *[0-9a-f]+: 66 0f 4f 90 90 90 90 90[ ]+cmovg[ ]+dx,(WORD PTR )?\[eax-0x6f6f6f70\] - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 0f a0[ ]+push[ ]+fs - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 0f a1[ ]+pop[ ]+fs + *[0-9a-f]+: 66 0f a0[ ]+pushw[ ]+fs + *[0-9a-f]+: 66 0f a1[ ]+popw[ ]+fs *[0-9a-f]+: 66 0f a3 90 90 90 90 90[ ]+bt[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx *[0-9a-f]+: 66 0f a4 90 90 90 90 90 90[ ]+shld[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx,0x90 *[0-9a-f]+: 66 0f a5 90 90 90 90 90[ ]+shld[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx,cl - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 0f a8[ ]+push[ ]+gs - *[0-9a-f]+: 66[ ]+data16 - *[0-9a-f]+: 0f a9[ ]+pop[ ]+gs + *[0-9a-f]+: 66 0f a8[ ]+pushw[ ]+gs + *[0-9a-f]+: 66 0f a9[ ]+popw[ ]+gs *[0-9a-f]+: 66 0f ab 90 90 90 90 90[ ]+bts[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx *[0-9a-f]+: 66 0f ac 90 90 90 90 90 90[ ]+shrd[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx,0x90 *[0-9a-f]+: 66 0f ad 90 90 90 90 90[ ]+shrd[ ]+(WORD PTR )?\[eax-0x6f6f6f70\],dx,cl diff --git a/gas/testsuite/gas/i386/x86-64-opcode.d b/gas/testsuite/gas/i386/x86-64-opcode.d index d16c185..7c6dd03 100644 --- a/gas/testsuite/gas/i386/x86-64-opcode.d +++ b/gas/testsuite/gas/i386/x86-64-opcode.d @@ -295,5 +295,5 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 0f 05 syscall [ ]*[a-f0-9]+: 0f 07 sysret [ ]*[a-f0-9]+: 0f 01 f8 swapgs - ... +[ ]*[a-f0-9]+: 66 68 22 22 pushw \$0x2222 #pass diff --git a/gas/testsuite/gas/i386/x86-64-opcode.s b/gas/testsuite/gas/i386/x86-64-opcode.s index e9ee87a..cb9bbc1 100644 --- a/gas/testsuite/gas/i386/x86-64-opcode.s +++ b/gas/testsuite/gas/i386/x86-64-opcode.s @@ -423,4 +423,4 @@ swapgs # -- -- -- -- 0F 01 f8 - .p2align 4,0 + pushw $0x2222 |