diff options
author | Jan Beulich <jbeulich@suse.com> | 2022-08-09 09:20:07 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2022-08-09 09:20:07 +0200 |
commit | 298d6e70a89a156e43d327c6c2c6efe08911d4f0 (patch) | |
tree | d8717c2ad1f8042766337ad7d99d070b58e227d1 /gas | |
parent | 87bf02522867c1a16b0e4721d7a629a781ad03b8 (diff) | |
download | binutils-298d6e70a89a156e43d327c6c2c6efe08911d4f0.zip binutils-298d6e70a89a156e43d327c6c2c6efe08911d4f0.tar.gz binutils-298d6e70a89a156e43d327c6c2c6efe08911d4f0.tar.bz2 |
x86-64: adjust MOVQ to/from SReg attributes
It is unclear to me why the corresponding MOV (no Q suffix) can be
issued without REX.W, but MOVQ has to have that prefix (bit). Add
NoRex64 and in exchange drop Size64.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-segment.l | 17 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-segment.s | 9 |
2 files changed, 20 insertions, 6 deletions
diff --git a/gas/testsuite/gas/i386/x86-64-segment.l b/gas/testsuite/gas/i386/x86-64-segment.l index 4056fde..031b0cb 100644 --- a/gas/testsuite/gas/i386/x86-64-segment.l +++ b/gas/testsuite/gas/i386/x86-64-segment.l @@ -5,8 +5,15 @@ 5 0002 8C18 mov %ds,\(%rax\) 6 0004 8E18 movw \(%rax\),%ds 7 0006 8E18 mov \(%rax\),%ds - 8 # test segment reg insns with REX - 9 0008 488CD8 movq %ds,%rax - 10 000b 488ED8 movq %rax,%ds - 11 # Force a good alignment. - 12 000e 0000 .p2align 4,0 + 8 # test segment reg insns with avoided REX + 9 0008 8CD8 mov %ds,%rax + 10 000a 8CD8 movq %ds,%rax + 11 000c 8ED8 mov %rax,%ds + 12 000e 8ED8 movq %rax,%ds + 13 # test segment reg insns with REX + 14 0010 418CD8 mov %ds,%r8 + 15 0013 418CD8 movq %ds,%r8 + 16 0016 418ED8 mov %r8,%ds + 17 0019 418ED8 movq %r8,%ds + 18 # Force a good alignment. + 19 001c 0+ + *\.p2align 4,0 diff --git a/gas/testsuite/gas/i386/x86-64-segment.s b/gas/testsuite/gas/i386/x86-64-segment.s index 16fcd76..a3f3205 100644 --- a/gas/testsuite/gas/i386/x86-64-segment.s +++ b/gas/testsuite/gas/i386/x86-64-segment.s @@ -5,8 +5,15 @@ mov %ds,(%rax) movw (%rax),%ds mov (%rax),%ds -# test segment reg insns with REX +# test segment reg insns with avoided REX + mov %ds,%rax movq %ds,%rax + mov %rax,%ds movq %rax,%ds +# test segment reg insns with REX + mov %ds,%r8 + movq %ds,%r8 + mov %r8,%ds + movq %r8,%ds # Force a good alignment. .p2align 4,0 |