diff options
author | Cupertino Miranda <cupertino.miranda@oracle.com> | 2024-07-11 15:28:09 +0100 |
---|---|---|
committer | Cupertino Miranda <cupertino.miranda@oracle.com> | 2024-07-19 13:19:53 +0100 |
commit | 8fbc386c12385378b01a744c6764b5660d4b4310 (patch) | |
tree | 133e72d10cbe2a863f09fe98aa771f471fa3ae3c /boehm-gc/include/new_gc_alloc.h | |
parent | cea6473e48b4cfbf16f7b4a804f1562f8da8f25b (diff) | |
download | gcc-master.zip gcc-master.tar.gz gcc-master.tar.bz2 |
Both xchg and cmpxchg instructions, in the pseudo-C dialect, do not
expect their memory address operand to be surrounded by parentheses.
For example, it should be output as "w0 =cmpxchg32_32(r8+8,w0,w2)"
instead of "w0 =cmpxchg32_32((r8+8),w0,w2)".
This patch implements an operand modifier 'M' which marks the
instruction templates that do not expect the parentheses, and adds it do
xchg and cmpxchg templates.
gcc/ChangeLog:
* config/bpf/atomic.md (atomic_compare_and_swap,
atomic_exchange): Add operand modifier %M to the first
operand.
* config/bpf/bpf.cc (no_parentheses_mem_operand): Create
variable.
(bpf_print_operand): Set no_parentheses_mem_operand variable if
%M operand is used.
(bpf_print_operand_address): Conditionally output parentheses.
gcc/testsuite/ChangeLog:
* gcc.target/bpf/pseudoc-atomic-memaddr-op.c: Add test.
Diffstat (limited to 'boehm-gc/include/new_gc_alloc.h')
0 files changed, 0 insertions, 0 deletions