gas/testsuite/
authorRoland McGrath <roland@gnu.org>
Fri, 3 Aug 2012 21:45:16 +0000 (21:45 +0000)
committerRoland McGrath <roland@gnu.org>
Fri, 3 Aug 2012 21:45:16 +0000 (21:45 +0000)
* gas/i386/x86-64-stack.s (try): Also try just rex.W (0x48) prefix.
* gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d: Updated.
* gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d: Updated.
* gas/testsuite/gas/i386/ilp32/x86-64-stack.d: Updated.
* gas/testsuite/gas/i386/x86-64-stack-intel.d: Updated.
* gas/testsuite/gas/i386/x86-64-stack-suffix.d: Updated.
* gas/testsuite/gas/i386/x86-64-stack.d: Updated.

gas/testsuite/ChangeLog
gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d
gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d
gas/testsuite/gas/i386/ilp32/x86-64-stack.d
gas/testsuite/gas/i386/x86-64-stack-intel.d
gas/testsuite/gas/i386/x86-64-stack-suffix.d
gas/testsuite/gas/i386/x86-64-stack.d
gas/testsuite/gas/i386/x86-64-stack.s

index b9635ac00f86395ad0010bca22661812d59748f6..61ef22a771d7ba0b2b9df560487a696216aa2e1f 100644 (file)
@@ -1,3 +1,13 @@
+2012-08-03  Roland McGrath  <mcgrathr@google.com>
+
+       * gas/i386/x86-64-stack.s (try): Also try just rex.W (0x48) prefix.
+       * gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d: Updated.
+       * gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d: Updated.
+       * gas/testsuite/gas/i386/ilp32/x86-64-stack.d: Updated.
+       * gas/testsuite/gas/i386/x86-64-stack-intel.d: Updated.
+       * gas/testsuite/gas/i386/x86-64-stack-suffix.d: Updated.
+       * gas/testsuite/gas/i386/x86-64-stack.d: Updated.
+
 2012-08-02  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR binutils/14420
index 59b4ced34c39103aeb7e597445b6b490b636c75c..7092a42a251b97ce77a08ca021784bb6191de94f 100644 (file)
@@ -9,32 +9,42 @@ Disassembly of section .text:
 0+ <_start>:
 [      ]*[a-f0-9]+:    50                      push   rax
 [      ]*[a-f0-9]+:    66 50                   push   ax
+[      ]*[a-f0-9]+:    48 50                   rex.W push rax
 [      ]*[a-f0-9]+:    66 48 50                data32 push rax
 [      ]*[a-f0-9]+:    58                      pop    rax
 [      ]*[a-f0-9]+:    66 58                   pop    ax
+[      ]*[a-f0-9]+:    48 58                   rex.W pop rax
 [      ]*[a-f0-9]+:    66 48 58                data32 pop rax
 [      ]*[a-f0-9]+:    8f c0                   pop    rax
 [      ]*[a-f0-9]+:    66 8f c0                pop    ax
+[      ]*[a-f0-9]+:    48 8f c0                rex.W pop rax
 [      ]*[a-f0-9]+:    66 48 8f c0             data32 pop rax
 [      ]*[a-f0-9]+:    8f 00                   pop    QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 8f 00                pop    WORD PTR \[rax\]
+[      ]*[a-f0-9]+:    48 8f 00                rex.W pop QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 48 8f 00             data32 pop QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    ff d0                   call   rax
 [      ]*[a-f0-9]+:    66 ff d0                call   ax
+[      ]*[a-f0-9]+:    48 ff d0                rex.W call rax
 [      ]*[a-f0-9]+:    66 48 ff d0             data32 call rax
 [      ]*[a-f0-9]+:    ff 10                   call   QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 ff 10                call   WORD PTR \[rax\]
+[      ]*[a-f0-9]+:    48 ff 10                rex.W call QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 48 ff 10             data32 call QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    ff e0                   jmp    rax
 [      ]*[a-f0-9]+:    66 ff e0                jmp    ax
+[      ]*[a-f0-9]+:    48 ff e0                rex.W jmp rax
 [      ]*[a-f0-9]+:    66 48 ff e0             data32 jmp rax
 [      ]*[a-f0-9]+:    ff 20                   jmp    QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 ff 20                jmp    WORD PTR \[rax\]
+[      ]*[a-f0-9]+:    48 ff 20                rex.W jmp QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 48 ff 20             data32 jmp QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    ff f0                   push   rax
 [      ]*[a-f0-9]+:    66 ff f0                push   ax
