diff options
author | Jan Beulich <jbeulich@novell.com> | 2018-06-01 08:40:38 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2018-06-01 08:40:38 +0200 |
commit | dfd27d41831853da1c7694e2d9e765eccbed22cf (patch) | |
tree | 3a7cc1a2368bf14420a9e55357c76d7d3258e96e /gas | |
parent | 44846f29ab3a5fdab229cb63d9cd42323ed85767 (diff) | |
download | gdb-dfd27d41831853da1c7694e2d9e765eccbed22cf.zip gdb-dfd27d41831853da1c7694e2d9e765eccbed22cf.tar.gz gdb-dfd27d41831853da1c7694e2d9e765eccbed22cf.tar.bz2 |
x86: don't emit REX.W for SLDT and STR
Just like for other selector register reads, they're unnecessary and
should hence be avoided.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/ilp32/x86-64-opcode.d | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-opcode.d | 4 |
3 files changed, 9 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 67da990..f459469 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,10 @@ 2018-06-01 Jan Beulich <jbeulich@suse.com> + * testsuite/gas/i386/ilp32/x86-64-opcode.d, + testsuite/gas/i386/x86-64-opcode.d: Adjust expectations. + +2018-06-01 Jan Beulich <jbeulich@suse.com> + * config/tc-i386.c (add_prefix): Check REX bits individually. * testsuite/gas/i386/rex.s: Add tests for overriding individual REX bits, including when others are already set. diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-opcode.d b/gas/testsuite/gas/i386/ilp32/x86-64-opcode.d index 53893b3..f087252 100644 --- a/gas/testsuite/gas/i386/ilp32/x86-64-opcode.d +++ b/gas/testsuite/gas/i386/ilp32/x86-64-opcode.d @@ -269,7 +269,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 41 0f 01 38 invlpg \(%r8\) [ ]*[a-f0-9]+: 0f 01 38 invlpg \(%rax\) [ ]*[a-f0-9]+: 0f 00 c0 sldt %eax -[ ]*[a-f0-9]+: 48 0f 00 c0 sldt %rax +[ ]*[a-f0-9]+: 0f 00 c0 sldt %eax [ ]*[a-f0-9]+: 66 0f 00 c0 sldt %ax [ ]*[a-f0-9]+: 0f 00 00 sldt \(%rax\) [ ]*[a-f0-9]+: e6 00 out %al,\$0x0 @@ -294,7 +294,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 0f 01 e0 smsw %eax [ ]*[a-f0-9]+: 66 0f 01 e0 smsw %ax [ ]*[a-f0-9]+: 0f 01 20 smsw \(%rax\) -[ ]*[a-f0-9]+: 48 0f 00 c8 str %rax +[ ]*[a-f0-9]+: 0f 00 c8 str %eax [ ]*[a-f0-9]+: 0f 00 c8 str %eax [ ]*[a-f0-9]+: 66 0f 00 c8 str %ax [ ]*[a-f0-9]+: 0f 00 08 str \(%rax\) diff --git a/gas/testsuite/gas/i386/x86-64-opcode.d b/gas/testsuite/gas/i386/x86-64-opcode.d index bfffb6e..a2e9a71 100644 --- a/gas/testsuite/gas/i386/x86-64-opcode.d +++ b/gas/testsuite/gas/i386/x86-64-opcode.d @@ -268,7 +268,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 41 0f 01 38 invlpg \(%r8\) [ ]*[a-f0-9]+: 0f 01 38 invlpg \(%rax\) [ ]*[a-f0-9]+: 0f 00 c0 sldt %eax -[ ]*[a-f0-9]+: 48 0f 00 c0 sldt %rax +[ ]*[a-f0-9]+: 0f 00 c0 sldt %eax [ ]*[a-f0-9]+: 66 0f 00 c0 sldt %ax [ ]*[a-f0-9]+: 0f 00 00 sldt \(%rax\) [ ]*[a-f0-9]+: e6 00 out %al,\$0x0 @@ -293,7 +293,7 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 0f 01 e0 smsw %eax [ ]*[a-f0-9]+: 66 0f 01 e0 smsw %ax [ ]*[a-f0-9]+: 0f 01 20 smsw \(%rax\) -[ ]*[a-f0-9]+: 48 0f 00 c8 str %rax +[ ]*[a-f0-9]+: 0f 00 c8 str %eax [ ]*[a-f0-9]+: 0f 00 c8 str %eax [ ]*[a-f0-9]+: 66 0f 00 c8 str %ax [ ]*[a-f0-9]+: 0f 00 08 str \(%rax\) |