x86-64: adjust stack insn test case
authorJan Beulich <jbeulich@suse.com>
Wed, 15 Jul 2020 06:54:40 +0000 (08:54 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 15 Jul 2020 06:54:40 +0000 (08:54 +0200)
The value chosen for the 16-/32-bit immediate cases didn't work well
with the subsequent insn's REX prefix - we ought to pick a value the
upper two bytes of which evaluate to a 2-byte insn. Bump the values
accordingly, allowing the subsequent insn to actually have the intended
REX.W.

gas/ChangeLog
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 e710045cfe107339751639ad3857780dd1b60529..76e17516cac4560f5c3096a8f32ba66a6dda7c7c 100644 (file)
@@ -1,3 +1,11 @@
+2020-07-15  Jan Beulich  <jbeulich@suse.com>
+
+       * testsuite/gas/i386/x86-64-stack.s: Adjust 32-bit push
+       immediate.
+       * testsuite/gas/i386/x86-64-stack-intel.d,
+       testsuite/gas/i386/x86-64-stack-suffix.d,
+       testsuite/gas/i386/x86-64-stack.d: Adjust expectations.
+
 2020-07-15  Jan Beulich  <jbeulich@suse.com>
 
        * testsuite/gas/i386/disassem.d,
index b392579ded822c6289f5e39a00a9b0468536edec..5afada19dd7f304827ff10c6c6292f11c17fe305 100644 (file)
@@ -51,11 +51,11 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 6a ff                pushw  0xffff
 [      ]*[a-f0-9]+:    48 6a ff                rex.W push 0xffffffffffffffff
 [      ]*[a-f0-9]+:    66 48 6a ff             data16 rex.W push 0xffffffffffffffff
-[      ]*[a-f0-9]+:    68 01 02 03 04          push   0x4030201
-[      ]*[a-f0-9]+:    66 68 01 02             pushw  0x201
-[      ]*[a-f0-9]+:    03 04 48                add    eax,DWORD PTR \[rax\+rcx\*2\]
-[      ]*[a-f0-9]+:    68 01 02 03 04          push   0x4030201
-[      ]*[a-f0-9]+:    66 48 68 01 02 03 04    data16 rex.W push 0x4030201
+[      ]*[a-f0-9]+:    68 02 03 04 05          push   0x5040302
+[      ]*[a-f0-9]+:    66 68 02 03             pushw  0x302
+[      ]*[a-f0-9]+:    04 05                   add    al,0x5
+[      ]*[a-f0-9]+:    48 68 02 03 04 05       rex\.W push 0x5040302
+[      ]*[a-f0-9]+:    66 48 68 02 03 04 05    data16 rex\.W push 0x5040302
 [      ]*[a-f0-9]+:    0f a8                   push   gs
 [      ]*[a-f0-9]+:    66 0f a8                pushw  gs
 [      ]*[a-f0-9]+:    48 0f a8                rex.W push gs
index 7c52e10cbbccbe44da09fe31ab55088395bc61cf..0c3a966bee03e8fd73b6e893dc9efceac8e7a338 100644 (file)
@@ -51,11 +51,11 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 6a ff                pushw  \$0xffff
 [      ]*[a-f0-9]+:    48 6a ff                rex.W pushq \$0xffffffffffffffff
 [      ]*[a-f0-9]+:    66 48 6a ff             data16 rex.W pushq \$0xffffffffffffffff
-[      ]*[a-f0-9]+:    68 01 02 03 04          pushq  \$0x4030201
-[      ]*[a-f0-9]+:    66 68 01 02             pushw  \$0x201
-[      ]*[a-f0-9]+:    03 04 48                addl   \(%rax,%rcx,2\),%eax
-[      ]*[a-f0-9]+:    68 01 02 03 04          pushq  \$0x4030201
-[      ]*[a-f0-9]+:    66 48 68 01 02 03 04    data16 rex.W pushq \$0x4030201
+[      ]*[a-f0-9]+:    68 02 03 04 05          pushq  \$0x5040302
+[      ]*[a-f0-9]+:    66 68 02 03             pushw  \$0x302
+[      ]*[a-f0-9]+:    04 05                   addb   \$0x5,%al
+[      ]*[a-f0-9]+:    48 68 02 03 04 05       rex\.W pushq \$0x5040302
+[      ]*[a-f0-9]+:    66 48 68 02 03 04 05    data16 rex\.W pushq \$0x5040302
 [      ]*[a-f0-9]+:    0f a8                   pushq  %gs
 [      ]*[a-f0-9]+:    66 0f a8                pushw  %gs
 [      ]*[a-f0-9]+:    48 0f a8                rex.W pushq %gs
index 34312cd5576e9e3884de636cdbff9d88f291e00c..c77b344928aa1871ee441bfe1ad4b4fad19ae4f4 100644 (file)
@@ -50,11 +50,11 @@ Disassembly of section .text:
 [      ]*[a-f0-9]+:    66 6a ff                pushw  \$0xffff
 [      ]*[a-f0-9]+:    48 6a ff                rex\.W push \$0xffffffffffffffff
 [      ]*[a-f0-9]+:    66 48 6a ff             data16 rex\.W push \$0xffffffffffffffff
-[      ]*[a-f0-9]+:    68 01 02 03 04          push   \$0x4030201
-[      ]*[a-f0-9]+:    66 68 01 02             pushw  \$0x201
-[      ]*[a-f0-9]+:    03 04 48                add    \(%rax,%rcx,2\),%eax
-[      ]*[a-f0-9]+:    68 01 02 03 04          push   \$0x4030201
-[      ]*[a-f0-9]+:    66 48 68 01 02 03 04    data16 rex\.W push \$0x4030201
+[      ]*[a-f0-9]+:    68 02 03 04 05          push   \$0x5040302
+[      ]*[a-f0-9]+:    66 68 02 03             pushw  \$0x302
+[      ]*[a-f0-9]+:    04 05                   add    \$0x5,%al
+[      ]*[a-f0-9]+:    48 68 02 03 04 05       rex\.W push \$0x5040302
+[      ]*[a-f0-9]+:    66 48 68 02 03 04 05    data16 rex\.W push \$0x5040302
 [      ]*[a-f0-9]+:    0f a8                   push   %gs
 [      ]*[a-f0-9]+:    66 0f a8                pushw  %gs
 [      ]*[a-f0-9]+:    48 0f a8                rex\.W push %gs
index 0b8707e3043f2a69c418e54b3ee4838f31e08854..0aa2ce9232d29f39b25b18c2e9b27d8d9c0193b3 100644 (file)
@@ -26,8 +26,8 @@ _start:
        # push with a 1-byte immediate
        try     0x6a, 0xff
 
-       # push with a 4-byte immediate
-       try     0x68, 0x01, 0x02, 0x03, 0x04
+       # push with a 4-(or 2-)byte immediate
+       try     0x68, 0x02, 0x03, 0x04, 0x05
 
        # push a segment register
        try     0x0f, 0xa8