+[      ]*[a-f0-9]+:    48 ff f0                rex.W push rax
 [      ]*[a-f0-9]+:    66 48 ff f0             data32 push rax
 [      ]*[a-f0-9]+:    ff 30                   push   QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 ff 30                push   WORD PTR \[rax\]
+[      ]*[a-f0-9]+:    48 ff 30                rex.W push QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 48 ff 30             data32 push QWORD PTR \[rax\]
 #pass
index 1d4db2d5756e7af7e4810233094092f0a46cb599..45101dd3d4898bbb0b61b6cdb9e902a9f0dc9bef 100644 (file)
@@ -9,32 +9,42 @@ Disassembly of section .text:
 0+ <_start>:
 [      ]*[a-f0-9]+:    50                      pushq  %rax
 [      ]*[a-f0-9]+:    66 50                   pushw  %ax
+[      ]*[a-f0-9]+:    48 50                   rex.W pushq %rax
 [      ]*[a-f0-9]+:    66 48 50                data32 pushq %rax
 [      ]*[a-f0-9]+:    58                      popq   %rax
 [      ]*[a-f0-9]+:    66 58                   popw   %ax
+[      ]*[a-f0-9]+:    48 58                   rex.W popq %rax
 [      ]*[a-f0-9]+:    66 48 58                data32 popq %rax
 [      ]*[a-f0-9]+:    8f c0                   popq   %rax
 [      ]*[a-f0-9]+:    66 8f c0                popw   %ax
+[      ]*[a-f0-9]+:    48 8f c0                rex.W popq %rax
 [      ]*[a-f0-9]+:    66 48 8f c0             data32 popq %rax
 [      ]*[a-f0-9]+:    8f 00                   popq   \(%rax\)
 [      ]*[a-f0-9]+:    66 8f 00                popw   \(%rax\)
+[      ]*[a-f0-9]+:    48 8f 00                rex.W popq \(%rax\)
 [      ]*[a-f0-9]+:    66 48 8f 00             data32 popq \(%rax\)
 [      ]*[a-f0-9]+:    ff d0                   callq  \*%rax
 [      ]*[a-f0-9]+:    66 ff d0                callw  \*%ax
+[      ]*[a-f0-9]+:    48 ff d0                rex.W callq \*%rax
 [      ]*[a-f0-9]+:    66 48 ff d0             data32 callq \*%rax
 [      ]*[a-f0-9]+:    ff 10                   callq  \*\(%rax\)
 [      ]*[a-f0-9]+:    66 ff 10                callw  \*\(%rax\)
