From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3140 invoked by alias); 3 Aug 2012 21:46:06 -0000 Received: (qmail 3116 invoked by uid 22791); 3 Aug 2012 21:46:01 -0000 X-SWARE-Spam-Status: No, hits=-5.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-qc0-f169.google.com (HELO mail-qc0-f169.google.com) (209.85.216.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 03 Aug 2012 21:45:36 +0000 Received: by qcsd16 with SMTP id d16so870840qcs.0 for ; Fri, 03 Aug 2012 14:45:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-system-of-record:x-gm-message-state; bh=Z09WqjRrQ46f8Zs6W/XgHXa2bB5XzyzkIj8Db16ww3g=; b=DGstvMgsueW9Vp0KzWjfPOVCrQhZt4yBMDBB8G/A0/w7kselj7WevGMLJLuh4ueRtO JPCJyz5FjZV/HtyUdVHXCQJP86FciuQafvscb8jhPzqQy/RbBNFC9UkJQMm3WlJaHCm8 Bg4jPAo3jJwQhGwFBKgurPHLwVBHn11l2iyl0AJGMZ8MAhDLOi8O/3FHeN//T0b5Z7qi ZEotJzGUFw9uur84EfV4fa2F4JIuC4x4araYLo+UKwOtWgZM2vile44MWBnNYTyYheKw 2FuuaWtPqhV8qZG20Aeey3n0teTLb7YU7g+Ltl1USFQDFnTephUYd4/X5IoUAOXBVZt6 4oQg== Received: by 10.224.187.129 with SMTP id cw1mr5147590qab.78.1344030335875; Fri, 03 Aug 2012 14:45:35 -0700 (PDT) Received: by 10.224.187.129 with SMTP id cw1mr5147575qab.78.1344030335697; Fri, 03 Aug 2012 14:45:35 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.164.206 with HTTP; Fri, 3 Aug 2012 14:45:15 -0700 (PDT) In-Reply-To: References: From: Roland McGrath Date: Fri, 03 Aug 2012 21:55:00 -0000 Message-ID: Subject: Re: [RFC PATCH] Fix decoding of superfluous data32 prefix before superfluous rex.W prefix before push. To: "H.J. Lu" Cc: Victor Khimenko , binutils@sourceware.org Content-Type: text/plain; charset=ISO-8859-1 X-System-Of-Record: true X-Gm-Message-State: ALoCoQkN612yUrdu/l33zcshWSKXAWLyXe8K4uKrKwXGK89jlZvFL5mh9AWn0J8++wDuKh7NLn69Ia9R4ga/NW4fUQIYig6xvRaDpBKYrniCIX84XcTe4pHrO9TlPkqzwTXX6ZX59OdXyH16/iKZTPWWdEPcFUPjw+XB0t5PDBrSGvATkYW2fC6B5ZwEnF+gtF/rw5G+JwI1 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2012-08/txt/msg00074.txt.bz2 On Fri, Aug 3, 2012 at 11:54 AM, H.J. Lu wrote: > Also the new testcases should be added to x86-64-stack.s, not a new file. I started out with just covering the rex.W prefix without data32 for the existing cases, as below. I'm committing this now. Thanks, Roland gas/testsuite/ 2012-08-03 Roland McGrath * 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. diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d b/gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d index 59b4ced..7092a42 100644 --- a/gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d +++ b/gas/testsuite/gas/i386/ilp32/x86-64-stack-intel.d @@ -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 diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d b/gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d index 1d4db2d..45101dd 100644 --- a/gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d +++ b/gas/testsuite/gas/i386/ilp32/x86-64-stack-suffix.d @@ -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 diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-stack.d b/gas/testsuite/gas/i386/ilp32/x86-64-stack.d index 608baba..4976597 100644 --- a/gas/testsuite/gas/i386/ilp32/x86-64-stack.d +++ b/gas/testsuite/gas/i386/ilp32/x86-64-stack.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-stack-intel.d b/gas/testsuite/gas/i386/x86-64-stack-intel.d index a09be6c..4c54af7 100644 --- a/gas/testsuite/gas/i386/x86-64-stack-intel.d +++ b/gas/testsuite/gas/i386/x86-64-stack-intel.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-stack-suffix.d b/gas/testsuite/gas/i386/x86-64-stack-suffix.d index ce1386a..07bf79b 100644 --- a/gas/testsuite/gas/i386/x86-64-stack-suffix.d +++ b/gas/testsuite/gas/i386/x86-64-stack-suffix.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-stack.d b/gas/testsuite/gas/i386/x86-64-stack.d index 2d806f4..0ab339d 100644 --- a/gas/testsuite/gas/i386/x86-64-stack.d +++ b/gas/testsuite/gas/i386/x86-64-stack.d @@ -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 diff --git a/gas/testsuite/gas/i386/x86-64-stack.s b/gas/testsuite/gas/i386/x86-64-stack.s index e0fc046..d114887 100644 --- a/gas/testsuite/gas/i386/x86-64-stack.s +++ b/gas/testsuite/gas/i386/x86-64-stack.s @@ -1,6 +1,7 @@ .macro try bytes:vararg .byte \bytes .byte 0x66, \bytes + .byte 0x48, \bytes .byte 0x66, 0x48, \bytes .endm