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 b9635ac..61ef22a 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 59b4ced..7092a42 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 1d4db2d..45101dd 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 608baba..4976597 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 a09be6c..4c54af7 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 ce1386a..07bf79b 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 2d806f4..0ab339d 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 e0fc046..d114887 100644 (file)
@@ -1,6 +1,7 @@
  .macro try bytes:vararg
   .byte \bytes
   .byte 0x66, \bytes
+  .byte 0x48, \bytes
   .byte 0x66, 0x48, \bytes
  .endm