diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2021-10-23 07:37:33 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2021-10-25 10:38:04 -0700 |
commit | b3a9fe6f51fd3922ce7978b6ba5ce0cbdf33885e (patch) | |
tree | c54c0934db19b16741de0580e2bfb1d6bdc793d2 /gas/config | |
parent | 9de46719da07a439af59088d69cb4dd70c030612 (diff) | |
download | fsf-binutils-gdb-b3a9fe6f51fd3922ce7978b6ba5ce0cbdf33885e.zip fsf-binutils-gdb-b3a9fe6f51fd3922ce7978b6ba5ce0cbdf33885e.tar.gz fsf-binutils-gdb-b3a9fe6f51fd3922ce7978b6ba5ce0cbdf33885e.tar.bz2 |
x86: Also handle stores for -muse-unaligned-vector-move
* config/tc-i386.c (encode_with_unaligned_vector_move): Also
handle stores.
* testsuite/gas/i386/unaligned-vector-move.s: Add stores.
* testsuite/gas/i386/unaligned-vector-move.d: Updated.
* testsuite/gas/i386/x86-64-unaligned-vector-move.d: Likewise.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-i386.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index ef30a6b..320ea7e 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4083,13 +4083,15 @@ encode_with_unaligned_vector_move (void) { switch (i.tm.base_opcode) { - case 0x28: + case 0x28: /* Load instructions. */ + case 0x29: /* Store instructions. */ /* movaps/movapd/vmovaps/vmovapd. */ if (i.tm.opcode_modifier.opcodespace == SPACE_0F && i.tm.opcode_modifier.opcodeprefix <= PREFIX_0X66) - i.tm.base_opcode = 0x10; + i.tm.base_opcode = 0x10 | (i.tm.base_opcode & 1); break; - case 0x6f: + case 0x6f: /* Load instructions. */ + case 0x7f: /* Store instructions. */ /* movdqa/vmovdqa/vmovdqa64/vmovdqa32. */ if (i.tm.opcode_modifier.opcodespace == SPACE_0F && i.tm.opcode_modifier.opcodeprefix == PREFIX_0X66) |