diff options
author | Jose E. Marchesi <jose.marchesi@oracle.com> | 2023-07-24 02:54:06 +0200 |
---|---|---|
committer | Jose E. Marchesi <jose.marchesi@oracle.com> | 2023-07-24 02:54:06 +0200 |
commit | 5cbe549257b0aed1b615714e74bb6a3f066f3253 (patch) | |
tree | e68230c56c241d79ad0061a2589971a9b0d3ee2b /gas/doc | |
parent | a50ead7822bef29a45d6e660e23264d76545981b (diff) | |
download | gdb-5cbe549257b0aed1b615714e74bb6a3f066f3253.zip gdb-5cbe549257b0aed1b615714e74bb6a3f066f3253.tar.gz gdb-5cbe549257b0aed1b615714e74bb6a3f066f3253.tar.bz2 |
bpf: gas,include,opcode: add suppor for instructions BSWAP{16,32,64}
This patch adds support for the BPF V4 ISA byte swap instructions to
opcodes, assembler and disassembler.
Tested in bpf-unknown-none.
include/ChangeLog:
2023-07-24 Jose E. Marchesi <jose.marchesi@oracle.com>
* opcode/bpf.h (BPF_IMM32_BSWAP16): Define.
(BPF_IMM32_BSWAP32): Likewise.
(BPF_IMM32_BSWAP64): Likewise.
(enum bpf_insn_id): New entries BPF_INSN_BSWAP{16,32,64}.
opcodes/ChangeLog:
2023-07-24 Jose E. Marchesi <jose.marchesi@oracle.com>
* bpf-opc.c (bpf_opcodes): Add entries for the BSWAP*
instructions.
gas/ChangeLog:
2023-07-24 Jose E. Marchesi <jose.marchesi@oracle.com>
* doc/c-bpf.texi (BPF Instructions): Document BSWAP* instructions.
* testsuite/gas/bpf/alu.s: Test BSWAP{16,32,64} instructions.
* testsuite/gas/bpf/alu.d: Likewise.
* testsuite/gas/bpf/alu-be.d: Likewise.
* testsuite/gas/bpf/alu-pseudoc.s: Likewise.
* testsuite/gas/bpf/alu-pseudoc.d: Likewise.
* testsuite/gas/bpf/alu-be-pseudoc.d: Likewise.
Diffstat (limited to 'gas/doc')
-rw-r--r-- | gas/doc/c-bpf.texi | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gas/doc/c-bpf.texi b/gas/doc/c-bpf.texi index be29d8d..4cb1561 100644 --- a/gas/doc/c-bpf.texi +++ b/gas/doc/c-bpf.texi @@ -404,6 +404,26 @@ Convert the 16-bit, 32-bit or 64-bit value in @code{rd} to big-endian and store it back in @code{rd}. @end table +@subsection Byte swap instructions + +@table @code +@item bswap rd, 16 +@itemx rd = bswap16 rd +Swap the least-significant 16-bit word in @code{rd} with the +most-significant 16-bit word. + +@item bswap rd, 32 +@itemx rd = bswap32 rd +Swap the least-significant 32-bit word in @code{rd} with the +most-significant 32-bit word. + +@item bswap rd, 64 +@itemx rd = bswap64 rd +Swap the least-significant 64-bit word in @code{rd} with the +most-significant 64-bit word. +@end table + + @subsection 64-bit load and pseudo maps @table @code |