diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-07-25 15:28:07 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-07-25 15:28:24 -0700 |
commit | 4a1b91eabbe77f4d906a0895121d76a0653c3cf3 (patch) | |
tree | 675d4da6c17c95157f9a312626af39ac098b27d6 /gdb/infcmd.c | |
parent | 506f5c41cab71dbc3e562ba367d2dc6b355b64a6 (diff) | |
download | gdb-4a1b91eabbe77f4d906a0895121d76a0653c3cf3.zip gdb-4a1b91eabbe77f4d906a0895121d76a0653c3cf3.tar.gz gdb-4a1b91eabbe77f4d906a0895121d76a0653c3cf3.tar.bz2 |
x86: Expand Broadcast to 3 bits
Expand Broadcast to 3 bits so that the number of bytes to broadcast
can be computed as 1 << (Broadcast - 1). Use it to simplify x86
assembler.
gas/
* config/tc-i386.c (Broadcast_Operation): Add bytes.
(build_evex_prefix): Use i.broadcast->bytes.
(match_broadcast_size): New function.
(check_VecOperands): Use the broadcast field to compute the
number of bytes to broadcast directly. Set i.broadcast->bytes.
Use match_broadcast_size.
opcodes/
* i386-gen.c (adjust_broadcast_modifier): New function.
(process_i386_opcode_modifier): Add an argument for operands.
Adjust the Broadcast value based on operands.
(output_i386_opcode): Pass operand_types to
process_i386_opcode_modifier.
(process_i386_opcodes): Pass NULL as operands to
process_i386_opcode_modifier.
* i386-opc.h (BYTE_BROADCAST): New.
(WORD_BROADCAST): Likewise.
(DWORD_BROADCAST): Likewise.
(QWORD_BROADCAST): Likewise.
(i386_opcode_modifier): Expand broadcast to 3 bits.
* i386-tbl.h: Regenerated.
Diffstat (limited to 'gdb/infcmd.c')
0 files changed, 0 insertions, 0 deletions