aboutsummaryrefslogtreecommitdiff
path: root/libgcc/unwind-dw2.c
diff options
context:
space:
mode:
authorCupertino Miranda <cupertino.miranda@oracle.com>2024-07-11 15:28:09 +0100
committerCupertino Miranda <cupertino.miranda@oracle.com>2024-07-19 13:19:53 +0100
commit8fbc386c12385378b01a744c6764b5660d4b4310 (patch)
tree133e72d10cbe2a863f09fe98aa771f471fa3ae3c /libgcc/unwind-dw2.c
parentcea6473e48b4cfbf16f7b4a804f1562f8da8f25b (diff)
downloadgcc-master.zip
gcc-master.tar.gz
gcc-master.tar.bz2
bpf: create modifier for mem operand for xchg and cmpxchgHEADtrunkmaster
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 'libgcc/unwind-dw2.c')
0 files changed, 0 insertions, 0 deletions