+[      ]*[a-f0-9]+:    48 ff 10                rex.W callq \*\(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 10             data32 callq \*\(%rax\)
 [      ]*[a-f0-9]+:    ff e0                   jmpq   \*%rax
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
+[      ]*[a-f0-9]+:    48 ff e0                rex.W jmpq \*%rax
 [      ]*[a-f0-9]+:    66 48 ff e0             data32 jmpq \*%rax
 [      ]*[a-f0-9]+:    ff 20                   jmpq   \*\(%rax\)
 [      ]*[a-f0-9]+:    66 ff 20                jmpw   \*\(%rax\)
+[      ]*[a-f0-9]+:    48 ff 20                rex.W jmpq \*\(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 20             data32 jmpq \*\(%rax\)
 [      ]*[a-f0-9]+:    ff f0                   pushq  %rax
 [      ]*[a-f0-9]+:    66 ff f0                pushw  %ax
+[      ]*[a-f0-9]+:    48 ff f0                rex.W pushq %rax
 [      ]*[a-f0-9]+:    66 48 ff f0             data32 pushq %rax
 [      ]*[a-f0-9]+:    ff 30                   pushq  \(%rax\)
 [      ]*[a-f0-9]+:    66 ff 30                pushw  \(%rax\)
+[      ]*[a-f0-9]+:    48 ff 30                rex.W pushq \(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 30             data32 pushq \(%rax\)
 #pass
index 608baba3be5b3102d8995dfea2ed3ae5a9e61824..4976597c295fd73ca61c33fd37a80331a5b1ea7c 100644 (file)
@@ -9,32 +9,42 @@ Disassembly of section .text:
 0+ <_start>:
 [      ]*[a-f0-9]+:    50                      push   %rax
 [      ]*[a-f0-9]+:    66 50                   push   %ax
+[      ]*[a-f0-9]+:    48 50                   rex.W push %rax
 [      ]*[a-f0-9]+:    66 48 50                data32 push %rax
 [      ]*[a-f0-9]+:    58                      pop    %rax
 [      ]*[a-f0-9]+:    66 58                   pop    %ax
+[      ]*[a-f0-9]+:    48 58                   rex.W pop %rax
 [      ]*[a-f0-9]+:    66 48 58                data32 pop %rax
 [      ]*[a-f0-9]+:    8f c0                   pop    %rax
 [      ]*[a-f0-9]+:    66 8f c0                pop    %ax
+[      ]*[a-f0-9]+:    48 8f c0                rex.W pop %rax
 [      ]*[a-f0-9]+:    66 48 8f c0             data32 pop %rax
 [      ]*[a-f0-9]+:    8f 00                   popq   \(%rax\)
 [      ]*[a-f0-9]+:    66 8f 00                popw   \(%rax\)
+[      ]*[a-f0-9]+:    48 8f 00                rex.W popq \(%rax\)
 [      ]*[a-f0-9]+:    66 48 8f 00             data32 popq \(%rax\)
 [      ]*[a-f0-9]+:    ff d0                   callq  \*%rax
 [      ]*[a-f0-9]+:    66 ff d0                callw  \*%ax
+[      ]*[a-f0-9]+:    48 ff d0                rex.W callq \*%rax
 [      ]*[a-f0-9]+:    66 48 ff d0             data32 callq \*%rax
 [      ]*[a-f0-9]+:    ff 10                   callq  \*\(%rax\)
 [      ]*[a-f0-9]+:    66 ff 10                callw  \*\(%rax\)
+[      ]*[a-f0-9]+:    48 ff 10                rex.W callq \*\(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 10             data32 callq \*\(%rax\)
 [      ]*[a-f0-9]+:    ff e0                   jmpq   \*%rax
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
+[      ]*[a-f0-9]+:    48 ff e0                rex.W jmpq \*%rax
 [      ]*[a-f0-9]+:    66 48 ff e0             data32 jmpq \*%rax
 [      ]*[a-f0-9]+:    ff 20                   jmpq   \*\(%rax\)
 [      ]*[a-f0-9]+:    66 ff 20                jmpw   \*\(%rax\)
+[      ]*[a-f0-9]+:    48 ff 20                rex.W jmpq \*\(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 20             data32 jmpq \*\(%rax\)
 [      ]*[a-f0-9]+:    ff f0                   push   %rax
 [      ]*[a-f0-9]+:    66 ff f0                push   %ax
+[      ]*[a-f0-9]+:    48 ff f0                rex.W push %rax
 [      ]*[a-f0-9]+:    66 48 ff f0             data32 push %rax
 [      ]*[a-f0-9]+:    ff 30                   pushq  \(%rax\)
 [      ]*[a-f0-9]+:    66 ff 30                pushw  \(%rax\)
+[      ]*[a-f0-9]+:    48 ff 30                rex.W pushq \(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 30             data32 pushq \(%rax\)
 #pass
index a09be6cb87c420e6712b6ecd631b21ee48bc92aa..4c54af77597a342390563d56dd4edc946e579c86 100644 (file)
@@ -9,32 +9,42 @@ Disassembly of section .text:
 0+ <_start>:
 [      ]*[a-f0-9]+:    50                      push   rax
 [      ]*[a-f0-9]+:    66 50                   push   ax
+[      ]*[a-f0-9]+:    48 50                   rex.W push rax
 [      ]*[a-f0-9]+:    66 48 50                data32 push rax
 [      ]*[a-f0-9]+:    58                      pop    rax
 [      ]*[a-f0-9]+:    66 58                   pop    ax
+[      ]*[a-f0-9]+:    48 58                   rex.W pop rax
 [      ]*[a-f0-9]+:    66 48 58                data32 pop rax
 [      ]*[a-f0-9]+:    8f c0                   pop    rax
 [      ]*[a-f0-9]+:    66 8f c0                pop    ax
+[      ]*[a-f0-9]+:    48 8f c0                rex.W pop rax
 [      ]*[a-f0-9]+:    66 48 8f c0             data32 pop rax
 [      ]*[a-f0-9]+:    8f 00                   pop    QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 8f 00                pop    WORD PTR \[rax\]
+[      ]*[a-f0-9]+:    48 8f 00                rex.W pop QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 48 8f 00             data32 pop QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    ff d0                   call   rax
 [      ]*[a-f0-9]+:    66 ff d0                call   ax
+[      ]*[a-f0-9]+:    48 ff d0                rex.W call rax
 [      ]*[a-f0-9]+:    66 48 ff d0             data32 call rax
 [      ]*[a-f0-9]+:    ff 10                   call   QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 ff 10                call   WORD PTR \[rax\]
+[      ]*[a-f0-9]+:    48 ff 10                rex.W call QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 48 ff 10             data32 call QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    ff e0                   jmp    rax
 [      ]*[a-f0-9]+:    66 ff e0                jmp    ax
+[      ]*[a-f0-9]+:    48 ff e0                rex.W jmp rax
 [      ]*[a-f0-9]+:    66 48 ff e0             data32 jmp rax
 [      ]*[a-f0-9]+:    ff 20                   jmp    QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 ff 20                jmp    WORD PTR \[rax\]
+[      ]*[a-f0-9]+:    48 ff 20                rex.W jmp QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 48 ff 20             data32 jmp QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    ff f0                   push   rax
 [      ]*[a-f0-9]+:    66 ff f0                push   ax
+[      ]*[a-f0-9]+:    48 ff f0                rex.W push rax
 [      ]*[a-f0-9]+:    66 48 ff f0             data32 push rax
 [      ]*[a-f0-9]+:    ff 30                   push   QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 ff 30                push   WORD PTR \[rax\]
+[      ]*[a-f0-9]+:    48 ff 30                rex.W push QWORD PTR \[rax\]
 [      ]*[a-f0-9]+:    66 48 ff 30             data32 push QWORD PTR \[rax\]
 #pass
index ce1386a1e4597720f960f995bc112fbd04cc0d4f..07bf79b777b4d4e089ce4edf584a6a427ecac2d4 100644 (file)
@@ -9,32 +9,42 @@ Disassembly of section .text:
 0+ <_start>:
 [      ]*[a-f0-9]+:    50                      pushq  %rax
 [      ]*[a-f0-9]+:    66 50                   pushw  %ax
+[      ]*[a-f0-9]+:    48 50                   rex.W pushq %rax
 [      ]*[a-f0-9]+:    66 48 50                data32 pushq %rax
 [      ]*[a-f0-9]+:    58                      popq   %rax
 [      ]*[a-f0-9]+:    66 58                   popw   %ax
+[      ]*[a-f0-9]+:    48 58                   rex.W popq %rax
 [      ]*[a-f0-9]+:    66 48 58                data32 popq %rax
 [      ]*[a-f0-9]+:    8f c0                   popq   %rax
 [      ]*[a-f0-9]+:    66 8f c0                popw   %ax
+[      ]*[a-f0-9]+:    48 8f c0                rex.W popq %rax
 [      ]*[a-f0-9]+:    66 48 8f c0             data32 popq %rax
 [      ]*[a-f0-9]+:    8f 00                   popq   \(%rax\)
 [      ]*[a-f0-9]+:    66 8f 00                popw   \(%rax\)
+[      ]*[a-f0-9]+:    48 8f 00                rex.W popq \(%rax\)
 [      ]*[a-f0-9]+:    66 48 8f 00             data32 popq \(%rax\)
 [      ]*[a-f0-9]+:    ff d0                   callq  \*%rax
 [      ]*[a-f0-9]+:    66 ff d0                callw  \*%ax
+[      ]*[a-f0-9]+:    48 ff d0                rex.W callq \*%rax
 [      ]*[a-f0-9]+:    66 48 ff d0             data32 callq \*%rax
 [      ]*[a-f0-9]+:    ff 10                   callq  \*\(%rax\)
 [      ]*[a-f0-9]+:    66 ff 10                callw  \*\(%rax\)
+[      ]*[a-f0-9]+:    48 ff 10                rex.W callq \*\(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 10             data32 callq \*\(%rax\)
 [      ]*[a-f0-9]+:    ff e0                   jmpq   \*%rax
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
+[      ]*[a-f0-9]+:    48 ff e0                rex.W jmpq \*%rax
 [      ]*[a-f0-9]+:    66 48 ff e0             data32 jmpq \*%rax
 [      ]*[a-f0-9]+:    ff 20                   jmpq   \*\(%rax\)
 [      ]*[a-f0-9]+:    66 ff 20                jmpw   \*\(%rax\)
+[      ]*[a-f0-9]+:    48 ff 20                rex.W jmpq \*\(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 20             data32 jmpq \*\(%rax\)
 [      ]*[a-f0-9]+:    ff f0                   pushq  %rax
 [      ]*[a-f0-9]+:    66 ff f0                pushw  %ax
+[      ]*[a-f0-9]+:    48 ff f0                rex.W pushq %rax
 [      ]*[a-f0-9]+:    66 48 ff f0             data32 pushq %rax
 [      ]*[a-f0-9]+:    ff 30                   pushq  \(%rax\)
 [      ]*[a-f0-9]+:    66 ff 30                pushw  \(%rax\)
+[      ]*[a-f0-9]+:    48 ff 30                rex.W pushq \(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 30             data32 pushq \(%rax\)
 #pass
index 2d806f479c6544708901032edf63c3d7c68b0fe3..0ab339d9edcb88c7347f180b5db91fc866eaab3d 100644 (file)
@@ -8,32 +8,42 @@ Disassembly of section .text:
 0+ <_start>:
 [      ]*[a-f0-9]+:    50                      push   %rax
 [      ]*[a-f0-9]+:    66 50                   push   %ax
+[      ]*[a-f0-9]+:    48 50                   rex.W push %rax
 [      ]*[a-f0-9]+:    66 48 50                data32 push %rax
 [      ]*[a-f0-9]+:    58                      pop    %rax
 [      ]*[a-f0-9]+:    66 58                   pop    %ax
+[      ]*[a-f0-9]+:    48 58                   rex.W pop %rax
 [      ]*[a-f0-9]+:    66 48 58                data32 pop %rax
 [      ]*[a-f0-9]+:    8f c0                   pop    %rax
 [      ]*[a-f0-9]+:    66 8f c0                pop    %ax
+[      ]*[a-f0-9]+:    48 8f c0                rex.W pop %rax
 [      ]*[a-f0-9]+:    66 48 8f c0             data32 pop %rax
 [      ]*[a-f0-9]+:    8f 00                   popq   \(%rax\)
 [      ]*[a-f0-9]+:    66 8f 00                popw   \(%rax\)
+[      ]*[a-f0-9]+:    48 8f 00                rex.W popq \(%rax\)
 [      ]*[a-f0-9]+:    66 48 8f 00             data32 popq \(%rax\)
 [      ]*[a-f0-9]+:    ff d0                   callq  \*%rax
 [      ]*[a-f0-9]+:    66 ff d0                callw  \*%ax
+[      ]*[a-f0-9]+:    48 ff d0                rex.W callq \*%rax
 [      ]*[a-f0-9]+:    66 48 ff d0             data32 callq \*%rax
 [      ]*[a-f0-9]+:    ff 10                   callq  \*\(%rax\)
 [      ]*[a-f0-9]+:    66 ff 10                callw  \*\(%rax\)
+[      ]*[a-f0-9]+:    48 ff 10                rex.W callq \*\(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 10             data32 callq \*\(%rax\)
 [      ]*[a-f0-9]+:    ff e0                   jmpq   \*%rax
 [      ]*[a-f0-9]+:    66 ff e0                jmpw   \*%ax
+[      ]*[a-f0-9]+:    48 ff e0                rex.W jmpq \*%rax
 [      ]*[a-f0-9]+:    66 48 ff e0             data32 jmpq \*%rax
 [      ]*[a-f0-9]+:    ff 20                   jmpq   \*\(%rax\)
 [      ]*[a-f0-9]+:    66 ff 20                jmpw   \*\(%rax\)
+[      ]*[a-f0-9]+:    48 ff 20                rex.W jmpq \*\(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 20             data32 jmpq \*\(%rax\)
 [      ]*[a-f0-9]+:    ff f0                   push   %rax
 [      ]*[a-f0-9]+:    66 ff f0                push   %ax
+[      ]*[a-f0-9]+:    48 ff f0                rex.W push %rax
 [      ]*[a-f0-9]+:    66 48 ff f0             data32 push %rax
 [      ]*[a-f0-9]+:    ff 30                   pushq  \(%rax\)
 [      ]*[a-f0-9]+:    66 ff 30                pushw  \(%rax\)
+[      ]*[a-f0-9]+:    48 ff 30                rex.W pushq \(%rax\)
 [      ]*[a-f0-9]+:    66 48 ff 30             data32 pushq \(%rax\)
 #pass
index e0fc046bbc14f7b4595dbdb4e9516dba80eed89a..d114887d6593d509bb06ac214bb0c9f4e95d6839 100644 (file)
@@ -1,6 +1,7 @@
  .macro try bytes:vararg
   .byte \bytes
   .byte 0x66, \bytes
+  .byte 0x48, \bytes
   .byte 0x66, 0x48, \bytes
  .endm